ipld-eth-server/test
2022-05-18 13:35:16 +05:30
..
contract
direct_proxy_integration_test.go Update module path for v3 2022-05-18 13:35:16 +05:30
helper.go
integration_suite_test.go
integration_test.go Update module path for v3 2022-05-18 13:35:16 +05:30
README.md Remove dapptools and update test readme to use stack-orchestrator 2022-05-05 14:34:09 +05:30
watch_address_integration_test.go Update module path for v3 2022-05-18 13:35:16 +05:30
watched_address_gap_filling_service_integration_test.go Update module path for v3 2022-05-18 13:35:16 +05:30

Test Insructions

Setup

  • Clone stack-orchestrator and go-ethereum repositories.

  • Checkout v3 release in go-ethereum repo.

    # In go-ethereum repo.
    git checkout v1.10.17-statediff-3.2.0
    
  • Checkout working commit in stack-orchestrator repo.

    # In stack-orchestrator repo.
    git checkout fcbc74451c5494664fe21f765e89c9c6565c07cb
    

Run

  • Run unit tests:

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

    • Update (Replace existing content) config file config.sh in stack-orchestrator repo:

      #!/bin/bash
      
      # Path to go-ethereum repo.
      vulcanize_go_ethereum=~/go-ethereum/
      
      # Path to ipld-eth-server repo.
      vulcanize_ipld_eth_server=~/ipld-eth-server/
      
      db_write=true
      eth_forward_eth_calls=false
      eth_proxy_on_error=false
      eth_http_path="go-ethereum:8545"
      
    • Run stack-orchestrator:

      # In stack-orchestrator root directory.
      cd helper-scripts
      
      ./wrapper.sh \
      -e docker \
      -d ../docker/latest/docker-compose-db.yml \
      -d ../docker/local/docker-compose-go-ethereum.yml \
      -d ../docker/local/docker-compose-ipld-eth-server.yml \
      -v remove \
      -p ../config.sh
      
    • Run test:

      # In ipld-eth-server root directory.
      ./scripts/run_integration_test.sh
      
    • Update config.sh file:

      #!/bin/bash
      
      # Path to go-ethereum repo.
      vulcanize_go_ethereum=~/go-ethereum/
      
      # Path to ipld-eth-server repo.
      vulcanize_ipld_eth_server=~/ipld-eth-server/
      
      db_write=false
      eth_forward_eth_calls=true
      eth_proxy_on_error=false
      eth_http_path="go-ethereum:8545"
      
    • Stop the stack-orchestrator and start again using the same command

    • Run integration tests for direct proxy fall-through of eth_calls:

      ./scripts/run_integration_test_forward_eth_calls.sh
      
    • Update config.sh file:

      #!/bin/bash
      
      # Path to go-ethereum repo.
      vulcanize_go_ethereum=~/go-ethereum/
      
      # Path to ipld-eth-server repo.
      vulcanize_ipld_eth_server=~/ipld-eth-server/
      
      db_write=true
      eth_forward_eth_calls=false
      eth_proxy_on_error=false
      eth_http_path="go-ethereum:8545"
      watched_addres_gap_filler_enabled=true
      watched_addres_gap_filler_interval=5
      
    • Stop the stack-orchestrator and start again using the same command

    • Run integration tests for watched addresses with gap filling service enabled:

      ./scripts/run_integration_test_watched_address_gap_filler.sh