diff --git a/docs/celestia-architecture/adr-001-block-propagation.md b/docs/celestia-architecture/adr-001-block-propagation.md index 6f015be391..861f7738e4 100644 --- a/docs/celestia-architecture/adr-001-block-propagation.md +++ b/docs/celestia-architecture/adr-001-block-propagation.md @@ -20,7 +20,7 @@ The proposed design is as follows. The proposal and vote types have a BlockID, this will be replaced with a header hash. The proposal will contain add fields. -The current proposal will be updated to include required fields. The entirety of the message will be reworked at a later date. To see the extent of the needed changes you can visit the [spec repo](https://github.com/celestiaorg/celestia-specs/blob/master/specs/proto/consensus.proto#L19) +The current proposal will be updated to include required fields. The entirety of the message will be reworked at a later date. To see the extent of the needed changes you can visit the [spec repo](https://github.com/celestiaorg/celestia-specs/blob/master/src/specs/proto/consensus.proto#L19) ```proto message Proposal { @@ -67,7 +67,7 @@ message Vote { } ``` -See [specs](https://github.com/celestiaorg/celestia-specs/blob/master/specs/data_structures.md#vote) for more details on the vote. +See [specs](https://github.com/celestiaorg/celestia-specs/blob/master/src/specs/data_structures.md#vote) for more details on the vote. ### Disk Storage diff --git a/docs/celestia-architecture/adr-002-ipld-da-sampling.md b/docs/celestia-architecture/adr-002-ipld-da-sampling.md index 10a642f619..4ed52de9da 100644 --- a/docs/celestia-architecture/adr-002-ipld-da-sampling.md +++ b/docs/celestia-architecture/adr-002-ipld-da-sampling.md @@ -17,7 +17,7 @@ A high-level, implementation-independent formalization of above mentioned sampli [_Fraud and Data Availability Proofs: Detecting Invalid Blocks in Light Clients_](https://fc21.ifca.ai/papers/83.pdf). For the time being, besides the academic paper, no other formalization or specification of the protocol exists. -Currently, the Celestia specification itself only describes the [erasure coding](https://github.com/celestiaorg/celestia-specs/blob/master/specs/data_structures.md#erasure-coding) +Currently, the Celestia specification itself only describes the [erasure coding](https://github.com/celestiaorg/celestia-specs/blob/master/src/specs/data_structures.md#erasure-coding) and how to construct the extended data square from the block data. This ADR: @@ -263,7 +263,7 @@ Proposed [celestia-specs#126]: https://github.com/celestiaorg/celestia-specs/issues/126 [celestia-specs#127]: https://github.com/celestiaorg/celestia-specs/pulls/127 -[Header]: https://github.com/celestiaorg/celestia-specs/blob/master/specs/data_structures.md#header +[Header]: https://github.com/celestiaorg/celestia-specs/blob/master/src/specs/data_structures.md#header [go-ipfs documentation]: https://github.com/ipfs/go-ipfs/tree/master/docs/examples/go-ipfs-as-a-library#use-go-ipfs-as-a-library-to-spawn-a-node-and-add-a-file [ipld experiments]: https://github.com/celestia/ipld-plugin-experiments diff --git a/docs/celestia-architecture/adr-003-application-data-retrieval.md b/docs/celestia-architecture/adr-003-application-data-retrieval.md index fdefa51cb8..1f2dc9b052 100644 --- a/docs/celestia-architecture/adr-003-application-data-retrieval.md +++ b/docs/celestia-architecture/adr-003-application-data-retrieval.md @@ -7,7 +7,7 @@ ## Context This ADR builds on top of [ADR 002](adr-002-ipld-da-sampling.md) and will use the implemented APIs described there. -The reader should familiarize themselves at least with the high-level concepts the as well as in the [specs](https://github.com/celestiaorg/celestia-specs/blob/master/specs/data_structures.md#2d-reed-solomon-encoding-scheme). +The reader should familiarize themselves at least with the high-level concepts the as well as in the [specs](https://github.com/celestiaorg/celestia-specs/blob/master/src/specs/data_structures.md#2d-reed-solomon-encoding-scheme). The academic [paper](https://arxiv.org/abs/1905.09274) describes the motivation and context for this API. The main motivation can be quoted from section 3.3 of that paper: @@ -29,7 +29,7 @@ An implementation can be found in [this repository](https://github.com/celestiao This ADR basically describes version of the [`GetWithProof`](https://github.com/celestiaorg/nmt/blob/ddcc72040149c115f83b2199eafabf3127ae12ac/nmt.go#L193-L196) of the NMT that leverages the fact that IPFS uses content addressing and that we have implemented an [IPLD plugin](https://github.com/celestiaorg/celestia-core/tree/37502aac69d755c189df37642b87327772f4ac2a/p2p/ipld) for an NMT. **Note**: The APIs defined here will be particularly relevant for Optimistic Rollup (full) nodes that want to download their Rollup's data (see [celestiaorg/optimint#48](https://github.com/celestiaorg/optimint/issues/48)). -Another potential use-case of this API could be for so-called [light validator nodes](https://github.com/celestiaorg/celestia-specs/blob/master/specs/node_types.md#node-type-definitions) that want to download and replay the state-relevant portion of the block data, i.e. transactions with [reserved namespace IDs](https://github.com/celestiaorg/celestia-specs/blob/master/specs/consensus.md#reserved-namespace-ids). +Another potential use-case of this API could be for so-called [light validator nodes](https://github.com/celestiaorg/celestia-specs/blob/master/src/specs/node_types.md#node-type-definitions) that want to download and replay the state-relevant portion of the block data, i.e. transactions with [reserved namespace IDs](https://github.com/celestiaorg/celestia-specs/blob/master/src/specs/consensus.md#reserved-namespace-ids). ## Alternative Approaches diff --git a/pkg/consts/consts.go b/pkg/consts/consts.go index 165664f31a..278f093697 100644 --- a/pkg/consts/consts.go +++ b/pkg/consts/consts.go @@ -8,10 +8,10 @@ import ( ) // This contains all constants of: -// https://github.com/celestiaorg/celestia-specs/blob/master/specs/consensus.md#constants +// https://github.com/celestiaorg/celestia-specs/blob/master/src/specs/consensus.md#constants const ( // ShareSize is the size of a share (in bytes). - // see: https://github.com/celestiaorg/celestia-specs/blob/master/specs/consensus.md#constants + // see: https://github.com/celestiaorg/celestia-specs/blob/master/src/specs/consensus.md#constants ShareSize = 256 // NamespaceSize is the namespace size in bytes. @@ -45,7 +45,7 @@ const ( var ( // See spec for further details on the types of available data - // https://github.com/celestiaorg/celestia-specs/blob/master/specs/consensus.md#reserved-namespace-ids + // https://github.com/celestiaorg/celestia-specs/blob/master/src/specs/consensus.md#reserved-namespace-ids // https://github.com/celestiaorg/celestia-specs/blob/de5f4f74f56922e9fa735ef79d9e6e6492a2bad1/specs/data_structures.md#availabledata // TxNamespaceID is the namespace reserved for transaction data @@ -60,7 +60,7 @@ var ( // MaxReservedNamespace is the lexicographically largest namespace that is // reserved for protocol use. It is derived from NAMESPACE_ID_MAX_RESERVED - // https://github.com/celestiaorg/celestia-specs/blob/master/specs/consensus.md#constants + // https://github.com/celestiaorg/celestia-specs/blob/master/src/specs/consensus.md#constants MaxReservedNamespace = namespace.ID{0, 0, 0, 0, 0, 0, 0, 255} // TailPaddingNamespaceID is the namespace ID for tail padding. All data // with this namespace will be ignored diff --git a/pkg/da/data_availability_header.go b/pkg/da/data_availability_header.go index 714d634c99..e8955d37b2 100644 --- a/pkg/da/data_availability_header.go +++ b/pkg/da/data_availability_header.go @@ -25,7 +25,7 @@ const ( // 2k × 2k matrix applying multiple times Reed-Solomon encoding. // For details see Section 5.2: https://arxiv.org/abs/1809.09044 // or the Celestia specification: -// https://github.com/celestiaorg/celestia-specs/blob/master/specs/data_structures.md#availabledataheader +// https://github.com/celestiaorg/celestia-specs/blob/master/src/specs/data_structures.md#availabledataheader // Note that currently we list row and column roots in separate fields // (different from the spec). type DataAvailabilityHeader struct { diff --git a/proto/tendermint/da/data_availability_header.pb.go b/proto/tendermint/da/data_availability_header.pb.go index 875dbbc734..568b323d19 100644 --- a/proto/tendermint/da/data_availability_header.pb.go +++ b/proto/tendermint/da/data_availability_header.pb.go @@ -29,7 +29,7 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // 2k × 2k matrix applying multiple times Reed-Solomon encoding. // For details see Section 5.2: https://arxiv.org/abs/1809.09044 // or the Celestia specification: -// https://github.com/celestiaorg/celestia-specs/blob/master/specs/data_structures.md#availabledataheader +// https://github.com/celestiaorg/celestia-specs/blob/master/src/specs/data_structures.md#availabledataheader // Note that currently we list row and column roots in separate fields // (different from the spec). type DataAvailabilityHeader struct { diff --git a/proto/tendermint/da/data_availability_header.proto b/proto/tendermint/da/data_availability_header.proto index 3e82c6084b..885c9de594 100644 --- a/proto/tendermint/da/data_availability_header.proto +++ b/proto/tendermint/da/data_availability_header.proto @@ -10,7 +10,7 @@ option go_package = "github.com/tendermint/tendermint/proto/tendermint/da"; // 2k × 2k matrix applying multiple times Reed-Solomon encoding. // For details see Section 5.2: https://arxiv.org/abs/1809.09044 // or the Celestia specification: -// https://github.com/celestiaorg/celestia-specs/blob/master/specs/data_structures.md#availabledataheader +// https://github.com/celestiaorg/celestia-specs/blob/master/src/specs/data_structures.md#availabledataheader // Note that currently we list row and column roots in separate fields // (different from the spec). message DataAvailabilityHeader { @@ -18,4 +18,4 @@ message DataAvailabilityHeader { repeated bytes row_roots = 1; // ColumnRoot_j = root((M_{1,j} || M_{2,j} || ... || M_{2k,j} )) repeated bytes column_roots = 2; -} \ No newline at end of file +}