Code Monkey home page Code Monkey logo

contract-deploy-test's Introduction

contract-deploy-test

Example

# start anvil with other console
anvil

# deploy
forge create src/Erc20TestToken.sol:Erc20TestToken --rpc-url http://127.0.0.1:8545 --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
forge create src/Erc721TestNft.sol:Erc721TestNft --rpc-url http://127.0.0.1:8545 --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
forge create src/Erc1155TestNft.sol:Erc1155TestNft --rpc-url http://127.0.0.1:8545 --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80

# Erc20TestToken example
cast call 0x5fbdb2315678afecb367f032d93f642f64180aa3 "symbol()(string)" --rpc-url http://localhost:8545
cast call 0x5fbdb2315678afecb367f032d93f642f64180aa3 "name()(string)" --rpc-url http://localhost:8545
cast call 0x5fbdb2315678afecb367f032d93f642f64180aa3 "totalSupply()(uint256)" --rpc-url http://localhost:8545
cast call 0x5fbdb2315678afecb367f032d93f642f64180aa3 "balanceOf(address)(uint256)" 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 --rpc-url http://localhost:8545
cast send 0x5fbdb2315678afecb367f032d93f642f64180aa3 --private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d "mint(address,uint256)" 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 1000 --rpc-url http://localhost:8545
cast call 0x5fbdb2315678afecb367f032d93f642f64180aa3 "balanceOf(address)(uint256)" 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 --rpc-url http://localhost:8545
cast send 0x5fbdb2315678afecb367f032d93f642f64180aa3 --private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d "transfer(address,uint256)" 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC 600 --rpc-url http://localhost:8545
cast call 0x5fbdb2315678afecb367f032d93f642f64180aa3 "balanceOf(address)(uint256)" 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 --rpc-url http://localhost:8545
cast call 0x5fbdb2315678afecb367f032d93f642f64180aa3 "balanceOf(address)(uint256)" 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC --rpc-url http://localhost:8545
cast send 0x5fbdb2315678afecb367f032d93f642f64180aa3 --private-key 0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a "burn(address,uint256)" 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC 600 --rpc-url http://localhost:8545
cast call 0x5fbdb2315678afecb367f032d93f642f64180aa3 "balanceOf(address)(uint256)" 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC --rpc-url http://localhost:8545
cast send 0x5fbdb2315678afecb367f032d93f642f64180aa3 --private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d "burn(address,uint256)" 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 400 --rpc-url http://localhost:8545
cast call 0x5fbdb2315678afecb367f032d93f642f64180aa3 "balanceOf(address)(uint256)" 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 --rpc-url http://localhost:8545

# Erc721TestNft example
cast send 0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512 --private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d "mint(address,uint256)" 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 1 --rpc-url http://localhost:8545
cast call 0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512 "tokenURI(uint256)(string)" 1 --rpc-url http://localhost:8545
cast call 0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512 "ownerOf(uint256)(address)" 1 --rpc-url http://localhost:8545
cast call 0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512 "balanceOf(address)(uint256)" 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 --rpc-url http://localhost:8545
cast send 0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512 --private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d "safeTransferFrom(address,address,uint256)" 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC 1 --rpc-url http://localhost:8545
cast call 0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512 "balanceOf(address)(uint256)" 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 --rpc-url http://localhost:8545
cast call 0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512 "balanceOf(address)(uint256)" 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC --rpc-url http://localhost:8545
cast send 0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512 --private-key 0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a "burn(uint256)" 1 --rpc-url http://localhost:8545
cast call 0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512 "balanceOf(address)(uint256)" 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC --rpc-url http://localhost:8545

# Erc1155TestNft example
cast send 0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0 --private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d "mint(address,uint256,uint256,bytes)" 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 1 100 0x --rpc-url http://localhost:8545
cast call 0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0 "balanceOf(address,uint256)(uint256)" 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 1 --rpc-url http://localhost:8545
cast send 0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0 --private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d "safeTransferFrom(address,address,uint256,uint256,bytes)" 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC 1 10 0x --rpc-url http://localhost:8545
cast call 0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0 "balanceOf(address,uint256)(uint256)" 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 1 --rpc-url http://localhost:8545
cast call 0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0 "balanceOf(address,uint256)(uint256)" 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC 1 --rpc-url http://localhost:8545
cast send 0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0 --private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d "burn(address,uint256,uint256)" 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 1 10 --rpc-url http://localhost:8545
cast send 0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0 --private-key 0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a "burn(address,uint256,uint256)" 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC 1 10 --rpc-url http://localhost:8545
cast call 0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0 "balanceOf(address,uint256)(uint256)" 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 1 --rpc-url http://localhost:8545
cast call 0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0 "balanceOf(address,uint256)(uint256)" 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC 1 --rpc-url http://localhost:8545
cast send 0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0 --private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d "burn(address,uint256,uint256)" 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 1 80 --rpc-url http://localhost:8545
cast call 0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0 "balanceOf(address,uint256)(uint256)" 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 1 --rpc-url http://localhost:8545

# get nonce
cast nonce 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 --rpc-url http://localhost:8545

Foundry

Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.

Foundry consists of:

  • Forge: Ethereum testing framework (like Truffle, Hardhat and DappTools).
  • Cast: Swiss army knife for interacting with EVM smart contracts, sending transactions and getting chain data.
  • Anvil: Local Ethereum node, akin to Ganache, Hardhat Network.
  • Chisel: Fast, utilitarian, and verbose solidity REPL.

Documentation

https://book.getfoundry.sh/

Usage

Build

forge build

Test

forge test

Format

forge fmt

Gas Snapshots

forge snapshot

Anvil

anvil

Deploy

forge script script/Counter.s.sol:CounterScript --rpc-url <your_rpc_url> --private-key <your_private_key>

Cast

cast <subcommand>

Help

forge --help
anvil --help
cast --help

contract-deploy-test's People

Contributors

k-matsuzawa avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.