geth使用筆記

geth 的全稱是 go-ethereum,是以太坊的 go 語言命令行客戶端,也是最流行的客戶端恨憎。

本文是對(duì) geth 使用的簡(jiǎn)單介紹,以有一個(gè)感性的初步認(rèn)識(shí)验夯。geth 完整教程請(qǐng)見另一篇文章以太坊文檔

安裝

安裝教程請(qǐng)參見 Building Ethereum

網(wǎng)絡(luò)部署

以太坊除了主網(wǎng)絡(luò)猖吴,還有各種各樣的測(cè)試網(wǎng)絡(luò)。使用 geth 前要先解決要進(jìn)入哪一個(gè)網(wǎng)絡(luò)挥转。

主網(wǎng)絡(luò)

同步區(qū)塊

在主網(wǎng)絡(luò)下海蔽,我們需要下載區(qū)塊共屈,以和網(wǎng)絡(luò)保持同步。下載命令如下

  • 快速同步模式: geth --fast党窜,不會(huì)把所有區(qū)塊數(shù)據(jù)下載到本地
  • 全節(jié)點(diǎn)模式:geth拗引,下載全部的區(qū)塊數(shù)據(jù),需要等待較長(zhǎng)時(shí)間幌衣。

下載目錄

主網(wǎng)絡(luò)的區(qū)塊數(shù)據(jù)的存放目錄默認(rèn)是 /Users/<username>/Library/Ethereum(Mac OS X 下)

  • 其他系統(tǒng)下矾削,可用方式找到默認(rèn)存放路徑:geth -h后搜索--datadir,后面緊跟的就是區(qū)塊數(shù)據(jù)存放的目錄
  • 如果你想將區(qū)塊下載到其他目錄豁护,可以使用命令geth --fast --datadir "<path>"(需要引號(hào))

更優(yōu)雅的同步方式

  • geth --fast console 2>network_sync.log:同步時(shí)把同步日志文件重定向到network_sync.log中哼凯,同時(shí)切換到控制臺(tái)模式(后面會(huì)提)。這樣就可以邊同步邊使用命令楚里。
  • tail -f network_sync.log 可以重新瀏覽到日志

不同客戶端是可以共用區(qū)塊數(shù)據(jù)的断部。如用 geth 同步的區(qū)塊數(shù)據(jù),可以在 Ethereum Wallet 或 Mist 等客戶端使用(即使用其他客戶端時(shí)班缎,不必再次同步)

測(cè)試網(wǎng)絡(luò)

測(cè)試網(wǎng)絡(luò)是供開發(fā)和測(cè)試使用的蝴光。如只是單純地使用錢包,可以跳過這一節(jié)达址。

