Alpha Dune
  • Welcome
    • Alpha Dune Network
    • Arbitrum Orbit
    • Sentinel Nodes
    • Alpha Dune Community
    • Quick Links
  • WORK WITH US
    • Studios
    • Guardians
  • Dune Token
    • $DUNE Tokenomics
    • $DUNE Token Utility
  • Deploy on Alpha Dune Chain
    • Hardhat
    • Foundry
    • Remix
  • ALPHA DUNE GOVERNANCE
    • Introduction
    • Stakeholder Overview
    • Scope of Governance
    • Governance Cycles
    • Proposal Types, Stages & Quorum
    • Formal ADP Template
    • Voting Process
Powered by GitBook
On this page
  • What is Foundry?
  • Get Started With Foundry
  • Deploying Your Smart Contract
  1. Deploy on Alpha Dune Chain

Foundry

Deploying Smart Contracts using Foundry

What is Foundry?

Foundry is a toolset for Ethereum development written in Rust that assists developers in managing dependencies, compiling projects, running tests, deploying contracts, and interacting with blockchains through the command line interface.

Additionally, Foundry can directly communicate with Alpha Dune’s Ethereum API, enabling the use of Foundry to deploy smart contracts into the Alpha Dune network.

Get Started With Foundry

  1. Install Foundry

  • Linux or MaxOS

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

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs/ | sh
cargo install --git https://github.com/foundry-rs/foundry foundry-cli anvil --bins --locked
  1. Create a project

forge init foundry
  1. Navigate to the Source in the project and create your smart contract

cd src
touch MyToken.sol
  1. Input your smart contract or use the sample contract below.

// SPDX-License-Identifier: MIT
// compiler version must be greater than or equal to 0.8.17 and less than 0.9.0
pragma solidity ^0.8.17;

contract HelloWorld {
    string public greet = "Hello World!";
}
  1. Install OpenZeppelin contracts as a dependency

forge install OpenZeppelin/openzeppelin-contracts
  1. Compile contract

forge build

Deploying Your Smart Contract

Deploying a contract with Forge is a simple process that can be done with a single command. However, it requires an RPC endpoint, a private key that has funds, and any arguments for the constructor of the contract.

For example, the MyToken.sol contract requires an initial supply of tokens to be specified in its constructor, so the command to deploy it on a network will include the argument of 100.

To deploy the MyToken.sol contract, use the command that corresponds to the Alpha Dune chain’s RPC URL while running the forge create command:

forge create --rpc-url "RPC URL" //Insert your RPC URL here
--constructor-args 100 \
--private-key YOUR_PRIVATE_KEY \
src/MyToken.sol:MyToken 
PreviousHardhatNextRemix

Last updated 5 months ago

Page cover image