You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
2.3 KiB

  1. Test Ethclient - Contracts
  2. ## Contracts
  3. The first step is to clone the github repository where the contracts are located:
  4. `git clone https://github.com/hermeznetwork/contracts.git`
  5. While the prepared deployment is not found to master, branch in repository must be changed:
  6. `git checkout feature/newDeploymentScript-eth` (tested with commit `6335252b073dc59afafc45040dae8630c72ecdf3`)
  7. Now, install the dependencies:
  8. ```
  9. cd contracts/
  10. yarn install
  11. ```
  12. Go to where the deployment scripts for the test are found:
  13. `cd scripts/ethclient-deployment/`
  14. Now, in a terminal start a local blockchain with ganache:
  15. ```
  16. ../../node_modules/.bin/ganache-cli -d -m "explain tackle mirror kit van hammer degree position ginger unfair soup bonus" -p 8545 -l 12500000 -a 20 -e 10000 --allowUnlimitedContractSize --chainId 31337
  17. ```
  18. Once ganache is ready, in another terminal run the deployment in the local ganache network:
  19. ```
  20. npx buidler run --network localhostMnemonic test-deployment.js
  21. ```
  22. An output file necessary for the next step is obtained: `deploy-output`.
  23. > The files that appear in `hermez-node/eth/contracts` must be generated from the same contract that we deploy in this step
  24. ## Ethclient Test
  25. Different environment variables are necessary to run this test.
  26. They must be taken from the output file of the previous step.
  27. They can be provided by file called `.env`:
  28. ```
  29. GENESIS_BLOCK=98
  30. AUCTION="0x317113D2593e3efF1FfAE0ba2fF7A61861Df7ae5"
  31. AUCTION_TEST="0x2b7dEe2CF60484325716A1c6A193519c8c3b19F3"
  32. TOKENHEZ="0x5D94e3e7aeC542aB0F9129B9a7BAdeb5B3Ca0f77"
  33. HERMEZ="0x8EEaea23686c319133a7cC110b840d1591d9AeE0"
  34. WDELAYER="0x5E0816F0f8bC560cB2B9e9C87187BeCac8c2021F"
  35. WDELAYER_TEST="0xc8F466fFeF9E9788fb363c2F4fBDdF2cAe477805"
  36. ```
  37. > An example is found in `hermez-node/eth/.env.example`
  38. And then run test from `hermez-node/eth/`:
  39. `INTEGRATION=1 go test`
  40. Or they can be provided as a parameter in the command that runs the test:
  41. `INTEGRATION=1 GENESIS_BLOCK=98 AUCTION="0x317113D2593e3efF1FfAE0ba2fF7A61861Df7ae5" AUCTION_TEST="0x2b7dEe2CF60484325716A1c6A193519c8c3b19F3" TOKENHEZ="0x5D94e3e7aeC542aB0F9129B9a7BAdeb5B3Ca0f77" HERMEZ="0x8EEaea23686c319133a7cC110b840d1591d9AeE0" WDELAYER="0x5E0816F0f8bC560cB2B9e9C87187BeCac8c2021F" WDELAYER_TEST="0xc8F466fFeF9E9788fb363c2F4fBDdF2cAe477805" go test`