package
0.0.2
Repository: https://github.com/dep2p/go-dep2p.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# Functions

ConsumeEnvelope 反序列化序列化的信封并使用提供的"域"字符串验证其签名 如果验证失败,将返回错误以及反序列化的信封,以便可以检查它 参数: - data: []byte 序列化的信封数据 - domain: string 用于验证签名的域字符串 返回值: - *Envelope: 反序列化的信封 - Record: 解析为具体记录类型的内部负载 - error: 如果发生错误,返回错误信息.
ConsumeTypedEnvelope 反序列化序列化的信封并验证其签名 参数: - data: []byte 序列化的信封数据 - destRecord: Record 目标记录实例,用于反序列化信封负载 返回值: - *Envelope: 反序列化的信封 - error: 如果发生错误,返回错误信息.
RegisterType 将二进制负载类型标识符与具体的 Record 类型关联。 这用于在使用 ConsumeEnvelope 时自动解组来自信封的 Record 负载, 并在调用 Seal 时自动编组 Records 并确定正确的 PayloadType。 调用者必须提供要注册的记录类型的实例,该实例必须是指针类型。 注册应在定义 Record 类型的包的 init 函数中完成: package hello_record import record "github.com/dep2p/go-dep2p/core/record" func init() { record.RegisterType(&HelloRecord{}) } type HelloRecord struct { } // 等等..
Seal 将给定的 Record 编组,将编组的字节放入信封中,并使用给定的私钥签名 参数: - rec: Record 要封装的记录 - privateKey: crypto.PrivKey 用于签名的私钥 返回值: - *Envelope: 封装并签名后的信封 - error: 如果发生错误,返回错误信息.
UnmarshalEnvelope 反序列化序列化的信封 protobuf 消息,而不验证其内容 参数: - data: []byte 序列化的信封数据 返回值: - *Envelope: 反序列化的信封 - error: 如果发生错误,返回错误信息.

# Variables

ErrEmptyDomain 表示信封域不能为空的错误.
ErrEmptyPayloadType 表示负载类型不能为空的错误.
ErrInvalidSignature 表示签名无效或域不正确的错误.
ErrPayloadTypeNotRegistered 当信封的 PayloadType 与任何已注册的 Record 类型不匹配时,从 ConsumeEnvelope 返回此错误.

# Structs

Envelope 包含一个任意的 []byte 负载,由 dep2p 节点签名 信封在特定的"域"上下文中签名,这是在创建和验证信封时指定的字符串 必须知道用于生成信封的域字符串才能验证签名并访问负载.

# Interfaces

Record 表示可以用作信封负载的数据类型。 Record 接口定义了用于将 Record 类型编组和解组为字节切片的方法。 Record 类型可以使用 RegisterType 函数"注册"为给定信封的默认类型。 PayloadType。一旦 Record 类型被注册,当使用 ConsumeEnvelope 函数打开信封时, 将创建该类型的实例并用于解组具有已注册 PayloadType 的任何信封的负载。 要使用未注册的 Record 类型,请使用 ConsumeTypedEnvelope 并传入您希望将信封的负载解组到的 Record 类型实例。.