一、前置说明
console控制台中对以太坊的交互操作,是通过JavaScript进行的。交互操作前需要确保以太坊已经启动(例如开启本地以太坊接入rinkeby测试网$./geth --rinkeby console)。
二、启动交互操作的console
在新开的terminal中输入开启console的命令:$./geth attach --datadir "/home/...(存放data的目录路径)"
完整的console命令均在 web3 JavaScript Dapp API中支持,geth支持的Management APIs(https://github.com/ethereum/go-ethereum/wiki/Management-APIs)也可在 web3 JavaScript Dapp API(https://github.com/ethereum/wiki/wiki/JavaScript-API)中得到支持,故此只介绍 web3 JavaScript Dapp API.
三、web3 JavaScript Dapp API.
详见https://github.com/ethereum/wiki/wiki/JavaScript-API
可以在console中输入命令
$web3
获取web3的命令结构。
- version
- isConnected()
- setProvider(provider)
- currentProvider
- reset()
- sha3(string, options)
- toHex(stringOrNumber)
- toAscii(hexString)
- fromAscii(textString)
- toDecimal(hexString)
- fromDecimal(number)
- fromWei(numberStringOrBigNumber, unit)
- toWei(numberStringOrBigNumber, unit)
- toBigNumber(numberOrHexString)
- isAddress(hexString)
- net
- eth
- defaultAccount
- defaultBlock
- syncing/getSyncing
- isSyncing
- coinbase/getCoinbase
- hashrate/getHashrate
- gasPrice/getGasPrice
- accounts/getAccounts
- mining/getMining
- blockNumber/getBlockNumber
- register(hexString) (Not implemented yet)
- unRegister(hexString) (Not implemented yet)
- getBalance(address)
- getStorageAt(address, position)
- getCode(address)
- getBlock(hash/number)
- getBlockTransactionCount(hash/number)
- getUncle(hash/number)
- getBlockUncleCount(hash/number)
- getTransaction(hash)
- getTransactionFromBlock(hashOrNumber, indexNumber)
- getTransactionReceipt(hash)
- getTransactionCount(address)
- sendTransaction(object)
- sendRawTransaction(object)
- sign(object)
- call(object)
- estimateGas(object)
- filter(array (, options) )
- Contract(abiArray)
- contract.myMethod()
- contract.myEvent()
- contract.allEvents()
- getCompilers()
- compile.lll(string)
- compile.solidity(string)
- compile.serpent(string)
- namereg
- sendIBANTransaction
- iban
- db
- shh