- some minor progress to add nwaku in status-go - nwaku.go: GetNumConnectedPeers controls when passed pubsub is empty - waku_test.go: adapt TestWakuV2Store - add missing shard.go - feat_: build nwaku with nix and use build tags to choose between go-waku and nwaku (#5896) - chore_: update nwaku - nwaku bump (#5911) - bump: nwaku - chore: add USE_NWAKU env flag - fix: build libwaku only if needed - feat: testing discovery and dialing with nwaku integration (#5940) - message publisher and sent verifier (#5966) - storenode requestor for missing message retrieval and result iterator impl (#5971) - uncomment code that would allow status-go/go-waku to compile and libwaku test to run (#5986) - supporting peer exchange with nwaku (#5983) - store queries - ping - ping storenodes using AddrInfo (#6004) - dial, drop and retrieve connected peers (#6013) - integrate on-demand DNS discovery and implement discoverAndConnectPeers (#6017) - extract libwaku calls into WakuNode struct (#6027) - async nwaku - remove nwaku process loop - receive messages via relay (#6185) - extract timeout from context - use correct port field, get free ports and uncomment some functions (#6200) - enable filter/lightpush/px and setup rate limits - add protected topics
Whisper API Extension
API
shhext_getNewFilterMessages
Accepts the same input as shh_getFilterMessages
.
Returns
Returns a list of whisper messages matching the specified filter. Filters out
the messages already confirmed received by shhext_confirmMessagesProcessed
Deduplication is made using the whisper envelope content and topic only, so the same content received in different whisper envelopes will be deduplicated.
shhext_confirmMessagesProcessed
Confirms whisper messages received and processed on the client side. These
messages won't appear anymore when shhext_getNewFilterMessages
is called.
Parameters
Gets a list of whisper envelopes.
shhext_post
Accepts same input as shh_post
.
Returns
DATA
, 32 Bytes - the envelope hash
shhext_requestMessages
Sends a request for historic messages to a mail server.
Parameters
Object
- The message request object:
mailServerPeer
:URL
- Mail servers' enode addessfrom
:QUANTITY
- (optional) Lower bound of time range as unix timestamp, default is 24 hours back from nowto
:QUANTITY
- (optional) Upper bound of time range as unix timestamp, default is nowtopic
:DATA
, 4 Bytes - Regular whisper topicsymKeyID
:DATA
- ID of a symmetric key to authenticate to mail server, derived from mail server password
Returns
Boolean
- returns true
if the request was send, otherwise false
.
Signals
Sends sent signal once per envelope.
{
"type": "envelope.sent",
"event": {
"hash": "0xea0b93079ed32588628f1cabbbb5ed9e4d50b7571064c2962c3853972db67790"
}
}
Sends expired signal if envelope dropped from whisper local queue before it was sent to any peer on the network.
{
"type": "envelope.expired",
"event": {
"hash": "0x754f4c12dccb14886f791abfeb77ffb86330d03d5a4ba6f37a8c21281988b69e"
}
}