eth節(jié)點搭建-------------交易所

eth

Geth 安裝:

1. 安裝 go 語言

安裝 go 主要是為了去編譯 go-ethereum 源碼

平日里一般我都是用 gvm 去安裝和管理不同版本的 go尿扯,但 gvm 在阿里云上默認(rèn)是連不上所需要的 golang 下載服務(wù)器的奠涌。于是直接用下面一條命令搞定。

yum install golang

安裝的版本不是最新的但也還是可以用的擂错。

# go version

go version go1.9.6 linux/amd64

2. 安裝 git

安裝 git 主要是為了拉取 go-ethereum 源碼

直接通過 yum 安裝的版本比較老

我是通過下面的命令安裝的:

yum install

https://centos6.iuscommunity.org/ius-release.rpm

yum install epel-release

yum install git2u

得到下面的 git 版本

# git version

git version 2.16.4

安裝go編譯器

sudo apt-getinstall -ybuild-essential golang

3. 最后,構(gòu)建geth

cdgo-ethereum

make geth

gethhelp

把getn加入到配置文件里etc/profile

#geth

exportPATH=$PATH:/root/soft/go-ethereum/build/bin

source/tc/profile

[root@BC-OL-Host-1/]# vim ~/.bashrc


4. 鏈接節(jié)點命令:

nohup geth --syncmode

"full" --cache 2048 --datadir /root/data/ethData --ipcpath./geth.ipc --rpc --rpcaddr 0.0.0.0 --port 8445 --maxpeers 999 &

參考地址:https://blog.csdn.net/ULi_cloud/article/details/80668590

https://blog.csdn.net/qq_25870633/article/details/82931782

性能調(diào)節(jié)選項:

–cache value 調(diào)整內(nèi)存分配 最小16MB,默認(rèn)128MB

–trie-cache-gens value 內(nèi)存中存儲節(jié)點數(shù)收津,默認(rèn)為120

--datadir “/your/database/path”

指定以太坊數(shù)據(jù)和密鑰目錄伙窃,在開啟私有鏈時需指定私有鏈目錄偏友,默認(rèn)為公有鏈目錄。

--ipcpath "geth.ipc" 指定IPC接口

--rpcaddr value 指定HTTP-RPC 服務(wù)監(jiān)聽地址对供,默認(rèn)為“l(fā)ocalhost”

--rpcport value 指定HTTP-RPC 服務(wù)監(jiān)聽端口位他,默認(rèn)為8545

--maxpeers value 設(shè)置允許最大連接節(jié)點數(shù)目,默認(rèn)為25

--ws 開啟 WS-RPC 服務(wù)

--wsaddr value 指定WS-RPC 服務(wù)監(jiān)聽地址产场,默認(rèn)為 “l(fā)ocalhost”

--wsport value 指定 WS-RPC 服務(wù)監(jiān)聽端口鹅髓,默認(rèn)值:8546

--wsapi value 指定WS-RPC 開啟API,默認(rèn)為 “eth,net,web3”

--wsorigins value 指定允許“websockets”請求的地址


5. 監(jiān)控同步狀態(tài)

可以通過下面的命令 attach 到運行的節(jié)點京景,這里的 data 為上面啟動 geth 時指定的 datadir 目錄窿冯。

# geth attachdata/geth.ipc

Welcome to the

Geth JavaScript console!

instance:

Geth/SamewayProdNode1/v1.8.13-stable-225171a4/linux-amd64/go1.9.6

modules:

admin:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0

web3:1.0

然后調(diào)用 eth.syncing, 如下面所示,可以看到當(dāng)前的同步狀態(tài)确徙,我這邊節(jié)點已經(jīng)運行一段時間了醒串,可以看到當(dāng)前區(qū)塊和最新區(qū)塊高度是比較接近的。剛開始這兩個數(shù)字差別是比較大的鄙皇,在運行一天后這兩個數(shù)字就開始比較接近芜赌,給人的感覺好像是快要同步完了,但實際上要再跑一天左右才能真正同步完成伴逸。

> eth.syncing

{

currentBlock: 6143193,

highestBlock: 6143296,

knownStates: 91512910,

pulledStates: 91498893,

startingBlock: 0

}

在同步的過程中我們通過 eth.blockNumber 去查看當(dāng)前區(qū)塊號的話會顯示為0

> eth.blockNumber

0

這個時候看 geth 的輸出的話缠沈,可以看到下面的日志

INFO [08-14|04:32:20] Imported new block headers

INFO [08-14|04:32:24] Imported new block receipts

INFO [08-14|04:32:33] Imported new state entries

可以通過 net.peerCount 來看自己的這個節(jié)點連了多少個其它節(jié)點進(jìn)行數(shù)據(jù)同步。如果返回結(jié)果為0,就要自查一下了洲愤。

> net.peerCount

8

當(dāng)看到 geth 日志里是下面的信息

