- Multiple wallets exists (official/non-official, desktop/web app)
- Ethereum wallet
- uses geth to connect to network
- account types
- simple account (send receive ether)
- address
- private key protected by password
- contract account
- address
- no private key
- hold / run code
- associated with one or more accounts
- list incoming transactions for simple account (otherwise not)
- not free to use, anytime code runs the associated primary account has to pay gas
- hold / receive / send ether
- type of wallet contract account
- single owner
- for showing incoming transactions
- multi-sig (aka m-of-n accounts, n=number of owners, m=required signatures for non-daily-spend transactions)
- contracts
- deploy contracts
- wallet contracts (pre-packaged, such as previous single owner / multi-sig contracts)
- custom contracts (Dapps)
- watch contracts
- custom token contracts (instances)
- creating own tokens
- provide back-end logic for Dapps
- deploy to network using wallet,
- show-up in the watch-list
- steps:
- new custom contract
- copy/paste code (which will compile)
- specify constructor, and constructor parameter
- deploy
- or deploy using tools & scripts
- not automatically show up in watch-list
- may be added to watch-list, to do that needs:
- interface definition (JSON)
- contract instance address
- deployed contracts
- get - constant get function automatically executed for information
- functions - invoke function in contract
- execute from an account (for fees)
- watch events
- get interface and address from contract
- delete (only from wallet watch-list, still at network, can be added back)
- directories
- ~/.ethereum
- keystore : accounts
- chaindata : block chain data
- logs (developer menu)
- mining
- develop -> start mining
- result depends on: machine, connected peers, bandwidth, luck
- sending
- speed depends on offered fees