Skip to content
@DAOBridger

DAOBridger

DAOBridger: Cross Chain DAO Solution

DAOBridger is a robust solution designed to support cross-chain DAO functionalities. It allows users to create and vote on proposals across multiple chains without transferring their governance tokens. Follow the steps below to set up the necessary components.

Setting up Hyperlane on Linea

Step 1: Hyperlane Deployment

  1. Clone the Repository: Clone the hyperlane-deploy repo from GitHub:
    git clone https://github.com/DAOBridger/hyperlane-deploy
  2. Install Dependencies: Use Yarn to install dependencies:
    yarn install
  3. Configure Environment Variables: Copy the .env.template file to .env and fill the Infura API key:
    cp .env.template .env
  4. Configure Validators: Update the transaction validators' addresses in config/multisig_ism.ts within the lineagoerli section.
  5. Update Block Height: Update the current block height of the linea goerli network in the config/start_blocks.ts file.
  6. Deploy Hyperlane Contracts: Deploy with the following command (customize as needed):
    yarn ts-node scripts/deploy-hyperlane.ts --local lineagoerli --remotes goerli sepolia --key ${deployer's private key}

Step 2: Hyperlane Validator and Relayer

  1. Clone the Binaries Repo: Clone the hyperlane-binaries repo from GitHub:
    git clone https://github.com/DAOBridger/hyperlane-binaries
  2. Build Binaries: Build the necessary binaries:
    cargo build --release --bin validator
    cargo build --release --bin relayer
  3. Configure Environment Files: Copy and update the environment files:
    cp validator.env.template validator.env
    cp relayer.env.template relayer.env
  4. Run Validator and Relayer: Run the following in separate terminals:
    env $(cat validator.env | grep -v "#" | xargs) ./target/release/validator
    env $(cat relayer.env | grep -v "#" | xargs) ./target/release/relayer

Step 3: Deploying Governor Contracts

  1. Clone Contracts Repo: Clone the contracts repository:
    git clone https://github.com/DAOBridger/contracts
  2. Install Dependencies:
    yarn install
  3. Prepare Hyperlane Artifacts: Delete the existing folder if needed and copy the artifacts:
    cp -r ../hyperlane-deploy/artifacts ./hyperlane-artifacts
  4. Configure Environment Variables: Copy the .env.template file to .env and fill the Infura API key and the Mnemonic:
    cp .env.template .env
  5. Run Migration Scripts: Perform the migration steps across the different networks as follows:
    npx truffle migrate --network lineagoerli --tokenAddress $tokenAddress
    npx truffle migrate --network goerli --tokenAddress $tokenAddress
    npx truffle migrate --network sepolia --tokenAddress $tokenAddress
    npx truffle migrate --network lineagoerli
    npx truffle migrate --network goerli

Conclusion

By following the above steps, you will successfully deploy the governor contract to the linea testnet, goerli, and sepolia chains. Users will now be able to engage in cross-chain DAO activities, including creating proposals and voting without transferring their governance tokens between chains. If you need further assistance or have any questions, please contact [email protected].


Deployed contract addresses

Linea Goerli

Goerli

Sepolia


Technologies Used


Pinned Loading

  1. hyperlane-binaries hyperlane-binaries Public

    Rust

  2. hyperlane-deploy hyperlane-deploy Public

    TypeScript

Repositories

Showing 3 of 3 repositories
  • .github Public
    DAOBridger/.github’s past year of commit activity
    0 0 0 0 Updated Aug 21, 2023
  • DAOBridger/hyperlane-binaries’s past year of commit activity
    Rust 0 0 0 0 Updated Aug 20, 2023
  • DAOBridger/hyperlane-deploy’s past year of commit activity
    TypeScript 0 Apache-2.0 0 0 0 Updated Aug 19, 2023

Top languages

Loading…

Most used topics

Loading…