codex-storage / nim-codex

Decentralized Durability Engine
Apache License 2.0
63 stars 24 forks source link

Testnet Geth #783

Closed emizzle closed 3 months ago

emizzle commented 5 months ago

Will we have a publicly accessible endpoint for geth?

Are there any limitations on this geth instance in terms of connections?

Any NAT issues?

veaceslavdoina commented 5 months ago

We have a list of Endpoints for Testnet and one of them is Geth RPC endpoint, which is publicly available for now

curl -X POST \
  -s curl https://rpc.testnet.codex.storage \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}'

And in the Codex Testnet Starter we have and example how to use it with Codex

export CODEX_ETH_PROVIDER=https://rpc.testnet.codex.storage

And some notes about it

  1. The idea was that users will use their local Geth nodes and not Public RPC, but let's leave it as is for now.
  2. Currently we do not apply any connections throttling/limits and it is limited by the node resources only. I would say 100 rps/s should be fine and it probably depends on the request type.
  3. This Geth is running inside Kubernetes cluster and has Discovery/Transport fort forwarded, so there should not be any NAT related issues.
  4. Node is not tuned and use almost all defaults settings.
veaceslavdoina commented 5 months ago

If you think we should handle more load, we can spin up several nodes and create s single endpoint with a load balancer and sticky sessions

                                 Geth-01
                               /
RPC Endpoint --> Load Balancer - Geth-02
                               \
                                 Geth-03
emizzle commented 5 months ago

I think at this point we really have no idea how many people will be attending the workshop. Let's wait to find out more details about this before we make an assumptions on upper limits.

emizzle commented 4 months ago

Slava can run one or two additional nodes for one or two days and then drop them.

emizzle commented 4 months ago

Slava will run additional nodes behind a load balancer and close this issue.

veaceslavdoina commented 3 months ago

Based on the experiments we performed during https://github.com/codex-storage/infra-codex/issues/193, it was decided to just increase resources for an existing Geth RPC node, because of the issue with sticky sessions.

We also may consider to test that during #823.

veaceslavdoina commented 3 months ago

As it was checked during #823, we can use existing PRC node for the workshop.