Deploy with Foundry

Foundry is a fast, portable, and modular toolkit for Ethereum application development written in Rust. Since Omega is fully EVM-compatible, deploying contracts using Foundry is seamless and developer-friendly.


πŸš€ Why Use Foundry?

  • ⚑ Blazing-fast compilation and deployment

  • βœ… Integrated testing, fuzzing, and scripting

  • πŸ§ͺ Excellent for CI/CD pipelines

  • πŸ› οΈ Works great with Solidity 0.8+


πŸ“¦ Prerequisites

Install Foundry if you haven’t already:

curl -L https://foundry.paradigm.xyz | bash
foundryup

πŸ”§ Configure Omega Network

In your project root, create or update .env:

RPC_URL=https://0x4e454228.rpc.aurora-cloud.dev
PRIVATE_KEY=your_private_key
CHAIN_ID=1313161768

Update your foundry.toml:

[profile.default]
src = 'src'
out = 'out'
libs = ['lib']
rpc_endpoints = { omega = "${RPC_URL}" }

✍️ Example: Simple Contract

Create a contract in src/Counter.sol:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

contract Counter {
    uint256 public count;

    function increment() external {
        count += 1;
    }
}

πŸ§ͺ Compile and Deploy

Compile the contract:

forge build

Deploy using cast send:

cast send --create ./out/Counter.sol/Counter.json \
  --rpc-url $RPC_URL \
  --private-key $PRIVATE_KEY \
  --chain-id $CHAIN_ID

πŸ’‘ Post-Deployment Tips

  • βœ… Use cast call to read state

  • πŸš€ Use cast send to interact with your contract

  • πŸ’° Make sure your deployer wallet has $OMEGA for gas

Example read:

cast call <CONTRACT_ADDRESS> "count()" --rpc-url $RPC_URL

Last updated