Files
scroll/common/bytecode
2023-05-23 11:11:38 +08:00
..
2023-05-18 17:13:09 +08:00
2023-05-18 17:13:09 +08:00
2023-05-23 09:56:26 +08:00
2023-05-18 16:53:09 +08:00
2023-05-23 11:11:38 +08:00

How to pre deploy contracts?

  1. Setup env
   git clone git@github.com:scroll-tech/genesis-creator.git
   cd genesis-creator
   go get -v github.com/scroll-tech/go-ethereum@develop && go mod tidy
   make abi && make genesis-creator
   make l2geth-docker
  1. Start docker and write pre deployed contracts into genesis file.
   make start-docker
   ./bin/genesis-creator -genesis ${SCROLLPATH}/common/docker/l2geth/genesis.json -contract [erc20|greeter]
  1. Rebuild l2geth docker.
   cd ${SCROLLPATH}
   make dev_docker

How to get contract abi?

  • Other contracts' step same to eth20, e.g:
  1. Install solc.

    Reference to https://docs.soliditylang.org/en/latest/installing-solidity.html

  2. Get abi file.

   cd genesis-creator
   solc --combined-json "abi" --optimize ${SCROLLPATH}/common/bytecode/erc20/ERC20Mock.sol | jq > ${SCROLLPATH}/common/bytecode/erc20/ERC20Mock.json
  1. Translate abi to go.
   cd ${SCROLLPATH}
   make -C common/bytecode all