ipld-eth-db-validator/test
prathamesh0 acf8e6f96a
Make writeStateDiffAt call on missing block and add metrics (#20)
* Add chainID flag and make chainConfig optional

* Add prometheus metrics to monitor validation progress

* Make writeStateDiffAt calls on missing blocks

* Update docs and config improvements

* Use standard logger

* Add copyright to files

* Upgrade dependencies
2022-08-23 13:05:50 +05:30
..
contract Feature/update go geth sharding (#13) 2022-06-03 09:28:02 -04:00
helper.go Feature/update go geth sharding (#13) 2022-06-03 09:28:02 -04:00
integration_suite_test.go Add integration test and dynamic txn unit test. 2022-01-20 18:52:01 +05:30
integration_test.go Feature/update go geth sharding (#13) 2022-06-03 09:28:02 -04:00
README.md Make writeStateDiffAt call on missing block and add metrics (#20) 2022-08-23 13:05:50 +05:30

Test Instructions

Setup

  • For running integration tests:

    • Clone stack-orchestrator, go-ethereum and ipld-eth-db repositories.

    • Checkout v4 release in ipld-eth-db repo.

      # In ipld-eth-db repo.
      git checkout v4.2.1-alpha
      
    • Checkout v4 release in go-ethereum repo.

      # In go-ethereum repo.
      git checkout v1.10.21-statediff-4.1.2-alpha
      
    • Checkout working commit in stack-orchestrator repo.

      # In stack-orchestrator repo.
      git checkout f2fd766f5400fcb9eb47b50675d2e3b1f2753702
      

Run

  • Run unit tests:

    # In ipld-eth-db-validator root directory.
    ./scripts/run_unit_test.sh
    
  • Run integration tests:

    • In stack-orchestrator repo:

      • Create config file:

        cd helper-scripts
        
        ./create-config.sh
        

        A config.sh will be created in the root directory.

      • Update/Edit the config file config.sh:

        #!/bin/bash
        
        # Path to ipld-eth-server repo.
        vulcanize_ipld_eth_db=~/ipld-eth-db/
        
        # Path to go-ethereum repo.
        vulcanize_go_ethereum=~/go-ethereum
        
        # Path to contract folder.
        vulcanize_test_contract=~/ipld-eth-db-validator/test/contract
        
        genesis_file_path='start-up-files/go-ethereum/genesis.json'
        db_write=true
        
      • Run stack-orchestrator:

        # In stack-orchestrator root directory.
        cd helper-scripts
        
        ./wrapper.sh \
        -e docker \
        -d ../docker/local/docker-compose-db-sharding.yml \
        -d ../docker/local/docker-compose-go-ethereum.yml \
        -d ../docker/local/docker-compose-contract.yml \
        -v remove \
        -p ../config.sh
        
    • Run tests:

      # In ipld-eth-db-validator root directory.
      ./scripts/run_integration_test.sh