Ethereum is a technology that’s home to digital money, global payments, and digital money applications, on the top of Blockchain.
1. Notes
I think there are three pillars of developing Ethereum decentralised applications: Smart contracts, Front-ends, and Tests.
2. Tools
-
web3.py GitHub Official Document
-
eth.rb GitHub
ethereum.rb is no longer maintained.
-
Our long lasting goddamn friend, Truffle and Ganache will take a permanent sleep.
3. Hacking and CTF Challenges
3.1. Simply call a function using foundry cast
If it is on your localhost network, simply use 'call' subcommand with your desired function and a target contract address.
You can set up your own localhost testnet using Anvil.
If it is on other than local testnet, you should specify RPC URL with --rpc-url
option.
You can google it, I’d like to use https://chainlist.org/chain/1.
$ cast call 0x6b175474e89094c44da98b954eedeac495271d0f "name()(string)" --rpc-url=https://mainnet.gateway.tenderly.co
"Dai Stablecoin"
Because cast call
is a command-line wrapper of Ethereum RPC call
, it is possible to specify the requester(sender) by adding --from
option.
cast call 0x<Contract Address> "testFunction()(string)" --from=0x<Your Address>