Awesome
go-multicodec
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
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