harb/onchain/README.md

67 lines
980 B
Markdown
Raw Normal View History

2024-03-12 12:01:48 +01:00
## Foundry
2023-11-21 21:24:48 +01:00
2024-03-12 12:01:48 +01:00
**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
```shell
$ forge build
```
### Test
```shell
$ forge test
2023-11-21 21:24:48 +01:00
```
2024-03-12 12:01:48 +01:00
### Format
```shell
$ forge fmt
```
### Gas Snapshots
```shell
$ forge snapshot
2023-11-21 21:24:48 +01:00
```
2024-03-12 12:01:48 +01:00
### Anvil
2023-11-21 21:24:48 +01:00
2024-03-12 12:01:48 +01:00
```shell
$ anvil
2023-11-21 21:24:48 +01:00
```
2024-03-12 12:01:48 +01:00
### Deploy
```shell
$ forge script script/Counter.s.sol:CounterScript --rpc-url <your_rpc_url> --private-key <your_private_key>
```
### Cast
```shell
$ cast <subcommand>
2023-11-21 21:24:48 +01:00
```
2024-03-12 12:01:48 +01:00
### Help
2023-11-21 21:24:48 +01:00
2024-03-12 12:01:48 +01:00
```shell
$ forge --help
$ anvil --help
$ cast --help
2023-11-21 21:24:48 +01:00
```