Documentation ¶
Index ¶
- Constants
- Variables
- func BloomFilterMatch(filter, sample []byte) bool
- func BytesToUintBigEndian(b []byte) (res uint64)
- func GenerateRandomID() (id string, err error)
- func IsPubKeyEqual(a, b *ecdsa.PublicKey) bool
- func MakeFullNodeBloom() []byte
- func NewSentMessage(params *MessageParams) (*sentMessage, error)
- func TopicToBloom(topic TopicType) []byte
- func ValidatePublicKey(k *ecdsa.PublicKey) bool
- type Config
- type Criteria
- type Envelope
- func (e *Envelope) Bloom() []byte
- func (e *Envelope) DecodeRLP(s *rlp.Stream) error
- func (e *Envelope) Hash() common.Hash
- func (e *Envelope) Open(watcher *Filter) (msg *ReceivedMessage)
- func (e *Envelope) OpenAsymmetric(key *ecdsa.PrivateKey) (*ReceivedMessage, error)
- func (e *Envelope) OpenSymmetric(key []byte) (msg *ReceivedMessage, err error)
- func (e *Envelope) PoW() float64
- func (e *Envelope) Seal(options *MessageParams) error
- type Filter
- type Filters
- type Info
- type MailServer
- type Message
- type MessageParams
- type NewMessage
- type Peer
- type PublicWhisperAPI
- func (api *PublicWhisperAPI) AddPrivateKey(ctx context.Context, privateKey hexutil.Bytes) (string, error)
- func (api *PublicWhisperAPI) AddSymKey(ctx context.Context, key hexutil.Bytes) (string, error)
- func (api *PublicWhisperAPI) CancelLightClient(ctx context.Context) bool
- func (api *PublicWhisperAPI) DeleteKeyPair(ctx context.Context, key string) (bool, error)
- func (api *PublicWhisperAPI) DeleteMessageFilter(id string) (bool, error)
- func (api *PublicWhisperAPI) DeleteSymKey(ctx context.Context, id string) bool
- func (api *PublicWhisperAPI) GenerateSymKeyFromPassword(ctx context.Context, passwd string) (string, error)
- func (api *PublicWhisperAPI) GetFilterMessages(id string) ([]*Message, error)
- func (api *PublicWhisperAPI) GetPrivateKey(ctx context.Context, id string) (hexutil.Bytes, error)
- func (api *PublicWhisperAPI) GetPublicKey(ctx context.Context, id string) (hexutil.Bytes, error)
- func (api *PublicWhisperAPI) GetSymKey(ctx context.Context, id string) (hexutil.Bytes, error)
- func (api *PublicWhisperAPI) HasKeyPair(ctx context.Context, id string) bool
- func (api *PublicWhisperAPI) HasSymKey(ctx context.Context, id string) bool
- func (api *PublicWhisperAPI) Info(ctx context.Context) Info
- func (api *PublicWhisperAPI) MakeLightClient(ctx context.Context) bool
- func (api *PublicWhisperAPI) MarkTrustedPeer(ctx context.Context, url string) (bool, error)
- func (api *PublicWhisperAPI) Messages(ctx context.Context, crit Criteria) (*rpc.Subscription, error)
- func (api *PublicWhisperAPI) NewKeyPair(ctx context.Context) (string, error)
- func (api *PublicWhisperAPI) NewMessageFilter(req Criteria) (string, error)
- func (api *PublicWhisperAPI) NewSymKey(ctx context.Context) (string, error)
- func (api *PublicWhisperAPI) Post(ctx context.Context, req NewMessage) (hexutil.Bytes, error)
- func (api *PublicWhisperAPI) SetBloomFilter(ctx context.Context, bloom hexutil.Bytes) (bool, error)
- func (api *PublicWhisperAPI) SetMaxMessageSize(ctx context.Context, size uint32) (bool, error)
- func (api *PublicWhisperAPI) SetMinPoW(ctx context.Context, pow float64) (bool, error)
- func (api *PublicWhisperAPI) Version(ctx context.Context) string
- type ReceivedMessage
- type Statistics
- type TopicType
- type Whisper
- func (whisper *Whisper) APIs() []rpc.API
- func (whisper *Whisper) AddKeyPair(key *ecdsa.PrivateKey) (string, error)
- func (whisper *Whisper) AddSymKeyDirect(key []byte) (string, error)
- func (whisper *Whisper) AddSymKeyFromPassword(password string) (string, error)
- func (whisper *Whisper) AllowP2PMessagesFromPeer(peerID []byte) error
- func (whisper *Whisper) BloomFilter() []byte
- func (whisper *Whisper) BloomFilterTolerance() []byte
- func (whisper *Whisper) DeleteKeyPair(key string) bool
- func (whisper *Whisper) DeleteSymKey(id string) bool
- func (whisper *Whisper) Envelopes() []*Envelope
- func (whisper *Whisper) GenerateSymKey() (string, error)
- func (w *Whisper) GetEnvelope(hash common.Hash) *Envelope
- func (whisper *Whisper) GetFilter(id string) *Filter
- func (whisper *Whisper) GetPrivateKey(id string) (*ecdsa.PrivateKey, error)
- func (whisper *Whisper) GetSymKey(id string) ([]byte, error)
- func (whisper *Whisper) HandlePeer(peer *p2p.Peer, rw p2p.MsgReadWriter) error
- func (whisper *Whisper) HasKeyPair(id string) bool
- func (whisper *Whisper) HasSymKey(id string) bool
- func (whisper *Whisper) LightClientMode() bool
- func (whisper *Whisper) LightClientModeConnectionRestricted() bool
- func (whisper *Whisper) MaxMessageSize() uint32
- func (whisper *Whisper) MinPow() float64
- func (whisper *Whisper) MinPowTolerance() float64
- func (whisper *Whisper) NewKeyPair() (string, error)
- func (whisper *Whisper) Overflow() bool
- func (whisper *Whisper) Protocols() []p2p.Protocol
- func (whisper *Whisper) RegisterServer(server MailServer)
- func (whisper *Whisper) RequestHistoricMessages(peerID []byte, envelope *Envelope) error
- func (whisper *Whisper) Send(envelope *Envelope) error
- func (whisper *Whisper) SendP2PDirect(peer *Peer, envelope *Envelope) error
- func (whisper *Whisper) SendP2PMessage(peerID []byte, envelope *Envelope) error
- func (whisper *Whisper) SetBloomFilter(bloom []byte) error
- func (whisper *Whisper) SetLightClientMode(v bool)
- func (whisper *Whisper) SetMaxMessageSize(size uint32) error
- func (whisper *Whisper) SetMinimumPoW(val float64) error
- func (whisper *Whisper) SetMinimumPowTest(val float64)
- func (whisper *Whisper) Start(*p2p.Server) error
- func (whisper *Whisper) Stats() Statistics
- func (whisper *Whisper) Stop() error
- func (whisper *Whisper) Subscribe(f *Filter) (string, error)
- func (whisper *Whisper) Unsubscribe(id string) error
- func (whisper *Whisper) Version() uint
Constants ¶
const ( ProtocolVersion = uint64(6) //协议版本号 ProtocolVersionStr = "6.0" //与字符串相同 ProtocolName = "shh" //GETH中协议的昵称 NumberOfMessageCodes = 128 SizeMask = byte(3) //用于从标志中提取有效负载大小字段大小的掩码 TopicLength = 4 //以字节为单位 BloomFilterSize = 64 //以字节为单位 EnvelopeHeaderLength = 20 MaxMessageSize = uint32(10 * 1024 * 1024) //邮件的最大可接受大小。 DefaultMaxMessageSize = uint32(1024 * 1024) DefaultMinimumPoW = 0.2 DefaultTTL = 50 //秒 DefaultSyncAllowance = 10 //秒 )
耳语协议参数
Variables ¶
var ( ErrSymAsym = errors.New("specify either a symmetric or an asymmetric key") ErrInvalidSymmetricKey = errors.New("invalid symmetric key") ErrInvalidPublicKey = errors.New("invalid public key") ErrInvalidSigningPubKey = errors.New("invalid signing public key") ErrTooLowPoW = errors.New("message rejected, PoW too low") ErrNoTopics = errors.New("missing topic(s)") )
错误列表
var DefaultConfig = Config{ MaxMessageSize: DefaultMaxMessageSize, MinimumAcceptedPOW: DefaultMinimumPoW, RestrictConnectionBetweenLightClients: true, }
defaultconfig表示(shocker!)默认配置。
Functions ¶
func BloomFilterMatch ¶
func BytesToUintBigEndian ¶
bytestouintbigendian将切片转换为64位无符号整数。
func GenerateRandomID ¶
GenerateRandomID生成一个随机字符串,然后返回该字符串用作键ID
func MakeFullNodeBloom ¶
func MakeFullNodeBloom() []byte
func NewSentMessage ¶
func NewSentMessage(params *MessageParams) (*sentMessage, error)
newsentmessage创建并初始化一个未签名、未加密的悄悄消息。
func ValidatePublicKey ¶
validatePublickey检查给定公钥的格式。
Types ¶
type Config ¶
type Config struct { MaxMessageSize uint32 `toml:",omitempty"` MinimumAcceptedPOW float64 `toml:",omitempty"` RestrictConnectionBetweenLightClients bool `toml:",omitempty"` }
config表示耳语节点的配置状态。
type Criteria ¶
type Criteria struct { SymKeyID string `json:"symKeyID"` PrivateKeyID string `json:"privateKeyID"` Sig []byte `json:"sig"` MinPow float64 `json:"minPow"` Topics []TopicType `json:"topics"` AllowP2P bool `json:"allowP2P"` }
条件保存入站消息的各种筛选选项。
func (Criteria) MarshalJSON ¶
marshaljson将类型条件封送到json字符串
func (*Criteria) UnmarshalJSON ¶
将JSON的类型条件取消标记为JSON字符串
type Envelope ¶
type Envelope struct { Expiry uint32 TTL uint32 Topic TopicType Data []byte Nonce uint64 // contains filtered or unexported fields }
信封表示一个明文数据包,通过耳语进行传输。 网络。其内容可以加密或不加密和签名。
func NewEnvelope ¶
newenvelope用过期和目标数据包装了一条私语消息 包含在信封中,用于网络转发。
func (*Envelope) Open ¶
func (e *Envelope) Open(watcher *Filter) (msg *ReceivedMessage)
open试图解密信封,并在成功时填充消息字段。
func (*Envelope) OpenAsymmetric ¶
func (e *Envelope) OpenAsymmetric(key *ecdsa.PrivateKey) (*ReceivedMessage, error)
OpenAsymmetric试图解密一个信封,可能用一个特定的密钥加密。
func (*Envelope) OpenSymmetric ¶
func (e *Envelope) OpenSymmetric(key []byte) (msg *ReceivedMessage, err error)
opensymmetric试图解密一个可能用特定密钥加密的信封。
func (*Envelope) Seal ¶
func (e *Envelope) Seal(options *MessageParams) error
Seal通过花费所需的时间作为证据来关闭信封 关于散列数据的工作。
type Filter ¶
type Filter struct { Src *ecdsa.PublicKey //邮件的发件人 KeyAsym *ecdsa.PrivateKey //收件人的私钥 KeySym []byte //与主题关联的键 Topics [][]byte //筛选邮件的主题 PoW float64 //耳语规范中所述的工作证明 AllowP2P bool //指示此筛选器是否对直接对等消息感兴趣 SymKeyHash common.Hash //优化所需的对称密钥的keccak256hash Messages map[common.Hash]*ReceivedMessage // contains filtered or unexported fields }
筛选器表示耳语消息筛选器
func (*Filter) MatchEnvelope ¶
匹配信封检查是否值得解密消息。如果 它返回“true”,要求客户端代码尝试解密 然后调用matchmessage。 这里不检查主题,因为这是由主题匹配器完成的。
func (*Filter) MatchMessage ¶
func (f *Filter) MatchMessage(msg *ReceivedMessage) bool
MatchMessage检查筛选器是否匹配已解密的 消息(即已经由 匹配前一个筛选器选中的信封)。 这里不检查主题,因为这是由主题匹配器完成的。
func (*Filter) Retrieve ¶
func (f *Filter) Retrieve() (all []*ReceivedMessage)
检索将返回所有相关联的已接收消息的列表 过滤器。
type Filters ¶
type Filters struct {
// contains filtered or unexported fields
}
筛选器表示筛选器的集合
func (*Filters) NotifyWatchers ¶
通知观察程序通知已声明感兴趣的任何筛选器 信封主题。
type Info ¶
type Info struct { Memory int `json:"memory"` //浮动消息的内存大小(字节)。 Messages int `json:"messages"` //浮动消息数。 MinPow float64 `json:"minPow"` //最小可接受功率 MaxMessageSize uint32 `json:"maxMessageSize"` //最大接受邮件大小 }
信息包含诊断信息。
type MailServer ¶
type MailServer interface { Archive(env *Envelope) DeliverMail(whisperPeer *Peer, request *Envelope) }
mail server表示一个邮件服务器,能够 存档旧邮件以供后续传递 对同龄人。任何实施都必须确保 函数是线程安全的。而且,他们必须尽快返回。 delivermail应使用directmessagescode进行传递, 以绕过到期检查。
type Message ¶
type Message struct { Sig []byte `json:"sig,omitempty"` TTL uint32 `json:"ttl"` Timestamp uint32 `json:"timestamp"` Topic TopicType `json:"topic"` Payload []byte `json:"payload"` Padding []byte `json:"padding"` PoW float64 `json:"pow"` Hash []byte `json:"hash"` Dst []byte `json:"recipientPublicKey,omitempty"` }
message是whisper消息的RPC表示。
func ToWhisperMessage ¶
func ToWhisperMessage(message *ReceivedMessage) *Message
TowHisPermessage将内部消息转换为API版本。
func (Message) MarshalJSON ¶
marshaljson将类型消息封送到json字符串
type MessageParams ¶
type MessageParams struct { TTL uint32 Src *ecdsa.PrivateKey Dst *ecdsa.PublicKey KeySym []byte Topic TopicType WorkTime uint32 PoW float64 Payload []byte Padding []byte }
messageparams指定邮件的包装方式 装进信封里。
type NewMessage ¶
type NewMessage struct { SymKeyID string `json:"symKeyID"` PublicKey []byte `json:"pubKey"` Sig string `json:"sig"` TTL uint32 `json:"ttl"` Topic TopicType `json:"topic"` Payload []byte `json:"payload"` Padding []byte `json:"padding"` PowTime uint32 `json:"powTime"` PowTarget float64 `json:"powTarget"` TargetPeer string `json:"targetPeer"` }
new message表示通过rpc发布的新低语消息。
func (NewMessage) MarshalJSON ¶
func (n NewMessage) MarshalJSON() ([]byte, error)
marshaljson将类型newmessage封送到json字符串
func (*NewMessage) UnmarshalJSON ¶
func (n *NewMessage) UnmarshalJSON(input []byte) error
取消标记JSON将类型newmessage取消标记为JSON字符串
type PublicWhisperAPI ¶
type PublicWhisperAPI struct {
// contains filtered or unexported fields
}
publicWhisperAPI提供可以 公开使用,不涉及安全问题。
func NewPublicWhisperAPI ¶
func NewPublicWhisperAPI(w *Whisper) *PublicWhisperAPI
NewPublicWhisperAPI创建新的RPC Whisper服务。
func (*PublicWhisperAPI) AddPrivateKey ¶
func (api *PublicWhisperAPI) AddPrivateKey(ctx context.Context, privateKey hexutil.Bytes) (string, error)
addprivatekey导入给定的私钥。
func (*PublicWhisperAPI) CancelLightClient ¶
func (api *PublicWhisperAPI) CancelLightClient(ctx context.Context) bool
cancellightclient取消light client模式。
func (*PublicWhisperAPI) DeleteKeyPair ¶
DeleteKeyPair删除具有给定密钥的密钥(如果存在)。
func (*PublicWhisperAPI) DeleteMessageFilter ¶
func (api *PublicWhisperAPI) DeleteMessageFilter(id string) (bool, error)
DeleteMessageFilter删除一个筛选器。
func (*PublicWhisperAPI) DeleteSymKey ¶
func (api *PublicWhisperAPI) DeleteSymKey(ctx context.Context, id string) bool
DeleteSymkey删除与给定ID关联的对称密钥。
func (*PublicWhisperAPI) GenerateSymKeyFromPassword ¶
func (api *PublicWhisperAPI) GenerateSymKeyFromPassword(ctx context.Context, passwd string) (string, error)
generatesymkeyfrompassword从给定的密码派生一个密钥,存储并返回其ID。
func (*PublicWhisperAPI) GetFilterMessages ¶
func (api *PublicWhisperAPI) GetFilterMessages(id string) ([]*Message, error)
getfiltermessages返回符合筛选条件和 从上一次投票到现在。
func (*PublicWhisperAPI) GetPrivateKey ¶
getprivatekey返回与给定密钥关联的私钥。关键是十六进制 以ANSI X9.62第4.3.6节规定的格式对键进行编码表示。
func (*PublicWhisperAPI) GetPublicKey ¶
GetPublicKey返回与给定键关联的公钥。关键是十六进制 以ANSI X9.62第4.3.6节规定的格式对键进行编码表示。
func (*PublicWhisperAPI) HasKeyPair ¶
func (api *PublicWhisperAPI) HasKeyPair(ctx context.Context, id string) bool
hasKeyPair返回节点是否有与给定ID关联的密钥对的指示。
func (*PublicWhisperAPI) HasSymKey ¶
func (api *PublicWhisperAPI) HasSymKey(ctx context.Context, id string) bool
hassymkey返回节点是否具有与给定密钥关联的对称密钥的指示。
func (*PublicWhisperAPI) Info ¶
func (api *PublicWhisperAPI) Info(ctx context.Context) Info
信息返回关于耳语节点的诊断信息。
func (*PublicWhisperAPI) MakeLightClient ¶
func (api *PublicWhisperAPI) MakeLightClient(ctx context.Context) bool
makelightclient将节点转换为light client,但不会转发 任何传入消息,并且只发送源自此节点的消息。
func (*PublicWhisperAPI) MarkTrustedPeer ¶
marktrustedpeer标记一个受信任的对等方,这将允许它发送历史(过期)消息。 注意:此功能不添加新节点,节点需要作为对等节点存在。
func (*PublicWhisperAPI) Messages ¶
func (api *PublicWhisperAPI) Messages(ctx context.Context, crit Criteria) (*rpc.Subscription, error)
消息设置了一个订阅,该订阅在消息到达时触发匹配的事件 给定的一组标准。
func (*PublicWhisperAPI) NewKeyPair ¶
func (api *PublicWhisperAPI) NewKeyPair(ctx context.Context) (string, error)
new key pair为消息解密和加密生成一个新的公钥和私钥对。 它返回一个可用于引用密钥对的ID。
func (*PublicWhisperAPI) NewMessageFilter ¶
func (api *PublicWhisperAPI) NewMessageFilter(req Criteria) (string, error)
NewMessageFilter创建一个可用于轮询的新筛选器 (新)满足给定条件的消息。
func (*PublicWhisperAPI) NewSymKey ¶
func (api *PublicWhisperAPI) NewSymKey(ctx context.Context) (string, error)
newsymkey生成随机对称密钥。 它返回一个可用于引用该键的ID。 可用于加密和解密双方都知道密钥的消息。
func (*PublicWhisperAPI) Post ¶
func (api *PublicWhisperAPI) Post(ctx context.Context, req NewMessage) (hexutil.Bytes, error)
在低语网络上发布消息。 如果成功,返回消息的哈希值。
func (*PublicWhisperAPI) SetBloomFilter ¶
setbloomfilter设置bloom filter的新值,并通知对等方。
func (*PublicWhisperAPI) SetMaxMessageSize ¶
setmaxmessagesize设置可接受的最大消息大小。 上限由MaxMessageSize定义。
type ReceivedMessage ¶
type ReceivedMessage struct { Raw []byte Payload []byte Padding []byte Signature []byte Salt []byte PoW float64 //耳语规范中所述的工作证明 Sent uint32 //消息发布到网络的时间 TTL uint32 //消息允许的最长生存时间 Src *ecdsa.PublicKey //邮件收件人(用于解码邮件的标识) Dst *ecdsa.PublicKey //邮件收件人(用于解码邮件的标识) Topic TopicType SymKeyHash common.Hash //密钥的keccak256哈希 EnvelopeHash common.Hash //作为唯一ID的消息信封哈希 }
ReceivedMessage表示要通过 并成功解密。
func (*ReceivedMessage) SigToPubKey ¶
func (msg *ReceivedMessage) SigToPubKey() *ecdsa.PublicKey
sigtopubkey返回与消息的 签名。
func (*ReceivedMessage) ValidateAndParse ¶
func (msg *ReceivedMessage) ValidateAndParse() bool
validateAndParse检查消息的有效性,并在成功时提取字段。
type Statistics ¶
type Statistics struct {
// contains filtered or unexported fields
}
统计数据包含多个与消息相关的计数器用于分析 目的。
type TopicType ¶
type TopicType [TopicLength]byte
TopicType表示密码安全的概率部分 消息的分类,确定为 sha3消息原始作者给出的某些任意数据的散列。
func BytesToTopic ¶
BytesToTopic从主题的字节数组表示形式转换 进入TopicType类型。
func (TopicType) MarshalText ¶
marshalText返回t的十六进制表示形式。
func (*TopicType) UnmarshalText ¶
UnmarshalText解析主题的十六进制表示。
type Whisper ¶
type Whisper struct {
// contains filtered or unexported fields
}
低语代表通过以太坊的黑暗通信接口 网络,使用自己的P2P通信层。
func (*Whisper) AddKeyPair ¶
func (whisper *Whisper) AddKeyPair(key *ecdsa.PrivateKey) (string, error)
AddKeyPair导入非对称私钥并返回其标识符。
func (*Whisper) AddSymKeyDirect ¶
addsymkeydirect存储密钥并返回其ID。
func (*Whisper) AddSymKeyFromPassword ¶
addsymkeyfrompassword根据密码生成密钥,存储并返回其ID。
func (*Whisper) AllowP2PMessagesFromPeer ¶
allowp2pmessagesfrompeer标记特定的受信任对等机, 这将允许它发送历史(过期)消息。
func (*Whisper) BloomFilter ¶
Bloomfilter返回所有感兴趣主题的聚合Bloomfilter。 节点只需发送与公布的Bloom筛选器匹配的消息。 如果消息与bloom不匹配,则相当于垃圾邮件,对等端将 断开连接。
func (*Whisper) BloomFilterTolerance ¶
BloomFilterTolerance返回允许有限 新花开后的一段时间被宣传给了同行们。如果已经过了足够的时间 或者没有发生过布卢姆滤波器的变化,返回值将相同。 作为bloomfilter()的返回值。
func (*Whisper) DeleteKeyPair ¶
DeleteKeyPair删除指定的密钥(如果存在)。
func (*Whisper) DeleteSymKey ¶
DeleteSymkey删除与名称字符串关联的键(如果存在)。
func (*Whisper) GenerateSymKey ¶
generatesymkey生成一个随机对称密钥并将其存储在id下, 然后返回。将在将来用于会话密钥交换。
func (*Whisper) GetEnvelope ¶
GetEnvelope通过其哈希从消息队列中检索信封。 如果找不到信封,则返回零。
func (*Whisper) GetPrivateKey ¶
func (whisper *Whisper) GetPrivateKey(id string) (*ecdsa.PrivateKey, error)
getprivatekey检索指定标识的私钥。
func (*Whisper) HandlePeer ¶
当低语子协议时,底层p2p层调用handlepeer。 已协商连接。
func (*Whisper) HasKeyPair ¶
hasKeyPair检查耳语节点是否配置了私钥 指定的公用对。
func (*Whisper) LightClientMode ¶
lightclientmode表示此节点是light client(不转发任何消息)
func (*Whisper) LightClientModeConnectionRestricted ¶
LightClientModeConnectionRestricted表示不允许以轻型客户端模式连接到轻型客户端
func (*Whisper) MaxMessageSize ¶
maxmessagesize返回可接受的最大消息大小。
func (*Whisper) MinPowTolerance ¶
minpowTolerance返回在有限的 功率改变后的时间。如果已经过了足够的时间或电源没有变化 一旦发生,返回值将与minpow()的返回值相同。
func (*Whisper) NewKeyPair ¶
NewKeyPair为客户端生成新的加密标识,并注入 它进入已知的身份信息进行解密。返回新密钥对的ID。
func (*Whisper) RegisterServer ¶
func (whisper *Whisper) RegisterServer(server MailServer)
registerserver注册mailserver接口。 邮件服务器将使用p2prequestcode处理所有传入的邮件。
func (*Whisper) RequestHistoricMessages ¶
RequestHistoricMessages向特定对等端发送带有p2prequestcode的消息, 它可以实现mailserver接口,并且应该处理这个 请求和响应一些对等消息(可能已过期), 不能再转发了。 耳语协议对信封的格式和内容不可知。
func (*Whisper) SendP2PDirect ¶
sendp2pdirect向特定对等发送对等消息。
func (*Whisper) SendP2PMessage ¶
sendp2pmessage向特定对等发送对等消息。
func (*Whisper) SetBloomFilter ¶
setbloomfilter设置新的bloom filter
func (*Whisper) SetLightClientMode ¶
setlightclientmode生成节点light client(不转发任何消息)
func (*Whisper) SetMaxMessageSize ¶
setmaxmessagesize设置此节点允许的最大消息大小
func (*Whisper) SetMinimumPoW ¶
setminimumPow设置此节点所需的最小Pow
func (*Whisper) SetMinimumPowTest ¶
setminimumPowTest设置测试环境中的最小Pow
func (*Whisper) Unsubscribe ¶
取消订阅将删除已安装的消息处理程序。