Files
scroll/common/bytecode/README.md

1.1 KiB

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