geth命令行參數經常使用功能

本文介紹geth經常使用的命令和選項,geth有十幾個命令和幾十個選項,本文只介紹一些最經常使用的命令和選項,解釋它們的用法和用途以及可能存在的誤區。web

1、geth命令格式

geth命令行的通用格式以下:json

geth [options] command [command options] [arguments...]

其中options是geth的啓動參數,它是以--開頭指定的一些可選的選項,如--datadir --rpc等。command是geth運行的命令,如init console等,命令能夠帶有本身可選的選項和參數,如geth init genesis.json中的genesis.json就是init命令的參數。安全

2、經常使用命令

初始化 init

init命令用來初始化創世區塊,也就是建立一條鏈。它須要一個參數:json格式的創世區塊配置文件。通常的格式是:websocket

geth --datadir <DATADIR> init <GENESIS_FILE>

如:socket

geth --datadir "yourdatadir" init genesis.json

會在yourdatadir目錄下生成geth/chaindata目錄,並在這個目錄中寫入創世區塊。若是不指定--datadir選項,會使用默認的datadir,具體請看下文關於--datadir的說明。命令行

管理帳戶 account

account命令用來管理帳戶,它有四個子命令:code

  • list 打印本地全部帳戶地址
  • new 建立一個帳戶
  • update 更新一個已有帳戶
  • import 導入私鑰生成一個帳戶

建立一個新帳戶,通常格式是:ip

geth --datadir <DATADIR> account new

如:rem

geth --datadir "yourdatadir" account new

會提示你設置帳戶密碼,而後會生成一個新帳戶,帳戶存儲在yourdatadir/keystore目錄中,每一個帳戶對應一個文件。rpc

查看帳戶:

geth --datadir "yourdatadir" account list

會打印yourdatadir/keystore中的全部帳戶和它們的存儲位置。

更新帳戶,通常格式是:

geth --datadir <DATADIR> account update <address>

如:

geth --datadir "yourdatadir" account update "a364b52f9f8a0c851dd63ec14ddf691018e842fb"

會提示你輸入帳戶密碼,以後再輸入一個新密碼。update用來將帳戶的存儲格式升級到最新,另一個功能,就是用來修改密碼。

導入私鑰,通常格式是:

geth --datadir <DATADIR> import <keyfile>

<keyfile>是一個文本文件,裏面的內容是要導入的私鑰明文。注意不要泄漏你的私鑰。

進入控制檯 console

console命令會啓動節點並進入交互式JavaScript環境:

geth --datadir "yourdatadir" console

在這裏可使用geth內置的全部JavaScript API。

鏈接到節點 attach

有沒有遇到過這樣的問題:在geth console中執行miner.start(),而後就被挖礦輸出刷屏了,想要再輸入其餘命令怎麼辦?能夠輸入,可是輸入仍是被刷屏,體驗很差。能夠打開兩個窗口,一個窗口挖礦,另外一個窗口還能夠正常輸入命令嗎?能夠,這就是attach命令的用途。

attach命令會進入交互式JavaScript環境,與console命令不一樣的是,attach不會啓動新的節點,它只會鏈接到一個正在運行的節點。就像能夠經過終端遠程登陸Linux系統同樣,attach至關於一個終端,經過它能夠「登陸」到一個geth節點,以後的操做就是操做那個節點。 attach支持三種協議:ipc、http、websocket。在Linux中可使用ipc方式,如:

geth attach ipc:yourdatadir/geth.ipc

若是啓動節點時使用了--rpc選項,也可使用http方式,如:

geth attach http://localhost:8545

刪除數據 removedb

想要刪除區塊數據?刪除<DATADIR>就行了,可是這樣連keystore也刪了,也就是帳戶也沒了。若是想保留帳戶,安全地刪除區塊數據,最好使用removedb

geth --datadir "yourdatadir" removedb

這會刪除yourdatadir/geth/chaindata,其餘東西都不會動。

獲取幫助 help

geth help會列出geth命令行全部可用的命令和選項。想要查看某個命令的幫助,輸入:

geth help <command>

如:

geth help account

查看account命令的幫助。

若是想查看某個命令的子命令的幫助也能夠,如

geth account help new

會顯示account new的幫助。

3、經常使用選項

指定數據目錄 --datadir

相關文章
相關標籤/搜索