# tail nohup.out

INFO

[08-16|14:20:15.307] Imported new chain segment blocks=1 txs=117 mgas=7.979

elapsed=761.592ms mgasps=10.477 number=6156276 hash=56b327…03c068 cache=905.73mB

INFO

[08-16|14:20:32.926] Imported new chain segment blocks=1 txs=42 mgas=2.325

elapsed=143.505ms mgasps=16.204 number=6156277 hash=f577a7…1c6104 cache=905.59mB

INFO [08-16|14:20:35.940]

Imported new chain segment blocks=1 txs=121 mgas=7.992 elapsed=776.752ms

mgasps=10.289 number=6156278 hash=c92744…2d1448 cache=905.67mB

調(diào)用 eth.blockNumber 得到的數(shù)字不再是 0 了

> eth.blockNumber

6156294

恭喜你颓芭,區(qū)塊數(shù)據(jù)已經(jīng)同步完成了,該節(jié)點可以接收交易請求了柬赐。

6. 常見問題

問題: 如果非正常關(guān)閉 geth 進(jìn)程亡问,比如機(jī)器強(qiáng)制重啟的時候,如果這個時候以太坊正在執(zhí)行數(shù)據(jù)庫寫操作肛宋,下次啟動 geth 進(jìn)程時就很容易碰到下面的錯誤信息:

Fatal: Error

starting protocol stack: missing block number for head header hash

方案: 很不幸玛界,目前還沒有特別好的解決辦法

需要通過下面的命令移除區(qū)塊鏈數(shù)據(jù)并從新同步數(shù)據(jù)

# geth removedb--datadir data

問題: 數(shù)據(jù)同步經(jīng)常落后主網(wǎng)若干區(qū)塊,落后也不是很多悼吱,往往也就幾十個區(qū)塊慎框,等段時間可以完成同步,可過段時間又落于主網(wǎng)了

方案: 確保節(jié)點監(jiān)聽端口 30303 已經(jīng)在防火墻打開后添,此端口在防火墻放行后笨枯,可大大提高主網(wǎng)數(shù)據(jù)同步的穩(wěn)定性

有相關(guān)需求的,可以定制交易所服務(wù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末遇西,一起剝皮案震驚了整個濱河市馅精,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌粱檀,老刑警劉巖洲敢,帶你破解...
    沈念sama閱讀 210,835評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異茄蚯,居然都是意外死亡压彭,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,900評論 2 383
  • 文/潘曉璐 我一進(jìn)店門渗常,熙熙樓的掌柜王于貴愁眉苦臉地迎上來壮不,“玉大人,你說我怎么就攤上這事皱碘⊙唬” “怎么了?”我有些...
    開封第一講書人閱讀 156,481評論 0 345
  • 文/不壞的土叔 我叫張陵癌椿,是天一觀的道長健蕊。 經(jīng)常有香客問我,道長踢俄,這世上最難降的妖魔是什么缩功? 我笑而不...
    開封第一講書人閱讀 56,303評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮褪贵,結(jié)果婚禮上掂之,老公的妹妹穿的比我還像新娘。我一直安慰自己脆丁,他們只是感情好世舰,可當(dāng)我...
    茶點故事閱讀 65,375評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著槽卫,像睡著了一般跟压。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上歼培,一...
    開封第一講書人閱讀 49,729評論 1 289
  • 那天震蒋,我揣著相機(jī)與錄音,去河邊找鬼躲庄。 笑死查剖,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的噪窘。 我是一名探鬼主播笋庄,決...
    沈念sama閱讀 38,877評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼倔监!你這毒婦竟也來了直砂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,633評論 0 266
  • 序言:老撾萬榮一對情侶失蹤浩习,失蹤者是張志新(化名)和其女友劉穎静暂,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谱秽,經(jīng)...
    沈念sama閱讀 44,088評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡洽蛀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,443評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了疟赊。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辱士。...
    茶點故事閱讀 38,563評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖听绳,靈堂內(nèi)的尸體忽然破棺而出颂碘,到底是詐尸還是另有隱情,我是刑警寧澤椅挣,帶...
    沈念sama閱讀 34,251評論 4 328
  • 正文 年R本政府宣布头岔,位于F島的核電站,受9級特大地震影響鼠证,放射性物質(zhì)發(fā)生泄漏峡竣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,827評論 3 312
  • 文/蒙蒙 一量九、第九天 我趴在偏房一處隱蔽的房頂上張望适掰。 院中可真熱鬧颂碧,春花似錦、人聲如沸类浪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,712評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽费就。三九已至诉瓦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間力细,已是汗流浹背睬澡。 一陣腳步聲響...
    開封第一講書人閱讀 31,943評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留眠蚂,地道東北人煞聪。 一個月前我還...
    沈念sama閱讀 46,240評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像逝慧,于是被迫代替她去往敵國和親米绕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,435評論 2 348

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