Categorygithub.com/multiformats/go-multicodec
modulepackage
0.9.0
Repository: https://github.com/multiformats/go-multicodec.git
Documentation: pkg.go.dev

# README

go-multicodec

standard-readme compliant

Generated Go constants for the multicodec table used by the multiformats projects.

Table of Contents

Install

go-multicodec is a standard Go module:

go get github.com/multiformats/go-multicodec

Type

Code describes an integer reserved in the multicodec table, defined at multiformats/multicodec/table.csv.

type Code uint64

Usage

Importing Code constant

package main

import "github.com/multiformats/go-multicodec"

func main() {
	code := multicodec.Sha2_256 // Code
	name := multicodec.Sha2_256.String()
}

The corresponding name value for each codec from the multicodecs table can be accessed via its String method. For example, multicodec.Sha2_256.String() will return sha2-256.

Code from string

var multicodec.Code code 
err := code.Set("libp2p-key")

Code from uint64

rawCode := multicodec.Code(0x55)

Generator

With old table.csv

To generate the constants yourself:

$ git clone https://github.com/multiformats/go-multicodec
$ cd go-multicodec
$ git submodule init && git submodule update
$ go generate

Note: You may need to install stringer via go install golang.org/x/tools/cmd/stringer.

With updated table.csv

To generate the constants for the latest table.csv:

$ git clone https://github.com/multiformats/go-multicodec
$ cd go-multicodec
$ git submodule init
$ git submodule update --remote # updates ./multicodec/table.csv to upstream version
$ go generate

Maintainers

@mvdan.

Contribute

Contributions welcome. Please check out the issues.

Check out our contributing document for more information on how we work, and about contributing in general. Please be aware that all interactions related to multiformats are subject to the IPFS Code of Conduct.

Small note: If editing the README, please conform to the standard-readme specification.

License

SPDX-License-Identifier: Apache-2.0 OR MIT

# Functions

KnownCodes returns a list of all codes registered in the multicodec table.

# Constants

