This fork: Extends SP1 Helios to support proving source chain contract storage slots, in addition to consensus transitions. Messages can be stored on the source chain and proved on the destination chain, effectively creating a ZK-powered message bridge.
Original: SP1 Helios verifies the consensus of a source chain in the execution environment of a destination chain. For example, you can run an SP1 Helios light client on Polygon that verifies Ethereum Mainnet's consensus.
# (from root) Load environment variables
source .env
cd contracts
# Install dependencies
forge install
# Deploy contract
forge script script/Deploy.s.sol --ffi --rpc-url bsc --broadcast --verify
You can also pass the RPC URL and etherscan API key as arguments to the script:
forge script script/Deploy.s.sol --ffi --rpc-url $DEST_RPC_URL --etherscan-api-key $ETHERSCAN_API_KEY --broadcast --verify
For Plasma chain you need the following comamnd to verify the contract:
forge verify-contract <CONTRACT_ADDRESS> src/SP1Helios.sol:SP1Helios --verifier-url 'https://api.routescan.io/v2/network/mainnet/evm/9745/etherscan'