Ubuntu以太坊私有鏈搭建

2021-08-29 16:10:58 字數 3346 閱讀 6037

csdn部落格:

安裝geth

root@dserv834-mtl8:~#  apt-get install software-properties-common

root@dserv834-mtl8:~# add-apt-repository -y ppa:ethereum/ethereum

root@dserv834-mtl8:~# apt-get update

root@dserv834-mtl8:~# apt-get install ethereum

安裝後查詢到geth版本即為安裝成功

root@dserv834-mtl8:~# which geth  ###檢視geth路徑

/usr/bin/geth

root@dserv834-mtl8:~# geth version

geth

version: 1.8.12-stable

git commit: 37685930d953bcbe023f9bc65b135a8d8b8f1488

architecture: amd64

protocol versions: [63 62]

network id: 1

go version: go1.10

operating system: linux

gopath=

goroot=/usr/lib/go-1.10

建立geth啟動/停止指令碼

檢視本地ip位址,得到內網位址為173.209.49.10

root@dserv834-mtl8:~# ifconfig -a

eno1 link encap:ethernet hwaddr ac:1f:6b:82:8c:f4

inet addr:173.209.49.10 bcast:173.209.49.15 mask:255.255.255.248

inet6 addr: fe80::ae1f:6bff:fe82:8cf4/64 scope:link

up broadcast running multicast mtu:1500 metric:1

rx packets:164109642 errors:0 dropped:10 overruns:0 frame:0

tx packets:143189840 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

rx bytes:87852826043 (87.8 gb) tx bytes:35500135072 (35.5 gb)

memory:df200000-df27ffff

建立geth啟動指令碼starteth.sh,將第二行開始的指令碼複製儲存,需要修改rpcaddr的ip,datadir可以省略,一般將datadir改為大容量的資料盤目錄

root@dserv834-mtl8:~# vi starteth.sh 

#!/bin/bash

nohup geth --rpcaddr "173.209.49.10" --rpc --rpccorsdomain="*" --datadir "/data/ethereum" >> geth.log 2>&1 &

建立geth停止指令碼stopeth.sh,將第二行開始的指令碼複製儲存

root@dserv834-mtl8:~# more stopeth.sh 

#!/bin/bash

pids=`ps -ef |grep geth |grep -v grep | awk ''`

if [ "$pids" != "" ]; then

kill -9 $pids

else

echo `date +%f" "%h:%m:%s` "geth is not runing!"

fi

配置指令碼執行許可權

root@dserv834-mtl8:~# chmod u+x st*.sh

root@dserv834-mtl8:~# ls -la *.sh

-rwxr--r-- 1 root root 95 jul 10 11:41 starteth.sh

-rwxr--r-- 1 root root 171 jul 11 21:49 stopeth.sh

啟動geth程式同步區塊資料

啟動geth開始同步資料,通過檢視geth.log來監控geth的同步情況

root@dserv834-mtl8:~# ./starteth.sh

root@dserv834-mtl8:~# tail -f geth.log

info [07-11|21:51:06.609] imported new chain segment blocks=1 txs=55 mgas=7.992 elapsed=368.336ms mgasps=21.697 number=5948083 hash=14c024…a9d1bb cache=267.07mb

info [07-11|21:51:10.051] imported new chain segment blocks=1 txs=43 mgas=7.987 elapsed=105.155ms mgasps=75.959 number=5948084 hash=ede212…56e3b8 cache=267.22mb

info [07-11|21:51:13.530] imported new chain segment blocks=1 txs=133 mgas=7.961 elapsed=431.951ms mgasps=18.431 number=5948085 hash=533343…c40637 cache=267.59mb

info [07-11|21:51:17.785] imported new chain segment blocks=1 txs=51 mgas=7.982 elapsed=304.528ms mgasps=26.211 number=5948086 hash=8918b3…263ea8 cache=268.06mb

..........

一般情況下geth從0開始同步需要3天左右的時間,由伺服器的頻寬和效能決定,可以購買境外的伺服器,如香港的阿里雲。

判斷同步完成

geth在同步的時候,通過geth console檢視eth.blocknumber命令查詢區塊高度,如果得到的結果是0,說明沒有同步完成,如果得到最新的區塊,說明已經同步到最新區塊了。

以太坊上搭建自己的私有鏈

首先介紹一下什麼是公有鏈和私有鏈 公有鏈 世界上任何乙個人都可以參與的區塊鏈。使用者可以檢視,可以傳送交易,也可以參與保持資料一致性的運算等。私有鏈 完全的私有鏈是指寫許可權是由乙個人或乙個單個組織控制的鏈。私有鏈的讀許可權是可以公開的或者是有限度的在一定範圍公開的。比如私有鏈可以用在資料庫的管理,...

ubuntu14 04安裝以太坊私有鏈

1.安裝go。使用共享資料夾,然後解壓 tar zxvf go1.9.5.linux amd64.tar.gz 將解壓檔案sudo mv go usr local 在使用軟連線 ln s usr local go bin go usr bin go 此時可以用go version檢視安裝是否成功。2...

(二)構建以太坊私有鏈

因為目前以太坊的主網和測試網都很難挖到以太幣,所以我們需要自己搭建私鏈來做實驗。1 建立初始化創世塊檔案genesis.json,放置到geth安裝目錄 也可以選其他目錄,檔案裡面各個欄位的含義可以從官網查到 config 2 cmd進入geth安裝目錄,初始化創世塊 3 建立私有鏈,開啟控制台 4...