Update ipld-eth-server branch

This commit is contained in:
Prathamesh Musale 2023-10-13 14:59:58 +05:30
parent b592124ba9
commit af024f9b4b
2 changed files with 16 additions and 17 deletions

View File

@ -3,12 +3,11 @@
Stack components: Stack components:
* `ipld-eth-db` database for statediffed data * `ipld-eth-db` database for statediffed data
* Local geth + lighthouse blockchain "fixturenet" running in statediffing mode * Local geth + lighthouse blockchain "fixturenet" running in statediffing mode
* `ipld-eth-server` which runs an ETH RPC API and a GQL server; serves data from `ipld-eth-db` * `ipld-eth-server` which runs an ETH RPC API and a GQL server; serves data from `ipld-eth-db`; also runs an in-process go-nitro node for payments required for configured RPC requests
* A go-nitro deployment acting as the Nitro node for `ipld-eth-server`
* A modified reverse payment proxy server (based on the one from go-nitro) that proxies requests to `ipld-eth-server`'s RPC endpoint; it talks to `ipld-eth-server`'s Nitro node to accept and validate payments required for configured RPC requests
* A MobyMask v3 watcher that pays the `ipld-eth-server` for ETH RPC requests * A MobyMask v3 watcher that pays the `ipld-eth-server` for ETH RPC requests
* A MobyMask v3 app that pays the watcher for reads (GQL queries) and writes * A MobyMask v3 app that pays the watcher for reads (GQL queries) and writes
* An example ERC20 Ponder app that pays the `ipld-eth-server` for ETH RPC requests * An example ERC20 Ponder indexer app that pays the `ipld-eth-server` for ETH RPC requests
* An example ERC20 Ponder watcher app that pays the Ponder indexer app for GQL queries
## Setup ## Setup
@ -54,7 +53,7 @@ Stack components:
# } # }
``` ```
* In another terminal, check the ipld eth server's logs to keep track of incoming payments and RPC requests: * In another terminal, check `ipld-eth-server`'s logs to keep track of incoming payments and RPC requests:
```bash ```bash
docker logs -f $(docker ps -aq --filter name="ipld-eth-server") docker logs -f $(docker ps -aq --filter name="ipld-eth-server")
@ -147,7 +146,7 @@ Stack components:
``` ```
* The watcher makes several ETH RPC requests to `ipld-eth-server` to fetch data required for satisfying the GQL request(s); check the ipld eth server logs for charged RPC requests (`eth_getBlockByHash`, `eth_getBlockByNumber`, `eth_getStorageAt`): * The watcher makes several ETH RPC requests to `ipld-eth-server` to fetch data required for satisfying the GQL request(s); check `ipld-eth-server` logs for charged RPC requests (`eth_getBlockByHash`, `eth_getBlockByNumber`, `eth_getStorageAt`):
```bash ```bash
# Expected output: # Expected output:
@ -232,7 +231,7 @@ Stack components:
* On starting the Ponder app in indexer mode, it creates a payment channel with the `ipld-eth-server`'s Nitro node and then starts the historical sync service * On starting the Ponder app in indexer mode, it creates a payment channel with the `ipld-eth-server`'s Nitro node and then starts the historical sync service
* The sync service makes several ETH RPC requests to the `ipld-eth-server` to fetch required data; check the ipld eth server logs for charged RPC requests (`eth_getBlockByNumber`, `eth_getLogs`) * The sync service makes several ETH RPC requests to the `ipld-eth-server` to fetch required data; check the `ipld-eth-server` logs for charged RPC requests (`eth_getBlockByNumber`, `eth_getLogs`):
```bash ```bash
# Expected output: # Expected output:
@ -270,6 +269,7 @@ Stack components:
``` ```
* In another terminal run the ponder app in watcher mode: * In another terminal run the ponder app in watcher mode:
```bash ```bash
docker exec -it payments-ponder-app-watcher-1 bash -c "DEBUG=laconic:payments pnpm start" docker exec -it payments-ponder-app-watcher-1 bash -c "DEBUG=laconic:payments pnpm start"
@ -284,7 +284,8 @@ Stack components:
# 11:23:22.436 INFO server Started responding as healthy # 11:23:22.436 INFO server Started responding as healthy
``` ```
* Check the terminal in which indexer mode ponder is running. Logs of payment for `eth_getLogs` queries can be seen: * Check the terminal in which ponder is running in indexer mode. Logs of payment for `eth_getLogs` queries can be seen:
```bash ```bash
# ... # ...
# 08:02:37.763 DEBUG realtime Finished processing new head block 89 (network=fixturenet) # 08:02:37.763 DEBUG realtime Finished processing new head block 89 (network=fixturenet)

View File

@ -6,11 +6,10 @@ repos:
- git.vdb.to/cerc-io/go-ethereum@v1.11.6-statediff-v5 - git.vdb.to/cerc-io/go-ethereum@v1.11.6-statediff-v5
- git.vdb.to/cerc-io/lighthouse - git.vdb.to/cerc-io/lighthouse
- git.vdb.to/cerc-io/ipld-eth-db@v5 - git.vdb.to/cerc-io/ipld-eth-db@v5
# - git.vdb.to/cerc-io/ipld-eth-server@v1.11.6-statediff-v5 - git.vdb.to/cerc-io/ipld-eth-server@payments
- git.vdb.to/deep-stack/ipld-eth-server@pm-integrate-go-nitro # nitro repo
# nitro repos
- github.com/cerc-io/ts-nitro@v0.1.13 - github.com/cerc-io/ts-nitro@v0.1.13
- github.com/cerc-io/go-nitro@v0.1.1-ts-port-0.1.5 - github.com/cerc-io/go-nitro@v0.1.1-ts-port-0.1.7
# mobymask watcher repos # mobymask watcher repos
- github.com/cerc-io/watcher-ts@v0.2.65 - github.com/cerc-io/watcher-ts@v0.2.65
- github.com/cerc-io/mobymask-v2-watcher-ts@v0.2.3 - github.com/cerc-io/mobymask-v2-watcher-ts@v0.2.3
@ -31,7 +30,7 @@ containers:
- cerc/ipld-eth-db - cerc/ipld-eth-db
- cerc/ipld-eth-server - cerc/ipld-eth-server
- cerc/nitro-contracts - cerc/nitro-contracts
- cerc/go-nitro # - cerc/go-nitro
- cerc/nitro-rpc-client - cerc/nitro-rpc-client
# mobymask watcher images # mobymask watcher images
- cerc/watcher-ts - cerc/watcher-ts
@ -48,7 +47,6 @@ pods:
- ipld-eth-db - ipld-eth-db
- nitro-contracts - nitro-contracts
# - go-nitro # - go-nitro
# - nitro-reverse-payment-proxy
- nitro-rpc-client - nitro-rpc-client
- watcher-mobymask-v3 - watcher-mobymask-v3
- mobymask-snap - mobymask-snap