Skip to content

Instantly share code, notes, and snippets.

View jwasinger's full-sized avatar
💭
👍

jwasinger

💭
👍
View GitHub Profile
@jwasinger
jwasinger / gist:6972f35e916fb462e72cd3e81b4b1dd1
Created September 12, 2017 22:34
Ethereumjs blockchain test failures 9/12/2017
> ethereumjs-vm@2.2.1 testBlockchain /ethereum/ethereumjs-vm
> node --stack-size=1500 ./tests/tester -b
TAP version 13
# BlockchainTests
# file: BlockGasLimit2p63m1 test: BlockGasLimit2p63m1_Byzantium
ok 1 correct pre stateRoot
ok 2 correct genesis RLP
ok 3 last block hash
@jwasinger
jwasinger / instructions.txt
Last active September 13, 2017 21:01
How to set up Trace Equivalence testing with Ethereumjs-vm
git clone clone https://github.com/jwasinger/evmlab && git checkout ethereumjs-multi-trace
# set up a python environment
pipenv --three
pipenv shell
pip install -r requirements.txt
pip install ethereum
python setup.py install
# now edit statetests.ini to only use JS,GETH as Clients (so that it doesn't take forever to install the docker images)
@jwasinger
jwasinger / gist:08a4080805091f1d632ac1e2ec85fc5e
Created September 16, 2017 00:04
EthereumJS failing state tests: 9/15/2017
> ethereumjs-vm@2.2.1 testState /ethereum/ethereumjs-vm
> node ./tests/tester -s
TAP version 13
# GeneralStateTests
# file: ContractCreationSpam test: ContractCreationSpam
ok 1 the state roots should match
# file: CrashingTransaction test: CrashingTransaction
ok 2 the state roots should match
@jwasinger
jwasinger / 0003-FAIL-stSpecialTest-failed_tx_xcf416c53-0.log.txt
Created September 16, 2017 21:09
stSpecialTest-failed_tx_xcf416c53 trace comparison
This file has been truncated, but you can view the full file.
file: /ethereum/tests/GeneralStateTests/stSpecialTest/failed_tx_xcf416c53.json
test_name: failed_tx_xcf416c53. tx_i: 0
running state test in geth.
running state test in EthereumJS.
js_cmd: docker run --rm -t -v /ethereum/jwasinger-emvlab/single_test_tmp.json:/ethereum/single_test_tmp.json jwasinger/ethereumjs-vm -s --stateTestSource single_test_tmp.json --jsontrace --fork Byzantium
End of geth trace, processing...
Done processing geth trace (16134 steps), returning in canon format
End of javascript trace, processing...
Done processing javascript trace (16134 steps), returning in canon format
Comparing traces
@jwasinger
jwasinger / 0003-FAIL-stRevertTest-RevertPrecompiledTouch-0.log.txt
Created September 19, 2017 02:05
Diff of CPP and GETH for RevertPrecompiledTouch
file: /ethereum/tests/GeneralStateTests/stRevertTest/RevertPrecompiledTouch.json
test_name: RevertPrecompiledTouch. tx_i: 0
running state test in geth.
running state test in cpp-ethereum.
cpp_cmd: docker run --rm -t -v /ethereum/tests:/mounted_tests cdetrio/cpp-ethereum -t GeneralStateTests/stRevertTest -- --singletest RevertPrecompiledTouch --jsontrace '{ "disableStorage":true }' --singlenet Byzantium -d 0 -g 0 -v 0 --testpath "/mounted_tests"
End of geth trace, processing...
Done processing geth trace (78 steps), returning in canon format
End of cpp trace, processing...
['Running 1 test case...\r', 'Test Case "stRevertTest": \r', '100%\r', '[{"depth":"0","gas":"39000","gasCost":"3","memory":[],"op":"PUSH1","pc":"0","stack":[]},{"depth":"0","gas":"38997","gasCost":"3","op":"PUSH1","pc":"2","stack":["0x00"]},{"depth":"0","gas":"38994","gasCost":"3","op":"PUSH1","pc":"4","stack":["0x00","0x00"]},{"depth":"0","gas":"38991","gasCost":"3","op":"PUSH1","pc":"6","stack":["0x00","0x00","0x00"]},{"depth":"0","gas":"
@jwasinger
jwasinger / gist:996d5c68c53695083747fcb1d684aeb1
Created September 19, 2017 22:47
Blockchain tests on ethereumjs-vm@master 9/19/2017
> ethereumjs-vm@2.2.1 testBlockchain /ethereum/ethereumjs-vm
> node --stack-size=1500 ./tests/tester -b --excludeDir='GeneralStateTests'
TAP version 13
# BlockchainTests
# file: BlockGasLimit2p63m1 test: BlockGasLimit2p63m1_EIP158
ok 1 correct pre stateRoot
ok 2 correct genesis RLP
ok 3 last block hash
@jwasinger
jwasinger / gist:ca4d3a720b2efd22433b4dc308cc974b
Created September 20, 2017 21:44
blockchain test results 9/20/2017 ethereumjs@master modified to use ethereumjs-blockchain@1.4.2
> ethereumjs-vm@2.2.2 testBlockchain /ethereum/bc-1.4.1-ethereumjs-vm
> node --stack-size=1500 ./tests/tester -b --excludeDir='GeneralStateTests'
TAP version 13
# BlockchainTests
# file: BlockGasLimit2p63m1 test: BlockGasLimit2p63m1_EIP158
ok 1 correct pre stateRoot
ok 2 correct genesis RLP
ok 3 last block hash
> ethereumjs-vm@2.2.1 testBlockchain /ethereum/wip-metro-ejs
> node --stack-size=1500 ./tests/tester -b --excludeDir='GeneralStateTests'
TAP version 13
# BlockchainTests
# file: BlockGasLimit2p63m1 test: BlockGasLimit2p63m1_Byzantium
ok 1 correct pre stateRoot
ok 2 correct genesis RLP
ok 3 last block hash
@jwasinger
jwasinger / gist:e7004e82426ff0a7137a88d273f11819
Created September 20, 2017 21:51
output from ethereumjs-vm@master 9/20/2017
> ethereumjs-vm@2.2.2 testBlockchain /ethereum/ethereumjs-vm
> node --stack-size=1500 ./tests/tester -b --excludeDir='GeneralStateTests'
TAP version 13
# BlockchainTests
# file: BlockGasLimit2p63m1 test: BlockGasLimit2p63m1_EIP158
ok 1 correct pre stateRoot
ok 2 correct genesis RLP
ok 3 last block hash
@jwasinger
jwasinger / Instructions.md
Last active December 19, 2017 02:52
Trace Equivalence Tester Setup (using docker images for clients)

Setup python environment

git clone https://github.com/holiman/evmlab
cd evmlab
mkdir randoLogs
pipenv --python 3.5
pipenv shell

Install Deps