go-namesys provides publish and resolution support for the /ipns/ namespace
👉 We highly recommend switching to the maintained version at https://github.com/ipfs/boxo/tree/main/namesys. 🏎️ Good news! There is tooling and documentation to expedite a switch in your repo.
📚 Learn more, including how to take the maintainership mantle or ask questions, here.
Package namesys defines Resolver
and Publisher
interfaces for IPNS paths, that is, paths in the form of /ipns/<name_to_be_resolved>
. A "resolved" IPNS path becomes an /ipfs/<cid>
path.
Traditionally, these paths would be in the form of /ipns/{libp2p-key}
, which references an IPNS record in a distributed ValueStore
(usually the IPFS DHT).
Additionally, the /ipns/
namespace can also be used with domain names that use DNSLink (/ipns/en.wikipedia-on-ipfs.org
, see https://docs.ipfs.io/concepts/dnslink/).
The package provides implementations for all three resolvers.
go-namesys
works like a regular Go module:
> go get github.com/ipfs/go-namesys
import "github.com/ipfs/go-namesys"
See the Pkg.go.dev documentation
This project is dual-licensed under Apache 2.0 and MIT terms:
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)