mirror of https://github.com/waku-org/nwaku.git
3e65cc18f6
A node that handles REST-Store requests normally acts as a Store-client and therefore it retrieved the messages from another Store-node. With these changes, we allow a node with Store mounted, to retrieve its messages. In other words, the node can act as a Store-server of its messages. * test_rest_store.nim: add a new test to validate that the self-node can retrieve its messages to the REST client. * rest/store/client.nim: add new proc to allow making a GET store request without peerAddr. * rest/store/handle.nim: add logic to handle requests that don't provide peerAddr but the self/local node has Store mounted. In this case, the self/local node will retrieve its locally stored messages. * waku_store/self_req_handler.nim: logic to handle "store" requests allowing the REST-store node to act as a Store-server node. The 'self_req_handler.nim' helps to bypass the store protocol and directly retrieve the messages from the local/self node. I added this logic in a separate file from 'protocol.nim' because it doesn't participate in any libp2p communication. * waku_store/protocol.nim: make 'queryHandler' attribute public so that it can be used from the 'self_req_handler.nim' module. |
||
---|---|---|
.. | ||
README.md | ||
client.nim | ||
common.nim | ||
protocol.nim | ||
protocol_metrics.nim | ||
rpc.nim | ||
rpc_codec.nim | ||
self_req_handler.nim |
README.md
Waku Store protocol
The store protocol implements historical message support. See https://rfc.vac.dev/spec/13/ for more information.