Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

run rpc-compat on the latest clients #119

Closed
cdetrio opened this issue Aug 30, 2018 · 14 comments
Closed

run rpc-compat on the latest clients #119

cdetrio opened this issue Aug 30, 2018 · 14 comments

Comments

@cdetrio
Copy link
Member

cdetrio commented Aug 30, 2018

rpc-compat is a Hive script for testing client compatibility against an RPC test suite. It lives here but hasn't been tried in quite some time: https://github.com/karalabe/hive/tree/master/simulators/ethereum/rpc-compat

It would be nice to dust it off and run it again against the latest clients. Once run again, this RPC compatibility table can be updated (this table is very old, as you can see on the page these results are from 2017-02-24: http:https://cdetrio.github.io/eth-compat-table).

The documentation on how to run Hive and generate this table is not great, but there are some notes scattered in various places:

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 350.0 DAI (350.0 USD @ $1.0/DAI) attached to it.

@gitcoinbot
Copy link

gitcoinbot commented Aug 31, 2018

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 11 months, 3 weeks from now.
Please review their action plans below:

  1. cryptomental has been approved to start work.

    Hi. I would like to start working on this, likely read over the weekend and finalize next week. I will provide progress on a daily basis.

Learn more on the Gitcoin Issue Details page.

@vs77bb
Copy link

vs77bb commented Aug 31, 2018

@cryptomental You've been approved! Excited to see what you do here, as always 🙂

@gitcoinbot
Copy link

@cryptomental Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@cryptomental
Copy link

Day 1 - after initial reading I checked out Hive and I am looking around the codebase. Also #118 looks quite interesting as it gives a hint that the test environment is spin up with Vagrant and Ubuntu base image, therefore Ubuntu will be a base for me. I hope to open a WIP PR this week. I will update my progress on a daily basis.

@cryptomental
Copy link

Yesterday, workspace checkout, docker image built and I was comparing branches mentioned in #190, today evening I have more time and will try to run the latest rpc compat tests.

cryptomental added a commit to cryptomental/eth-compat-table that referenced this issue Sep 6, 2018
@cryptomental
Copy link

@cdetrio , @vs77bb Job done.

In the meantime since the last official run in 2017, cpp-ethereum was renamed to aleth, pyethapp was deprecated and ethereumj was added.

screenshot from 2018-09-06 18 12 35

I generated a new table and updated all results, including client logs and changes needed in App.js in my eth-compat-table fork: https://github.com/cryptomental/eth-compat-table

I pushed everything in a single commit to: cryptomental/eth-compat-table@3f2e81b

Perhaps at some point it would be beneficial to try to automate everything so that the table would be automatically created on CI and pushed but this is a different story.

Just for the record I stored how I started the hive container and cached ethash DAG (go-ethereum circleci config helped me a lot).

$ docker build . -t hive
$ mkdir -p ~/.hive/images
$ mkdir -p ~/.hive/ethash

$ docker run -it --privileged -e UID=$UID -v ~/.hive/images:/root/.hive/images -v ~/.hive/ethash:/gopath/src/github.com/karalabe/hive/workspace/ethash --entrypoint=sh hive

Caching ethhash DAG and images is not needed, but speeds up next container starts.

To generate eth-compat data, in the last command above I changed the entrypoint from hive.sh to sh, to start the interactive session and executed hive in --docker-noshell mode inside the container:

/gopath/src/github.com/karalabe/hive # dockerd-entrypoint.sh --storage-driver=aufs 2>/dev/null &
/gopath/src/github.com/karalabe/hive # hive --docker-noshell --sim=rpc-compat --test=NONE --client="go-ethereum:master|parity:master|ethereumj:master|aleth:nightly" --loglevel=6 | tee ./simulator_rpc_results.json

After the test completed I copied data from the container to eth-compat-table and renamed where necessary.

I learnt a lot again.

@cryptomental
Copy link

@vs77bb I submitted the bounty via GitCoin, the transaction went through https://etherscan.io/tx/0x38e260950f8da1159068f5c03bde507807eafdda08ac7c51ed528c5e3d4a0459 but strangely it was not recorded. I'll ping you via Slack with links.

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work for 350.0 DAI (350.0 USD @ $1.0/DAI) has been submitted by:

  1. @cryptomental

@vs77bb please take a look at the submitted work:


@cdetrio
Copy link
Member Author

cdetrio commented Sep 6, 2018

nice work!

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


The funding of 350.0 DAI (350.0 USD @ $1.0/DAI) attached to this issue has been approved & issued to @cryptomental.

@cdetrio
Copy link
Member Author

cdetrio commented Sep 11, 2018

@cryptomental i've sent you a gitter message!

@cryptomental
Copy link

All ok! :)

@fjl
Copy link
Collaborator

fjl commented Feb 8, 2023

rpc-compat is now maintained again, closing this issue.

@fjl fjl closed this as completed Feb 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants