命令詳情及翻譯
geth 就是go-ethereum的命令行接口
使用形式: geth [options] command [command options] [arguments...]
當(dāng)前版本: 1.7.2-stable-1db4ecdc
-
命令參數(shù)(command)
// 管理賬戶 account Manage accounts // 啟動交互式JavaScript環(huán)境(連接到節(jié)點) attach Start an interactive JavaScript environment (connect to node) // 打開瀏覽器并進(jìn)入提交問題界面 bug opens a window to report a bug on the geth repo // 啟動交互式JavaScript環(huán)境 console Start an interactive JavaScript environment // 從目標(biāo)數(shù)據(jù)鏈文件夾創(chuàng)建一個本地鏈 copydb Create a local chain from a target chaindata folder // 從存儲轉(zhuǎn)儲一個特定的塊 dump Dump a specific block from storage // 顯示配置的值 dumpconfig Show configuration values // 導(dǎo)出區(qū)塊鏈到文件 export Export blockchain into file // 導(dǎo)入一個區(qū)塊鏈文件 import Import a blockchain file // 引導(dǎo)和初始化一個新的起源塊 init Bootstrap and initialize a new genesis block // 執(zhí)行指定的js文件 js Execute the specified JavaScript files // 顯示許可證信息 license Display license information // 產(chǎn)生ethash驗證緩存(測試) makecache Generate ethash verification cache (for testing) // ethash挖掘生成DAG(測試) makedag Generate ethash mining DAG (for testing) // monitor Monitor and visualize node metrics // 移除區(qū)塊鏈和狀態(tài)數(shù)據(jù)庫 removedb Remove blockchain and state databases // 打印版本 version Print version numbers // 管理以太坊錢包 wallet Manage Ethereum presale wallets // 幫助信息 help, h Shows a list of commands or help for one command
-
可選參數(shù)
- ETHEREUM OPTIONS
// TOML的配置文件 --config value TOML configuration file // "/Users/zsk/Library/Ethereum" 就是創(chuàng)建Ethereum文件夾和在其下創(chuàng)建數(shù)據(jù)庫和密鑰存儲庫的相應(yīng)文件和 也可以是其他任何你想放置的位置以及文件以及文件名 --datadir "/Users/zsk/Library/Ethereum" Data directory for the databases and keystore // 密鑰文件文件(默認(rèn)在datadir文件夾下) --keystore Directory for the keystore (default = inside the datadir) --nousb Disables monitoring for and managing USB hardware wallets // 網(wǎng)絡(luò)標(biāo)識符,長整型,默認(rèn)是1 --networkid value Network identifier (integer, 1=Frontier, 2=Morden (disused), 3=Ropsten, 4=Rinkeby) (default: 1) // Ropsten網(wǎng)絡(luò):預(yù)配置工作證明的測試網(wǎng)絡(luò) --testnet Ropsten network: pre-configured proof-of-work test network // Rinkeby網(wǎng)絡(luò): 預(yù)配置權(quán)威證明的測試網(wǎng)絡(luò) --rinkeby Rinkeby network: pre-configured proof-of-authority test network // 開發(fā)者模式(預(yù)先配置的帶有多個調(diào)試標(biāo)志的專用網(wǎng)絡(luò)) --dev Developer mode: pre-configured private network with several debugging flags // 區(qū)塊鏈同步模式:fast,full,light --syncmode "fast" Blockchain sync mode ("fast", "full", or "light") // 報告ethstats服務(wù)器的url流昏,例如:(nodename:secret@host:port) --ethstats value Reporting URL of a ethstats service (nodename:secret@host:port) // 自定義節(jié)點名字 --identity value Custom node name --lightserv value Maximum percentage of time allowed for serving LES requests (0-90) (default: 0) // LES客戶端最大可以用的節(jié)點(默認(rèn)是20) --lightpeers value Maximum number of LES client peers (default: 20) --lightkdf Reduce key-derivation RAM & CPU usage at some expense of KDF strength
- ETHASH OPTIONS
--ethash.cachedir Directory to store the ethash verification caches (default = inside the datadir) --ethash.cachesinmem value Number of recent ethash caches to keep in memory (16MB each) (default: 2) --ethash.cachesondisk value Number of recent ethash caches to keep on disk (16MB each) (default: 3) --ethash.dagdir "/Users/zsk/.ethash" Directory to store the ethash mining DAGs (default = inside home folder) --ethash.dagsinmem value Number of recent ethash mining DAGs to keep in memory (1+GB each) (default: 1) --ethash.dagsondisk value Number of recent ethash mining DAGs to keep on disk (1+GB each) (default: 2)
- TRANSACTION POOL OPTIONS
--txpool.nolocals Disables price exemptions for locally submitted transactions --txpool.journal value Disk journal for local transaction to survive node restarts (default: "transactions.rlp") --txpool.rejournal value Time interval to regenerate the local transaction journal (default: 1h0m0s) --txpool.pricelimit value Minimum gas price limit to enforce for acceptance into the pool (default: 1) --txpool.pricebump value Price bump percentage to replace an already existing transaction (default: 10) --txpool.accountslots value Minimum number of executable transaction slots guaranteed per account (default: 16) --txpool.globalslots value Maximum number of executable transaction slots for all accounts (default: 4096) --txpool.accountqueue value Maximum number of non-executable transaction slots permitted per account (default: 64) --txpool.globalqueue value Maximum number of non-executable transaction slots for all accounts (default: 1024) --txpool.lifetime value Maximum amount of time non-executable transaction are queued (default: 3h0m0s)
- PERFORMANCE TUNING OPTIONS
--cache value Megabytes of memory allocated to internal caching (min 16MB / database forced) (default: 128) --trie-cache-gens value Number of trie node generations to keep in memory (default: 120)
- ACCOUNT OPTIONS
--unlock value Comma separated list of accounts to unlock --password value Password file to use for non-interactive password input
- API AND CONSOLE OPTIONS
--rpc Enable the HTTP-RPC server --rpcaddr value HTTP-RPC server listening interface (default: "localhost") --rpcport value HTTP-RPC server listening port (default: 8545) --rpcapi value API's offered over the HTTP-RPC interface --ws Enable the WS-RPC server --wsaddr value WS-RPC server listening interface (default: "localhost") --wsport value WS-RPC server listening port (default: 8546) --wsapi value API's offered over the WS-RPC interface --wsorigins value Origins from which to accept websockets requests --ipcdisable Disable the IPC-RPC server --ipcpath Filename for IPC socket/pipe within the datadir (explicit paths escape it) --rpccorsdomain value Comma separated list of domains from which to accept cross origin requests (browser enforced) --jspath loadScript JavaScript root path for loadScript (default: ".") --exec value Execute JavaScript statement --preload value Comma separated list of JavaScript files to preload into the console
- NETWORKING OPTIONS
--bootnodes value Comma separated enode URLs for P2P discovery bootstrap (set v4+v5 instead for light servers) --bootnodesv4 value Comma separated enode URLs for P2P v4 discovery bootstrap (light server, full nodes) --bootnodesv5 value Comma separated enode URLs for P2P v5 discovery bootstrap (light server, light nodes) --port value Network listening port (default: 30303) --maxpeers value Maximum number of network peers (network disabled if set to 0) (default: 25) --maxpendpeers value Maximum number of pending connection attempts (defaults used if set to 0) (default: 0) --nat value NAT port mapping mechanism (any|none|upnp|pmp|extip:<IP>) (default: "any") --nodiscover Disables the peer discovery mechanism (manual peer addition) --v5disc Enables the experimental RLPx V5 (Topic Discovery) mechanism --netrestrict value Restricts network communication to the given IP networks (CIDR masks) --nodekey value P2P node key file --nodekeyhex value P2P node key as hex (for testing)
- MINER OPTIONS
--mine Enable mining --minerthreads value Number of CPU threads to use for mining (default: 4) --etherbase value Public address for block mining rewards (default = first account created) (default: "0") --targetgaslimit value Target gas limit sets the artificial target gas floor for the blocks to mine (default: 4712388) --gasprice "18000000000" Minimal gas price to accept for mining a transactions --extradata value Block extra data set by the miner (default = client version)
- GAS PRICE ORACLE OPTIONS
--gpoblocks value Number of recent blocks to check for gas prices (default: 10) --gpopercentile value Suggested gas price is the given percentile of a set of recent transaction gas prices (default: 50)
- VIRTUAL MACHINE OPTIONS
--vmdebug Record information useful for VM and contract debugging
- LOGGING AND DEBUGGING OPTIONS
--metrics Enable metrics collection and reporting --fakepow Disables proof-of-work verification --nocompaction Disables db compaction after import --verbosity value Logging verbosity: 0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (default: 3) --vmodule value Per-module verbosity: comma-separated list of <pattern>=<level> (e.g. eth/*=5,p2p=4) --backtrace value Request a stack trace at a specific logging statement (e.g. "block.go:271") --debug Prepends log messages with call-site location (file and line number) --pprof Enable the pprof HTTP server --pprofaddr value pprof HTTP server listening interface (default: "127.0.0.1") --pprofport value pprof HTTP server listening port (default: 6060) --memprofilerate value Turn on memory profiling with the given rate (default: 524288) --blockprofilerate value Turn on block profiling with the given rate (default: 0) --cpuprofile value Write CPU profile to the given file --trace value Write execution trace to the given file
- WHISPER (EXPERIMENTAL) OPTIONS
--shh Enable Whisper --shh.maxmessagesize value Max message size accepted (default: 1048576) --shh.pow value Minimum POW accepted (default: 0.2)
- DEPRECATED OPTIONS
--fast Enable fast syncing through state downloads --light Enable light client mode
- MISC OPTIONS
--help, -h show help
- ETHEREUM OPTIONS
-
真實配置過程
1. geth --datadir "/Users/zsk/Library/Ethereum" --dev 解析: --datadir "/Users/zsk/Library/Ethereum" 就是創(chuàng)建數(shù)據(jù)庫和密鑰存儲庫的相應(yīng)文件和Ethereum文件夾 --dev 開發(fā)者模式(預(yù)先配置的帶有多個調(diào)試標(biāo)志的專用網(wǎng)絡(luò)) error: Fatal: Error starting protocol stack: database already contains an incompatible genesis block (have d4e56740f876aef8, new e5be92145a301820). 暫未找到解決方案钓葫,但是不影響測試 2. geth --dev console 2>>file_to_log_output 解析: --dev 開發(fā)者模式 console 啟動交互式JavaScript環(huán)境 該命令會打開geth控制臺典徊,同時在當(dāng)前命令行所在的文件目錄下生成一個叫做file_to_log_output的日志文件淌实,一些操作打印日志會直接記錄在這個文件中 3. geth控制臺操作 eth.accounts // 查看當(dāng)前用戶,返回值為一個數(shù)組 personal.newAccount('密碼') // 創(chuàng)建一個新的用戶 user1 = eth.accounts[0] // 把數(shù)組的第一個值賦予user1 eth.getBalance(user1) // 查詢這個賬戶的余額 miner.start() // 開始挖礦 miner.stop() // 停止挖礦 personal.unlockAccount(user1,'123456') // 解鎖用戶1 eth.sendTransaction({from: user1, to: user2, value:web3.toWei(3,'ether')}) // user1 向 user2 轉(zhuǎn)3個幣 // 現(xiàn)在去查詢user2余額還是為0圣蝎,每次交易的確認(rèn)焚鹊,其實都是需要挖礦的痕届,也就是被其他礦工共識確認(rèn),然后才能加入?yún)^(qū)塊鏈的賬本中 // 所以在此挖礦 miner.start() // 開始挖礦 miner.stop() // 過一會停止挖礦 // 此時在查詢末患,就會發(fā)現(xiàn)user2中有3個幣 eth.getBalance(user2)
-
完整geth命令介紹如下
bogon:~ zsk$ geth help .....