測(cè)試網(wǎng)絡(luò)需要從創(chuàng)世塊開始挖起蔑祟。部署方式如下

  1. 新建創(chuàng)世塊參數(shù)文件 genesis.json,內(nèi)容如下
{
    "config": {
        "chainId": 15,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
    "difficulty": "10000",
    "gasLimit": "2100000",
    "alloc": {
        "7df9a875a174b3bc565e6424a0050ebc1b2d1d82": { "balance": "300000" },
        "f41c74c9ae680c1aa78f42e5647a62f353b7bdde": { "balance": "400000" }
    }
}
  1. geth --datadir ./ethdev init genesis.json:初始化測(cè)試網(wǎng)絡(luò)的以太坊苏携。./ethdev是存放測(cè)試網(wǎng)絡(luò)數(shù)據(jù)的文件夾做瞪,可以任意指定。

測(cè)試網(wǎng)絡(luò)這樣就部署好了右冻,但里面一個(gè)區(qū)塊和賬戶都沒有装蓬。

參考:Private network

使用

運(yùn)行

運(yùn)行客戶端的方式如下

  • 主網(wǎng)絡(luò)
    • 如果區(qū)塊數(shù)據(jù)在默認(rèn)目錄下:geth
    • 如果區(qū)塊數(shù)據(jù)在其他目錄下:geth --datadir path/ethereum
  • 測(cè)試網(wǎng)絡(luò):geth --datadir ./ethdev --networkid 15。你只會(huì)連接與你的協(xié)議版本和 networkid 都相同的節(jié)點(diǎn)纱扭。主網(wǎng)絡(luò)的 networkid 是 1牍帚,所以 networkid 只要不是 1 就可以

更常用的是運(yùn)行客戶端并進(jìn)入控制臺(tái)模式:geth --datadir path/ethdev console 2>console.log,然后使用另開窗口用 tail -f console.log 瀏覽日志乳蛾。

控制臺(tái)

一般操作都在控制臺(tái)模式下進(jìn)行暗赶。

  • 進(jìn)入控制臺(tái)的方式為 geth console
  • 要進(jìn)入測(cè)試網(wǎng)絡(luò)的控制臺(tái),同樣加上參數(shù) --datadir ./ethdev

常用操作如下

  • 列出客戶端中的所有賬戶:eth.accounts肃叶,這是一個(gè)列表蹂随。一般把 u0 = eth.accounts[0],把賬戶賦給變量 u0因惭,便于操作
  • 新建賬戶:personal.newAccount('123456'):新建一個(gè)密碼為 123456 的賬戶岳锁。注意,密碼并不是密鑰蹦魔。
    • 賬戶數(shù)據(jù)保存在區(qū)塊目錄下的 keystore 文件夾中激率。建議把 keystore 文件夾復(fù)制一份到 U 盤里咳燕,備份起來。
  • 查詢賬戶 u0 的余額:eth.getBalance(u0)
  • 獲取最新區(qū)塊號(hào):eth.blockNumber
  • 轉(zhuǎn)賬:u0轉(zhuǎn)給u1
    • 需要先解鎖 u0:personal.unlockAccount(u0,'123456')乒躺,第二個(gè)參數(shù)是密碼
    • eth.sendTransaction({from:u0, to:u1, value:web3.toWei(3, 'ether')})招盲,u0轉(zhuǎn)給u1
  • 挖礦
    • 開始挖礦:miner.start(),不停地挖礦嘉冒,會(huì)返回一個(gè)null曹货;miner.start(1):只挖一個(gè)區(qū)塊
      • 挖礦獎(jiǎng)勵(lì)默認(rèn)發(fā)送給 eth.accounts[0]
      • 測(cè)試網(wǎng)絡(luò)里健爬,把 genesis.json 中的 "difficulty" 設(shè)低一點(diǎn)控乾,會(huì)比較好挖。
    • 停止挖礦:miner.stop()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末娜遵,一起剝皮案震驚了整個(gè)濱河市蜕衡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌设拟,老刑警劉巖慨仿,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異纳胧,居然都是意外死亡镰吆,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門跑慕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來万皿,“玉大人,你說我怎么就攤上這事核行±喂瑁” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵芝雪,是天一觀的道長(zhǎng)减余。 經(jīng)常有香客問我,道長(zhǎng)惩系,這世上最難降的妖魔是什么位岔? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮堡牡,結(jié)果婚禮上抒抬,老公的妹妹穿的比我還像新娘。我一直安慰自己晤柄,他們只是感情好瞧剖,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般抓于。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上浇借,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天捉撮,我揣著相機(jī)與錄音,去河邊找鬼妇垢。 笑死巾遭,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的闯估。 我是一名探鬼主播灼舍,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼涨薪!你這毒婦竟也來了骑素?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤刚夺,失蹤者是張志新(化名)和其女友劉穎献丑,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體侠姑,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡创橄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了莽红。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片妥畏。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖安吁,靈堂內(nèi)的尸體忽然破棺而出醉蚁,到底是詐尸還是另有隱情,我是刑警寧澤柳畔,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布馍管,位于F島的核電站,受9級(jí)特大地震影響薪韩,放射性物質(zhì)發(fā)生泄漏确沸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一俘陷、第九天 我趴在偏房一處隱蔽的房頂上張望罗捎。 院中可真熱鬧,春花似錦拉盾、人聲如沸桨菜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽倒得。三九已至泻红,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間霞掺,已是汗流浹背谊路。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留菩彬,地道東北人缠劝。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像骗灶,于是被迫代替她去往敵國(guó)和親惨恭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容