forge init
forge fmt
forge compile
or
forge build
- 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
cast send...cast call...