Try   HackMD

EPF Week 4 Development Updates

TL;DR

This week was about going into the depth of Benchmarking JSON-RPC API. Firstly, I set up a local ephemery testnet node using Geth as the execution client and Lighthouse as my consensus client. I did some testing locally using flood and then wanted to run a Reth-Lighthouse ephemery testnet node to compare, but I faced some issues in running Reth locally. Then Sina provided me access to his synced mainnet Geth and Reth nodes. We were doing setup for remote testing, but flood had some issues that prevented us from moving forward. We have decided to use chainbench as an alternative tool for benchmarking and are waiting for the flood team to see if they can help us resolve the issue. Later in the week, I tested eth_call on Geth and Reth nodes using chainbench to compare results, and Reth was slightly faster. I also worked on a small PR for Reth this week.

Geth-Lighthouse Ephemery Testnet Setup:

Geth:

geth --networkid 39438134 \
    --syncmode=full \
    --port 30303 \
    --http \
    --datadir "<geth-data-dir>" \
    --bootnodes {bootnodes}

Lighthouse:

lighthouse beacon_node \
    --testnet-dir "testnet-all" \
    --datadir "<lh-data-dir>" \
    --execution-endpoint http://localhost:8551 \
    --boot-nodes {bootnodes} \
    --execution-jwt "<geth-data-dir\geth\jwtsecret>" \
    --disable-deposit-contract-sync

Flood Tests

flood TEST geth=localhost:8545 -r 128 256 512 -d 30 -o <output-dir>

Chainbench Tests

chainbench start eth_call --target <node-url> --results-dir <results-dir> --headless --autoquit

Weekly EPF Activity

  • Weekly Standup Meeting
  • Office Hours Meeting
  • ACDE 191 Meeting

Miscallaneous

Reth PR #9301

References

  1. flood
  2. chainbench