aes-128.
aes-192.
aes-256.
aes-gcm-256.
arweave-ns.
beeson.
bencode.
bitcoin-block.
bitcoin-tx.
bitcoin-witness-commitment.
blake2b-104.
blake2b-112.
blake2b-120.
blake2b-128.
blake2b-136.
blake2b-144.
blake2b-152.
blake2b-16.
blake2b-160.
blake2b-168.
blake2b-176.
blake2b-184.
blake2b-192.
blake2b-200.
blake2b-208.
blake2b-216.
blake2b-224.
blake2b-232.
blake2b-24.
blake2b-240.
blake2b-248.
blake2b-256.
blake2b-264.
blake2b-272.
blake2b-280.
blake2b-288.
blake2b-296.
blake2b-304.
blake2b-312.
blake2b-32.
blake2b-320.
blake2b-328.
blake2b-336.
blake2b-344.
blake2b-352.
blake2b-360.
blake2b-368.
blake2b-376.
blake2b-384.
blake2b-392.
blake2b-40.
blake2b-400.
blake2b-408.
blake2b-416.
blake2b-424.
blake2b-432.
blake2b-440.
blake2b-448.
blake2b-456.
blake2b-464.
blake2b-472.
blake2b-48.
blake2b-480.
blake2b-488.
blake2b-496.
blake2b-504.
blake2b-512.
blake2b-56.
blake2b-64.
blake2b-72.
blake2b-8.
blake2b-80.
blake2b-88.
blake2b-96.
blake2s-104.
blake2s-112.
blake2s-120.
blake2s-128.
blake2s-136.
blake2s-144.
blake2s-152.
blake2s-16.
blake2s-160.
blake2s-168.
blake2s-176.
blake2s-184.
blake2s-192.
blake2s-200.
blake2s-208.
blake2s-216.
blake2s-224.
blake2s-232.
blake2s-24.
blake2s-240.
blake2s-248.
blake2s-256.
blake2s-32.
blake2s-40.
blake2s-48.
blake2s-56.
blake2s-64.
blake2s-72.
blake2s-8.
blake2s-80.
blake2s-88.
blake2s-96.
blake3.
bls12_381-g1g2-pub.
bls12_381-g1-pub.
bls12_381-g2-pub.
bls-12381-g1-sig.
bls-12381-g2-sig.
caip-50.
car.
car-index-sorted.
car-multihash-index-sorted.
cbor.
certhash.
chacha-128.
chacha-256.
cidv1.
cidv2.
cidv3.
crc32.
crc64-ecma.
dag-cbor.
dag-cose.
dag-jose.
dag-json.
dag-pb.
dash-block.
dash-tx.
dbl-sha2-256.
dccp.
decred-block.
decred-tx.
dns.
dns4.
dns6.
dnsaddr.
dnslink.
ed25519-priv.
ed25519-pub.
ed448-pub.
eddsa.
eip-191.
es256.
es256k.
es284.
es512.
eth-account-snapshot.
eth-block.
eth-block-list.
eth-receipt-log-trie.
eth-reciept-log.
eth-state-trie.
eth-storage-trie.
eth-tx.
eth-tx-receipt.
eth-tx-receipt-trie.
eth-tx-trie.
fil-commitment-sealed.
fil-commitment-unsealed.
garlic32.
garlic64.
git-raw.
holochain-adr-v0.
holochain-adr-v1.
holochain-key-v0.
holochain-key-v1.
holochain-sig-v0.
holochain-sig-v1.
http.
https.
identity.
ip4.
ip6.
ip6zone.
ipcidr.
ipfs.
ipld.
ipns.
ipns-record.
iscc.
json.
json-jcs.
jwk_jcs-pub.
kangarootwelve.
keccak-224.
keccak-256.
keccak-384.
keccak-512.
kumandra-ns.
leofcoin-block.
leofcoin-pr.
leofcoin-tx.
libp2p-key.
libp2p-peer-record.
libp2p-relay-rsvp.
md4.
md5.
memorytransport.
messagepack.
multiaddr.
multibase.
multicodec.
multidid.
multihash.
murmur3-32.
murmur3-x64-128.
murmur3-x64-64.
noise.
onion.
onion3.
p256-priv.
p256-pub.
p2p.
p2p-circuit.
p2p-stardust.
p2p-webrtc-direct.
p2p-webrtc-star.
p2p-websocket-star.
p384-priv.
p384-pub.
p521-priv.
p521-pub.
path.
plaintextv2.
poseidon-bls12_381-a2-fc1.
poseidon-bls12_381-a2-fc1-sc.
protobuf.
quic.
quic-v1.
raw.
ReservedEnd is the (inclusive) end of the reserved range of codes that are safe to use for internal purposes.
ReservedStart is the (inclusive) start of the reserved range of codes that are safe to use for internal purposes.
ripemd-128.
ripemd-160.
ripemd-256.
ripemd-320.
rlp.
rs256.
rsa-priv.
rsa-pub.
sctp.
secp256k1-priv.
secp256k1-pub.
sha1.
sha2-224.
sha2-256.
sha2-256-trunc254-padded.
sha2-384.
sha2-512.
sha2-512-224.
sha2-512-256.
sha3-224.
sha3-256.
sha3-384.
sha3-512.
shake-128.
shake-256.
silverpine.
skein1024-1000.
skein1024-1008.
skein1024-1016.
skein1024-1024.
skein1024-104.
skein1024-112.
skein1024-120.
skein1024-128.
skein1024-136.
skein1024-144.
skein1024-152.
skein1024-16.
skein1024-160.
skein1024-168.
skein1024-176.
skein1024-184.
skein1024-192.
skein1024-200.
skein1024-208.
skein1024-216.
skein1024-224.
skein1024-232.
skein1024-24.
skein1024-240.
skein1024-248.
skein1024-256.
skein1024-264.
skein1024-272.
skein1024-280.
skein1024-288.
skein1024-296.
skein1024-304.
skein1024-312.
skein1024-32.
skein1024-320.
skein1024-328.
skein1024-336.
skein1024-344.
skein1024-352.
skein1024-360.
skein1024-368.
skein1024-376.
skein1024-384.
skein1024-392.
skein1024-40.
skein1024-400.
skein1024-408.
skein1024-416.
skein1024-424.
skein1024-432.
skein1024-440.
skein1024-448.
skein1024-456.
skein1024-464.
skein1024-472.
skein1024-48.
skein1024-480.
skein1024-488.
skein1024-496.
skein1024-504.
skein1024-512.
skein1024-520.
skein1024-528.
skein1024-536.
skein1024-544.
skein1024-552.
skein1024-56.
skein1024-560.
skein1024-568.
skein1024-576.
skein1024-584.
skein1024-592.
skein1024-600.
skein1024-608.
skein1024-616.
skein1024-624.
skein1024-632.
skein1024-64.
skein1024-640.
skein1024-648.
skein1024-656.
skein1024-664.
skein1024-672.
skein1024-680.
skein1024-688.
skein1024-696.
skein1024-704.
skein1024-712.
skein1024-72.
skein1024-720.
skein1024-728.
skein1024-736.
skein1024-744.
skein1024-752.
skein1024-760.
skein1024-768.
skein1024-776.
skein1024-784.
skein1024-792.
skein1024-8.
skein1024-80.
skein1024-800.
skein1024-808.
skein1024-816.
skein1024-824.
skein1024-832.
skein1024-840.
skein1024-848.
skein1024-856.
skein1024-864.
skein1024-872.
skein1024-88.
skein1024-880.
skein1024-888.
skein1024-896.
skein1024-904.
skein1024-912.
skein1024-920.
skein1024-928.
skein1024-936.
skein1024-944.
skein1024-952.
skein1024-96.
skein1024-960.
skein1024-968.
skein1024-976.
skein1024-984.
skein1024-992.
skein256-104.
skein256-112.
skein256-120.
skein256-128.
skein256-136.
skein256-144.
skein256-152.
skein256-16.
skein256-160.
skein256-168.
skein256-176.
skein256-184.
skein256-192.
skein256-200.
skein256-208.
skein256-216.
skein256-224.
skein256-232.
skein256-24.
skein256-240.
skein256-248.
skein256-256.
skein256-32.
skein256-40.
skein256-48.
skein256-56.
skein256-64.
skein256-72.
skein256-8.
skein256-80.
skein256-88.
skein256-96.
skein512-104.
skein512-112.
skein512-120.
skein512-128.
skein512-136.
skein512-144.
skein512-152.
skein512-16.
skein512-160.
skein512-168.
skein512-176.
skein512-184.
skein512-192.
skein512-200.
skein512-208.
skein512-216.
skein512-224.
skein512-232.
skein512-24.
skein512-240.
skein512-248.
skein512-256.
skein512-264.
skein512-272.
skein512-280.
skein512-288.
skein512-296.
skein512-304.
skein512-312.
skein512-32.
skein512-320.
skein512-328.
skein512-336.
skein512-344.
skein512-352.
skein512-360.
skein512-368.
skein512-376.
skein512-384.
skein512-392.
skein512-40.
skein512-400.
skein512-408.
skein512-416.
skein512-424.
skein512-432.
skein512-440.
skein512-448.
skein512-456.
skein512-464.
skein512-472.
skein512-48.
skein512-480.
skein512-488.
skein512-496.
skein512-504.
skein512-512.
skein512-56.
skein512-64.
skein512-72.
skein512-8.
skein512-80.
skein512-88.
skein512-96.
skynet-ns.
sm2-pub.
sm3-256.
sni.
sr25519-priv.
sr25519-pub.
ssz.
ssz-sha2-256-bmt.
stellar-block.
stellar-tx.
streamid.
subspace-ns.
swarm.
swarm-feed.
swarm-manifest.
swhid-1-snp.
tcp.
thread.
tls.
torrent-file.
torrent-info.
transport-bitswap.
transport-graphsync-filecoinv1.
transport-ipfs-gateway-http.
udp.
udt.
unix.
urdca-2015-canon.
utp.
varsig.
webrtc.
webrtc-direct.
webtransport.
ws.
wss.
x11.
x25519-priv.
x25519-pub.
x448-pub.
xxh3-128.
xxh3-64.
xxh-32.
xxh-64.
zcash-block.
zcash-tx.
zeronet.
zeroxcert-imprint-256.

# Type aliases

Code describes an integer reserved in the multicodec table, defined at github.com/multiformats/multicodec.