account
管理賬戶attach
啟動交互式JavaScript環境(連接到節點)bug
上報bug Issuesconsole
啟動交互式JavaScript環境copydb
從文件夾創建本地鏈dump
(分析)一個特定的塊存儲dumpconfig
顯示配置值export
導出區塊鏈到文件import
導入一個區塊鏈文件init
啟動並初始化一個新的創世紀塊js
執行指定的JavaScript文件(多個)license
顯示許可信息makecache
生成ethash驗證緩存(用於測試)makedag
生成ethash 挖礦DAG(用於測試)monitor
監控和可視化節點指標removedb
刪除區塊鏈和狀態數據庫version
打印版本號wallet
管理Ethereum預售錢包help,h
顯示一個命令或幫助一個命令列表
ETHEREUM選項:
- config value TOML 配置文件
- datadir “xxx” 數據庫和keystore密鑰的數據目錄
- keystore keystore存放目錄(默認在datadir內)
- nousb 禁用監控和管理USB硬件錢包
- networkid value 網絡標識符(整型, 1=Frontier, 2=Morden (棄用), 3=Ropsten, 4=Rinkeby) (默認: 1)
- testnet Ropsten網絡:預先配置的POW(proof-of-work)測試網絡
- rinkeby Rinkeby網絡: 預先配置的POA(proof-of-authority)測試網絡
- syncmode “fast” 同步模式 (“fast”, “full”, or “light”)
- ethstats value 上報ethstats service URL (nodename:secret@host:port)
- identity value 自定義節點名
- lightserv value 允許LES請求時間最大百分比(0 – 90)(默認值:0)
- lightpeers value 最大LES client peers數量(默認值:20)
- lightkdf 在KDF強度消費時降低key-derivation RAM&CPU使用
開發者(模式)選項:
- dev 使用POA共識網絡,默認預分配一個開發者賬戶並且會自動開啟挖礦。
- dev.period value 開發者模式下挖礦周期 (0 = 僅在交易時) (默認: 0)
ETHASH 選項:
- ethash.cachedir ethash驗證緩存目錄(默認 = datadir目錄內)
- ethash.cachesinmem value 在內存保存的最近的ethash緩存個數 (每個緩存16MB ) (默認: 2)
- ethash.cachesondisk value 在磁盤保存的最近的ethash緩存個數 (每個緩存16MB) (默認: 3)
- ethash.dagdir “” 存ethash DAGs目錄 (默認 = 用戶hom目錄)
- ethash.dagsinmem value 在內存保存的最近的ethash DAGs 個數 (每個1GB以上) (默認: 1)
- ethash.dagsondisk value 在磁盤保存的最近的ethash DAGs 個數 (每個1GB以上) (默認: 2)
交易池選項:
- txpool.nolocals 為本地提交交易禁用價格豁免
- txpool.journal value 本地交易的磁盤日志:用於節點重啟 (默認: “transactions.rlp”)
- txpool.rejournal value 重新生成本地交易日志的時間間隔 (默認: 1小時)
- txpool.pricelimit value 加入交易池的最小的gas價格限制(默認: 1)
- txpool.pricebump value 價格波動百分比(相對之前已有交易) (默認: 10)
- txpool.accountslots value 每個帳戶保證可執行的最少交易槽數量 (默認: 16)
- txpool.globalslots value 所有帳戶可執行的最大交易槽數量 (默認: 4096)
- txpool.accountqueue value 每個帳戶允許的最多非可執行交易槽數量 (默認: 64)
- txpool.globalqueue value 所有帳戶非可執行交易最大槽數量 (默認: 1024)
- txpool.lifetime value 非可執行交易最大入隊時間(默認: 3小時)
性能調優的選項:
- cache value 分配給內部緩存的內存MB數量,緩存值(最低16 mb /數據庫強制要求)(默認:128)
- trie-cache-gens value 保持在內存中產生的trie node數量(默認:120)
帳戶選項:
- unlock value 需解鎖賬戶用逗號分隔
- password value 用於非交互式密碼輸入的密碼文件
API和控制台選項:
- rpc 啟用HTTP-RPC服務器
- rpcaddr value HTTP-RPC服務器接口地址(默認值:“localhost”)
- rpcport value HTTP-RPC服務器監聽端口(默認值:8545)
- rpcapi value 基於HTTP-RPC接口提供的API
- ws 啟用WS-RPC服務器
- wsaddr value WS-RPC服務器監聽接口地址(默認值:“localhost”)
- wsport value WS-RPC服務器監聽端口(默認值:8546)
- wsapi value 基於WS-RPC的接口提供的API
- wsorigins value websockets請求允許的源
- ipcdisable 禁用IPC-RPC服務器
- ipcpath 包含在datadir里的IPC socket/pipe文件名(轉義過的顯式路徑)
- rpccorsdomain value 允許跨域請求的域名列表(逗號分隔)(瀏覽器強制)
- jspath loadScript JavaScript加載腳本的根路徑(默認值:“.”)
- exec value 執行JavaScript語句(只能結合console/attach使用)
- preload value 預加載到控制台的JavaScript文件列表(逗號分隔)
網絡選項:
- bootnodes value 用於P2P發現引導的enode urls(逗號分隔)(對於light servers用v4+v5代替)
- bootnodesv4 value 用於P2P v4發現引導的enode urls(逗號分隔) (light server, 全節點)
- bootnodesv5 value 用於P2P v5發現引導的enode urls(逗號分隔) (light server, 輕節點)
- port value 網卡監聽端口(默認值:30303)
- maxpeers value 最大的網絡節點數量(如果設置為0,網絡將被禁用)(默認值:25)
- maxpendpeers value 最大嘗試連接的數量(如果設置為0,則將使用默認值)(默認值:0)
- nat value NAT端口映射機制 (any|none|upnp|pmp|extip:) (默認: “any”)
- nodiscover 禁用節點發現機制(手動添加節點)
- v5disc 啟用實驗性的RLPx V5(Topic發現)機制
- nodekey value P2P節點密鑰文件
- nodekeyhex value 十六進制的P2P節點密鑰(用於測試)
礦工選項:
- mine 打開挖礦
- minerthreads value 挖礦使用的CPU線程數量(默認值:8)
- etherbase value 挖礦獎勵地址(默認=第一個創建的帳戶)(默認值:“0”)
- targetgaslimit value 目標gas限制:設置最低gas限制(低於這個不會被挖?) (默認值:“4712388”)
- gasprice value 挖礦接受交易的最低gas價格
- extradata value 礦工設置的額外塊數據(默認=client version)
GAS價格選項:
- gpoblocks value 用於檢查gas價格的最近塊的個數 (默認: 10)
- gpopercentile value 建議gas價參考最近交易的gas價的百分位數,(默認: 50)
虛擬機的選項:
- vmdebug 記錄VM及合約調試信息
日志和調試選項:
- metrics 啟用metrics收集和報告
- fakepow 禁用proof-of-work驗證
- verbosity value 日志詳細度:0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (default: 3)
- vmodule value 每個模塊詳細度:以 =的逗號分隔列表 (比如 eth/*=6,p2p=5)
- backtrace value 請求特定日志記錄堆棧跟蹤 (比如 “block.go:271”)
- debug 突出顯示調用位置日志(文件名及行號)
- pprof 啟用pprof HTTP服務器
- pprofaddr value pprof HTTP服務器監聽接口(默認值:127.0.0.1)
- pprofport value pprof HTTP服務器監聽端口(默認值:6060)
- memprofilerate value 按指定頻率打開memory profiling (默認:524288)
- blockprofilerate value 按指定頻率打開block profiling (默認值:0)
- cpuprofile value 將CPU profile寫入指定文件
- trace value 將execution trace寫入指定文件
WHISPER實驗選項:
- shh 啟用Whisper
- shh.maxmessagesize value 可接受的最大的消息大小 (默認值: 1048576)
- shh.pow value 可接受的最小的POW (默認值: 0.2)
棄用選項:
- fast 開啟快速同步
- light 啟用輕客戶端模式
其他選項:
- help, -h 顯示幫助
創建賬戶
geth account new
personal.newAccount(“password”)
查看賬戶
geth account list
快速同步模式
geth --fast console 2>network_sync.log
瀏覽日志
tail -f network_sync.log
查看賬戶余額
eth.getBalance(eth.accounts[ ])
解鎖賬戶
personal.unlockAccount(eth.accounts[], )
挖礦
geth --mine --minerthreads=4
miner.start(8)
結束挖礦
miner.stop()
查看挖礦速率
miner.getHashrate()
查看區塊高度
eth.blockNumber
查看挖礦賬戶
eth.coinbase
設置挖礦賬戶
miner.setEtherbase(eth.accounts[0])
預估手續費
bytecode = “”
web3.eth.estimateGas({data: bytecode})
以發起一個 0.01 個 ether 的轉賬交易為例
var sender = eth.accounts[0];
var receiver = eth.accounts[1];
var amount = web3.toWei(0.01, “ether”)
eth.sendTransaction({from:sender, to:receiver, value: amount, gas: gasAmount})
在控制台里,使用這些命令檢查連接狀態
net.listening:檢查是否連接
net.peerCount:連接到的節點個數
admin.peers:返回連接到的節點的詳細信息
admin.nodeInfo:返回本地節點的詳細信息
賬戶操作
- eth.accounts //查看賬戶
- personal.listAccounts //查看賬戶
- personal.newAccount("***") //新建賬戶
- personal.unlockAccount("**********") //解鎖賬戶
- personal.lockAccount("**********") //鎖定賬戶
代幣操作
eth.getBalance()
//查看余額web3.fromWei()
//單位換算
節點操作
- net模塊
- net.listening //查看節點狀態
- net.peerCount // 查看節點鏈接的數量
- admin模塊
- admin.nodeInfo //查看節點信息
- admin.addPeer() //添加節點
- admin.peers //查看添加的節點的信息
一些設置命令
- miner.setEtherbase(eth.accounts[n]) //etherbase地址並不需要一定是本機上
- miner.setExtra(“zhou”) //寫一些額外信息
- eth.getBlock(n) //查看區塊信息
BIZZAN(幣嚴) 數字貨幣交易所官方網址:
www.bizzan.com