diff --git a/nwaku/jsonrpc.go b/nwaku/jsonrpc.go index 1981f9b..1b58e0b 100644 --- a/nwaku/jsonrpc.go +++ b/nwaku/jsonrpc.go @@ -10,10 +10,19 @@ import ( // NOTE Can be generalized with different transports (HTTP, IPC, WS etc) // https://github.com/ethereum/go-ethereum/blob/master/rpc/client.go#L169 +// TODO Move to types type WakuInfo struct { ListenStr string `json:"listenStr"` } +type HistoricalMessageResponse struct { + Messages string `json:"messages"` +} + +type ContentFilter struct { + ContentTopic string `json:"contentTopic"` +} + func main() { fmt.Println("JSON RPC request...") @@ -28,4 +37,23 @@ func main() { panic(err) } fmt.Println("WakuInfo ListenStr", wakuInfo.ListenStr) + + // TODO Lets do query of messages + // + //curl -d '{"jsonrpc":"2.0","id":"id","method":"get_waku_v2_store_v1_messages", "params":["", [{"contentTopic":"/waku/2/default-content/proto"}]]}' --header "Content-Type: application/json" http://localhost:8545 + var messageResponse HistoricalMessageResponse + var contentFilter = ContentFilter{"/toy-chat/2/huilong/proto"} + var contentFilters []ContentFilter + contentFilters = append(contentFilters, contentFilter) + var arg1 = "" + var arg2 = contentFilters + if err := client.Call(&messageResponse, "get_waku_v2_store_v1_messages", arg1, arg2); err != nil { + panic(err) + } + fmt.Println("Resp", messageResponse) } + +// ./bin/wakunode2 --storenode=/ip4/188.166.135.145/tcp/30303/p2p/16Uiu2HAmL5okWopX7NqZWBUKVqW8iUxCEmd5GMHLVPwCgzYzQv3e +// curl -d '{"jsonrpc":"2.0","id":"id","method":"get_waku_v2_store_v1_messages", "params":["", [{"contentTopic":"/toy-chat/2/huilong/proto"}]]}' --header "Content-Type: application/json" http://localhost:8545 + +// Later: Generalize with CallContext (not prio)