Concepts | Concept Map
- Wallet
- Account
- Transaction Structure
- Nonce
- Gas
- Data Flow
- Mempool
- Digital Signatures
Wallet
A software application that helps you manage your Ethereum account
- Gateway into Ethereum system
- Holds keys
- Create and broadcast transactions on our behalf
Multisig Wallet
Account
‘One private key equals one “account”’
“Not your keys; not your funds”
- Externally owned account (EOA)
- Accounts that have a private key (control over access to funds or contracts)
- Can initiate transactions
- Contract account
- Has smart contract code, which a simple EOA can’t have
- Does not have a private key; it is owned and controlled by the logic of its smart contract code
- Recorded on Ethereum blockchain
- Executed by the VM
- When a transaction destination is a contract address, it causes the contract to run in the EVM, using the transaction, and the transaction’s data as input
- Transactions contain data indicating which specific function in contract to run and what parameters to pass to that function
- Cannot initiate transactions
- React to transactions by calling other contracts
- Composable contracts, money legos
- Ex: EOA → Request TX to multisig wallet → Send ETH to another address
- Ethereum contracts are programs that control money that run inside the EVM
- Created by a special transaction that submits their bytecode to be recorded on the blockchain
- Once created, they have an Ethereum address
- Anytime someone sends a transactions to a contract address, the contract runs in the EVM with the transaction as its input
- Transactions sent to contract addresses may have ether or data or both
- Contain ether: it is deposited to the contract balance
- Contain data: the data can specify a named function in the contract and call it, passing arguments to the function
Transactions
- Action initiated by an externally-owned account