Add documentation for connect external store node (#87)

* Add documentation for connect external store node

* add new page to summary.md
This commit is contained in:
Tanya S 2024-09-16 12:02:21 +02:00 committed by GitHub
parent 0cf2b92695
commit 4456278b29
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 53 additions and 0 deletions

View File

@ -6,4 +6,5 @@
- [Connect external full node](./connect-full-node.md)
- [Connect external spam node](./connect-spam-node.md)
- [Connect external light node](./connect-light-node.md)
- [Connect external store node](./connect-store-node.md)
- [Register memberships](./register-memberships.md)

52
src/connect-store-node.md Normal file
View File

@ -0,0 +1,52 @@
# Connect external store node
One or more external store nodes can be connected to the waku-simulator network by using configuration similar to that shown below. The store node(s) can use the DB as backend from an existing staging or production system DB or a custom one. When connecting to any DB ensure that the `store-message-retention-policy` matches that of the system.
The staticnode that the store node connects to can be any existing node in the waku-simulator network, alternatively use the discv5 configuration.
```bash
--discv5-discovery=true \
--discv5-enr-auto-update=True \
--discv5-bootstrap-node=BOOTSTRAP_ENR\
```
The store node can be queried via the [waku rest API]( https://waku-org.github.io/waku-rest-api/#get-/store/v3/messages).
An easy way to find a message hash to query is by checking the store node logs for the `message archived` message:
```bash
docker logs nwaku_storenode_1 | grep -i "message archived"
```
The store node will need to have log-level set to DEBUG for this logging to be available.
The [message-finder](https://github.com/waku-org/message-finder) tool could also be useful for store node testing.
```bash
docker run -it --network waku-simulator_simulation --name nwaku_storenode_1 -d harbor.status.im/wakuorg/nwaku:latest \
--relay=true\
--rest=true\
--rest-address=0.0.0.0\
--rest-port=8645\
--log-level=DEBUG\
--pubsub-topic=/waku/2/rs/66/0\
--cluster-id=66\
--metrics-server=true\
--discv5-discovery=true\
--discv5-enr-auto-update=true\
--store=true\
--store-message-db-url=<e.g. postgres://pguser:pgpasswrd@127.0.0.1:5432/postgres>\
--store-message-retention-policy=size:120GB\
--staticnode=/ip4/0.0.0.0/tcp/60000/p2p/16Uiu2HAmC8Fe4Egsq6AKubmBPr52TQmwc26yoCkszwo6dfQncZ4m\
--nodekey=5978783f8b1a16795032371fff7a526af352d9dca38179af7d71c0122942fa20
```
🎯**Goals**:
- Connect a store node(s) to the network for ad hoc store protocol testing.
- Verify that store queries get the expected results.
👀**Observability**:
- Check the logs of the newly connected store node, ensuring the behaviour matches the expected.