Skip to content

shrestha-das/Foundry-SimpleStorage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Initialization

  • forge init

Formatting

  • forge fmt

Compile

  • forge compile

or

  • forge build

Deploy

  • 1) forge create ./src/SimpleStorage.sol:SimpleStorage --rpc-url RPC_URL --private-key PRIVATE_KEY --broadcast
  • 2) Scripting

2A -- firstly, add Script

pragma solidity ^0.8.18;

import {Script} from "forge-std/Script.sol";
import {SimpleStorage} from "../src/SimpleStorage.sol";

contract DeploySimpleStorage is Script{
    function run() external returns(SimpleStorage) {
        vm.startBroadcast();
        SimpleStorage simpleStorage = new SimpleStorage();
        vm.stopBroadcast();
        return simpleStorage;
    }
}

then, run forge script --

  • forge script script/DeploSimpleStorage.s.sol --rpc-url RPC_URL --private-key PRIVATE_KEY --broadcast

2B For more Security

  • cast wallet import NAME --interactive [use the Main Terminal instead of VSCode Terminal]
  • enter the private key one time
  • enter a strong password and remember it
  • you will get a an ADDRESS which you will need
  • Now, forge script script/DeploySimpleStorage.s.sol:DeploySimpleStorage --rpc-url RPC_URL --account NAME --sender ADDRESS --broadcast -vvvv

Interact

  • cast send ...
  • cast call...

About

First foundry-solidity contract

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published