The =nil; L1 contract to be deployed on Ethereum.
This project contains the =nil; L1 Solidity smart contract as well as the Hardhat tasks and Ignition modules for their deployment.
The NilChain.sol contract fulfils the following functions:
- It is meant to be deployed on Ethereum
- It is used by the sync committee when submitting proofs for verification
- It also handles state root updates
Clone the repository:
git clone https://github.com/NilFoundation/nil.git
cd ./nil/l1-contractsInstall dependencies:
npm installThen, create an .env file and set the following variables:
WALLET_ADDRESS:
PRIVATE_KEY:
Note that WALLET_ADDRESS will act as the owner of NilChain and it will also be used to run the sync committee.
NilChain can then be deployed using either Nil.js, the =nil; CLI or Hardhat.
To compile the contract:
npx hardhat compileTo deploy the contract using Hardhat:
npx hardhat deploy --network local