Documentation ¶
Overview ¶
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
Index ¶
- Constants
- Variables
- func InitializeKeyspace(ctx context.Context, pub Publisher, pins pin.Pinner, key ci.PrivKey) error
- func IpnsDsKey(id peer.ID) ds.Key
- func PkKeyForID(id peer.ID) string
- func PublishEntry(ctx context.Context, r routing.ValueStore, ipnskey string, rec *pb.IpnsEntry) error
- func PublishPublicKey(ctx context.Context, r routing.ValueStore, k string, pubk ci.PubKey) error
- func PutRecordToRouting(ctx context.Context, r routing.ValueStore, k ci.PubKey, entry *pb.IpnsEntry) error
- type DNSResolver
- type IpnsPublisher
- func (p *IpnsPublisher) GetPublished(ctx context.Context, id peer.ID, checkRouting bool) (*pb.IpnsEntry, error)
- func (p *IpnsPublisher) ListPublished(ctx context.Context) (map[peer.ID]*pb.IpnsEntry, error)
- func (p *IpnsPublisher) Publish(ctx context.Context, k ci.PrivKey, value path.Path) error
- func (p *IpnsPublisher) PublishWithEOL(ctx context.Context, k ci.PrivKey, value path.Path, eol time.Time) error
- type IpnsResolver
- type LookupTXTFunc
- type NameSystem
- type ProquintResolver
- type Publisher
- type Resolver
- type Result
Constants ¶
const DefaultRecordTTL = 24 * time.Hour
const DefaultResolverCacheTTL = time.Minute
const PublishPutValTimeout = time.Minute
Variables ¶
var ErrPublishFailed = errors.New("could not publish name")
errpublishfailed在尝试发布时发出错误信号。
var ErrResolveFailed = errors.New("could not resolve name")
errResolveFailed在尝试解决时发出错误信号。
var ErrResolveRecursion = errors.New(
"could not resolve name (recursion limit exceeded)")
errResolverExecution发出递归深度限制信号。
Functions ¶
func InitializeKeyspace ¶
InitializeKeyspace将给定密钥的IPN记录设置为 指向空目录。 托多:这感觉不属于这里
func PublishEntry ¶
func PublishPublicKey ¶
Types ¶
type DNSResolver ¶
type DNSResolver struct {
// contains filtered or unexported fields
}
dns resolver在DNS域上实现解析程序
func (*DNSResolver) Resolve ¶
func (r *DNSResolver) Resolve(ctx context.Context, name string, options ...opts.ResolveOpt) (path.Path, error)
解析实现解析程序。
func (*DNSResolver) ResolveAsync ¶
func (r *DNSResolver) ResolveAsync(ctx context.Context, name string, options ...opts.ResolveOpt) <-chan Result
resolveasync实现resolver。
type IpnsPublisher ¶
type IpnsPublisher struct {
// contains filtered or unexported fields
}
ipnsPublisher能够向ipfs发布和解析名称。 路由系统。
func NewIpnsPublisher ¶
func NewIpnsPublisher(route routing.ValueStore, ds ds.Datastore) *IpnsPublisher
newipnspublisher为ipfs路由名称系统构造发布服务器。
func (*IpnsPublisher) GetPublished ¶
func (p *IpnsPublisher) GetPublished(ctx context.Context, id peer.ID, checkRouting bool) (*pb.IpnsEntry, error)
GetPublished返回此节点发布的与 给定对等体ID.
如果“checkrouting”为真并且我们没有现有记录,则此方法将 检查路由系统是否有任何现有记录。
func (*IpnsPublisher) ListPublished ¶
publishedNames返回此节点发布的最新IPN记录,以及 它们的过期时间。
此方法不会在路由系统中搜索其他人发布的记录 节点。
func (*IpnsPublisher) PublishWithEOL ¶
func (p *IpnsPublisher) PublishWithEOL(ctx context.Context, k ci.PrivKey, value path.Path, eol time.Time) error
publishwitheol是IPN记录实现的临时代理 有关详细信息,请参阅此处:https://github.com/ipfs/specs/tree/master/records
type IpnsResolver ¶
type IpnsResolver struct {
// contains filtered or unexported fields
}
ipsresolver为主要的ipfs sfs(如命名)实现nsresolver
func NewIpnsResolver ¶
func NewIpnsResolver(route routing.ValueStore) *IpnsResolver
newipsresolver使用ipfs路由系统构造名称解析程序 在顶部实现类似于命名的SFS。
func (*IpnsResolver) Resolve ¶
func (r *IpnsResolver) Resolve(ctx context.Context, name string, options ...opts.ResolveOpt) (path.Path, error)
解析实现解析程序。
func (*IpnsResolver) ResolveAsync ¶
func (r *IpnsResolver) ResolveAsync(ctx context.Context, name string, options ...opts.ResolveOpt) <-chan Result
resolveasync实现resolver。
type LookupTXTFunc ¶
type NameSystem ¶
namesys表示一个内聚的名称发布和解析系统。
发布名称是建立映射、键值的过程 根据命名规则和数据库配对。
解析名称是查找与 密钥(名称)。
func NewNameSystem ¶
func NewNameSystem(r routing.ValueStore, ds ds.Datastore, cachesize int) NameSystem
NewNameSystem将基于路由构建IPFS命名系统
type ProquintResolver ¶
type ProquintResolver struct{}
type Publisher ¶
type Publisher interface { //发布建立名称值映射。 //要使其不特定于私钥。 Publish(ctx context.Context, name ci.PrivKey, value path.Path) error //TODO:将被更通用的“publishewithvalidity”类型替换 //实现记录规范后调用 PublishWithEOL(ctx context.Context, name ci.PrivKey, value path.Path, eol time.Time) error }
Publisher是一个能够发布特定名称的对象。
type Resolver ¶
type Resolver interface { //解析执行递归查找,返回未引用的 //路径。例如,如果ipfs.io有一个指向 ///ipns/qmatme9mssfkxofffphwnlkgwzg8et9bud6yopab52vpy //还有一个DHT IPN条目 //qmatme9mssfkxofffphwnlkgwzg8et9bud6yopab52vpy //->/ipfs/qmcqtw8ffrvsbarmbwwhxt3auysbhjlcvmfyi3lbc4xnwj //然后 //解析(ctx,“/ipns/ipfs.io”) //将解析两个名称,返回 ///ipfs/qmcqtw8ffrvsbarmbwwhxt3auysbhjlcvmfyi3lbc4xnwj // //有一个默认的深度限制来避免无限递归。大多数 //用户可以使用此默认限制,但如果需要 //调整可以指定为选项的限制。 Resolve(ctx context.Context, name string, options ...opts.ResolveOpt) (value path.Path, err error) //resolveasync执行递归名称查找,如resolve,但它返回 //在DHT中发现的条目。保证每次返回结果 //比前一个更好(通常意味着更新)。 ResolveAsync(ctx context.Context, name string, options ...opts.ResolveOpt) <-chan Result }
解析器是一个能够解析名称的对象。
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
|
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 |
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
|
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 |