_rsrch/cidiface is an engineering experiment package to explore the right form for a CID. As such, it's not meant to be actually used, and could result in conflict if used. To avoid accidentally importing it (or even getting suggestions to do so), this package is moved into an "internal" folder, hinting tooling that it's not meant for external consumption.
80 lines
2.3 KiB
Go
80 lines
2.3 KiB
Go
package cid
|
|
|
|
// These are multicodec-packed content types. The should match
|
|
// the codes described in the authoritative document:
|
|
// https://github.com/multiformats/multicodec/blob/master/table.csv
|
|
const (
|
|
Raw = 0x55
|
|
|
|
DagProtobuf = 0x70
|
|
DagCBOR = 0x71
|
|
Libp2pKey = 0x72
|
|
|
|
GitRaw = 0x78
|
|
|
|
EthBlock = 0x90
|
|
EthBlockList = 0x91
|
|
EthTxTrie = 0x92
|
|
EthTx = 0x93
|
|
EthTxReceiptTrie = 0x94
|
|
EthTxReceipt = 0x95
|
|
EthStateTrie = 0x96
|
|
EthAccountSnapshot = 0x97
|
|
EthStorageTrie = 0x98
|
|
BitcoinBlock = 0xb0
|
|
BitcoinTx = 0xb1
|
|
ZcashBlock = 0xc0
|
|
ZcashTx = 0xc1
|
|
DecredBlock = 0xe0
|
|
DecredTx = 0xe1
|
|
)
|
|
|
|
// Codecs maps the name of a codec to its type
|
|
var Codecs = map[string]uint64{
|
|
"v0": DagProtobuf,
|
|
"raw": Raw,
|
|
"protobuf": DagProtobuf,
|
|
"cbor": DagCBOR,
|
|
"libp2p-key": Libp2pKey,
|
|
"git-raw": GitRaw,
|
|
"eth-block": EthBlock,
|
|
"eth-block-list": EthBlockList,
|
|
"eth-tx-trie": EthTxTrie,
|
|
"eth-tx": EthTx,
|
|
"eth-tx-receipt-trie": EthTxReceiptTrie,
|
|
"eth-tx-receipt": EthTxReceipt,
|
|
"eth-state-trie": EthStateTrie,
|
|
"eth-account-snapshot": EthAccountSnapshot,
|
|
"eth-storage-trie": EthStorageTrie,
|
|
"bitcoin-block": BitcoinBlock,
|
|
"bitcoin-tx": BitcoinTx,
|
|
"zcash-block": ZcashBlock,
|
|
"zcash-tx": ZcashTx,
|
|
"decred-block": DecredBlock,
|
|
"decred-tx": DecredTx,
|
|
}
|
|
|
|
// CodecToStr maps the numeric codec to its name
|
|
var CodecToStr = map[uint64]string{
|
|
Raw: "raw",
|
|
DagProtobuf: "protobuf",
|
|
DagCBOR: "cbor",
|
|
Libp2pKey: "libp2p-key",
|
|
GitRaw: "git-raw",
|
|
EthBlock: "eth-block",
|
|
EthBlockList: "eth-block-list",
|
|
EthTxTrie: "eth-tx-trie",
|
|
EthTx: "eth-tx",
|
|
EthTxReceiptTrie: "eth-tx-receipt-trie",
|
|
EthTxReceipt: "eth-tx-receipt",
|
|
EthStateTrie: "eth-state-trie",
|
|
EthAccountSnapshot: "eth-account-snapshot",
|
|
EthStorageTrie: "eth-storage-trie",
|
|
BitcoinBlock: "bitcoin-block",
|
|
BitcoinTx: "bitcoin-tx",
|
|
ZcashBlock: "zcash-block",
|
|
ZcashTx: "zcash-tx",
|
|
DecredBlock: "decred-block",
|
|
DecredTx: "decred-tx",
|
|
}
|