cast dan anvil
CLI dan node lokal
cast dan anvil adalah pelajaran Web3 & DApp Development Fundamentals gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Web3 & DApp Development Fundamentals, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Web3 & DApp Development Fundamentals mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
Two CLI Workhorses
Beyond forge, Foundry ships cast and anvil. cast is a Swiss-army knife for interacting with chains and contracts from the terminal. anvil is a fast local Ethereum node for development.
Together they let you deploy, call, and inspect contracts without writing any application code.
Starting Anvil
Running anvil spins up a local chain at http://127.0.0.1:8545. It prints ten pre-funded accounts with their private keys, ready for testing.
By default it mines a block for every transaction instantly, so there is no waiting.
$ anvil
Listening on 127.0.0.1:8545
Available Accounts
(0) 0xf39F...2266 (10000 ETH)
Private Keys
(0) 0xac09...ff80Anvil Options
Anvil is highly configurable:
--fork-url— fork a live network's state--block-time— mine on a fixed interval instead of per-transaction--accounts/--balance— control test accounts--chain-id— set the chain id
$ anvil --fork-url https://eth.example.com --block-time 5Reading Chain Data with Cast
cast queries chain state directly. Common read commands:
cast block-number— current blockcast balance <addr>— ETH balancecast nonce <addr>— account nonce
$ cast block-number --rpc-url http://127.0.0.1:8545
$ cast balance 0xf39F...2266Calling View Functions
cast call performs a read-only call to a contract function, returning the result without sending a transaction or spending gas.
$ cast call 0xToken "balanceOf(address)(uint256)" 0xUser \
--rpc-url http://127.0.0.1:8545Sending Transactions
cast send signs and broadcasts a state-changing transaction. You supply the contract address, the function signature, arguments, and a private key.
$ cast send 0xToken "transfer(address,uint256)" 0xBob 100 \
--private-key $PK --rpc-url http://127.0.0.1:8545Encoding and Decoding
Cast handles ABI and data conversions:
cast abi-encode/cast calldata— build calldatacast 4byte— look up a function selectorcast --to-dec/--to-hex— number base conversioncast keccak— hash a value
$ cast calldata "transfer(address,uint256)" 0xBob 100
$ cast keccak "Transfer(address,address,uint256)"Inspecting Transactions
After sending, inspect results:
cast tx <hash>— transaction detailscast receipt <hash>— receipt including gasUsed and logscast run <hash>— replay with a full trace
cast run is invaluable for debugging why a transaction reverted.
$ cast receipt 0xabc...123
$ cast run 0xabc...123 --rpc-url http://127.0.0.1:8545Cheats on Anvil
Anvil exposes special RPC methods for testing, mirroring Foundry cheatcodes:
anvil_setBalance— set any account's balanceanvil_impersonateAccount— send as any addressanvil_mine— mine blocks on demandevm_increaseTime— advance the clock
Call them through cast rpc.
$ cast rpc anvil_setBalance 0xUser 0xDE0B6B3A7640000
$ cast rpc evm_increaseTime 3600A Local Workflow
A typical local loop:
- Start
anvilin one terminal - Deploy with
forge scriptorforge createagainst it - Use
cast sendandcast callto exercise the contract - Debug failures with
cast run
All without leaving the command line.
$ forge create src/Counter.sol:Counter \
--private-key $PK --rpc-url http://127.0.0.1:8545Forking for Realistic Tests
Combining anvil --fork-url with cast lets you experiment against a snapshot of mainnet locally: impersonate a whale, call a live protocol, and see real behavior without spending real funds.
This is the safest way to prototype interactions with deployed contracts.
Quick Check
Which command performs a read-only call to a contract function without sending a transaction or spending gas?
Recap
You learned the cast and anvil tools:
anvilruns a fast local node with pre-funded accounts and forkingcast callreads state;cast sendwrites it- Cast encodes/decodes calldata, hashes, and inspects receipts and traces
cast runreplays transactions for debugging- Anvil RPC cheats manipulate balances, time, and mining
This completes the Foundry Toolkit course.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “cast dan anvil” gratis?
Ya — teks lengkap “cast dan anvil” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Web3 & DApp Development Fundamentals, upgrade ke CoddyKit PRO. Kursus Web3 & DApp Development Fundamentals mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “cast dan anvil”?
CLI dan node lokal Kamu berlatih Web3 & DApp Development Fundamentals dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Web3 & DApp Development Fundamentals?
Tidak diperlukan pengalaman sebelumnya. Web3 & DApp Development Fundamentals di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “cast dan anvil” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Web3 & DApp Development Fundamentals ini?
Ya. Setiap pelajaran Web3 & DApp Development Fundamentals menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Foundry vs Hardhat
- Pengujian forge
- Fuzzing dan Invarian
- cast dan anvil