更新
yum update -y && yum install git wget bzip2 vim gcc-c++ ntp epel-release nodejs -y
git 要更新至2.X版
安裝go-ethereum
# 在這裡要先安裝Golang,待會需要編譯用
wget https://studygolang.com/dl/golang/go1.11.5.linux-amd64.tar.gz
# 解壓縮golang
tar zxvf go1.11.5.linux-amd64.tar.gz
# 搬移go到local下
mv go /usr/local
# 配置GOROOT和PATH
echo "export GOROOT=/usr/local/go" >> /etc/profile
echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile
source /etc/profile
# 下載go-ethereum
git clone https://github.com/ethereum/go-ethereum.git
cd go-ethereum
make all
# 完成後在path中入geth路徑
echo "export PATH=$PATH:/root/go-ethereum/build/bin" >> /etc/profile
source /etc/profile
安裝cmake:智能合約編譯solc需cmake編譯
下載cmake最新版本
cd && wget https://cmake.org/files/v3.14/cmake-3.14.5.tar.gz
解壓並編譯並安裝
tar -xzvf cmake-3.14.5.tar.gz
cd cmaker-3.14.5
./bootstrap --prefix=/usr/local
make && make install
網路時間同步
systemctl enable ntpd
systemctl start ntpd
防火牆port
firewall-cmd --zone=public --add-port=8545/tcp --permanent
firewall-cmd --zone=public --add-port=30303/tcp --permanent
firewall-cmd --reload
Ethereum 節點 - 30303
RPCapi - 8545
–permanent為永久設定,否則防火牆重新啟動時將會失效
建立創世區塊文件
在go-ethereum/build/bin目錄下建立創世區塊文件init.json檔,內容如下
{
"config": {
"chainId": 666,
"homesteadBlock": 0,
"eip150Block": 0,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0,
"ethash": {}
},
"nonce": "0x0",
"timestamp": "0x5ddf8f3e",
"extraData": "0x0000000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "0x47b760",
"difficulty": "0x00002",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
"alloc": { },
"number": "0x0",
"gasUsed": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
創世區塊初始化
請在ethereum/build/bin下操作
# 請注意,這是自行架設的私有鏈才需要初始化
# 公有鏈不需操作此步驟
geth --datadir "/data/eth/chain" init init.json
/data/eth/chain,建立資料位置可自行更換,建立前請先確保磁碟容量足夠,以及初始化文件名稱要和剛剛建立的必須一致
以太坊啟動
geth --http --http.api db,eth,net,web3,personal --datadir .\db --networkid 1997 console 2>> eth.log
端口:以太坊網絡監聽端口,默認指定為30303
http:開啟HTTP-RPC服務,可以進行智能合約的部署和測試
http.api:基於HTTP-RPC提供的API
http.addr:指定HTTP-RPC服務監聽地址,默認為localhost
http.port:HTTP-RPC服務監聽端口指定號,默認為8545
網絡ID:指定以太坊網絡的ID為代表公用網絡啟動ID,因此我們為密碼鏈創建密碼鏈,因此指定密碼鏈的起源。
控制台:啟動模式
eth.log:控制器,記錄日誌
如果有看到Welcome to the Geth JavaScript console!的字樣,私有鏈就算架設完成囉~
開啟第二個Console畫面
基本上啟動以太坊一定是Server端啟用,所以如果在其他電腦上也想進入Console畫面,就要Remote進去
# 本機連接節點
geth attach http://localhost:8545
# 遠端連接節點
geth attach http://remote_ip:8545
20220203
CentOS 7 以太坊Ethereum環境建置 Geth
TAG
Crypto
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言