Skip to main content

Smart Contract

Folder Structure​

Let’s view the file structure for a default foundry project:

$ cd hello_foundry
$ tree . -d -L 1
.
β”œβ”€β”€ lib
β”œβ”€β”€ script
β”œβ”€β”€ src
└── test

4 directories

Demo smart contract​

In the src folder, you will find a simple smart contract called counter.sol. Which contains a simple counter contract.

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.13;

contract Counter {
uint256 public number;

function setNumber(uint256 newNumber) public {
number = newNumber;
}

function increment() public {
number++;
}
}

Compile the Contract​

To build the contract, run the following command in the project's root directory.

forge build

This will compile your smart contracts and generate out directory:

forge build
[⠊] Compiling...
[β ’] Compiling 36 files with Solc 0.8.24
[β ‘] Solc 0.8.24 finished in 1.56s
Compiler run successful!
Last updated on by Owanate Amachree