區(qū)塊鏈(2)CENTOS7上以太坊Ethereum搭建篇

本文目的是幫助對(duì)以太坊開(kāi)發(fā)感興趣的同學(xué)鹿寻,快速上手搭建搭建以太坊私有鏈无午。

首先介紹一下環(huán)境:

本次搭建的平臺(tái)是基于Windows下Vmware中安裝的CentOS7虛擬機(jī)捧毛,在虛擬機(jī)中完成所有操作示罗。本文重點(diǎn)在以太坊私有鏈搭建妖啥,至于虛擬機(jī)的搭建埠居,本文不再贅述查牌。

操作系統(tǒng):CentOS Linux release 7.2

一、什么是Ethereum(以太坊)

以太坊(英語(yǔ):Ethereum)是一個(gè)開(kāi)源的有智能合約功能的公共區(qū)塊鏈平臺(tái)滥壕。通過(guò)其專(zhuān)用加密貨幣以太幣(Ether)提供去中心化的虛擬機(jī)來(lái)處理點(diǎn)對(duì)點(diǎn)合約纸颜。截至2018年2月,以太幣是市值第二高的加密貨幣绎橘,僅次于比特幣胁孙。

以太坊的概念首次在2013至2014年間由程序員Vitalik Buterin,受比特幣啟發(fā)后提出称鳞,大意為“下一代加密貨幣與去中心化應(yīng)用平臺(tái)”涮较。所以很明顯,以太坊是比比特幣更先進(jìn)的一代虛擬幣冈止。如果說(shuō)比特幣是區(qū)塊鏈的1.0時(shí)代狂票,那么以太坊是區(qū)塊鏈的2.0時(shí)代。所以熙暴,建議大家從以太坊開(kāi)始學(xué)習(xí)區(qū)塊鏈技術(shù)闺属。

下面我們一起學(xué)習(xí)一下如何搭建以太坊私有鏈環(huán)境毛肋。

二、開(kāi)始安裝Go語(yǔ)言

1.這里安裝的是go1.10版本屋剑,因?yàn)椋桶姹究赡軐?dǎo)致無(wú)法編譯后邊的以太坊安裝包诗眨。yum安裝的是1.9版本唉匾,所以要手動(dòng)下載安裝

[root@hadoop111 ~]# wget https://dl.google.com/go/go1.10.linux-amd64.tar.gz

#下載go安裝包1.10版本


2.解壓go安裝包

[root@hadoop111~]# tar -C /usr/local -xzf go1.10.linux-amd64.tar.gz


3.添加go環(huán)境變量

[root@hadoop111~]# echo 'export GOROOT=/usr/local/go' >> /etc/profile

[root@hadoop111 ~]# echo 'export PATH=$PATH:$GOROOT/bin'>> /etc/profile

[root@hadoop111 ~]# echo 'export GOPATH=/home/go' >>/etc/profile

[root@hadoop111 ~]# echo 'export PATH=$PATH:$GOPATH/bin'>> /etc/profile

4.刷新環(huán)境變量

[root@hadoop111 ~]# source /etc/profile

5.驗(yàn)證go語(yǔ)言是否安裝成功

[root@hadoop111 ~]# go version

goversion go1.10 linux/amd64

三、安裝其它安裝以太坊需要的環(huán)境組件

安裝curlgit nodejsgcc-c++

[root@hadoop111 ~]# yum install-y curl gitnodejs gcc-c++

四匠楚、編譯安裝以太坊(這里采用的是源碼安裝方式)

1. 下載以太坊源碼

[root@hadoop111 ~]# cd/usr/local #創(chuàng)建目錄

[root@hadoop111 ~]# git clone https://github.com/ethereum/go-ethereum.git? ?#通過(guò)git下載以太坊源碼

正克隆到 'go-ethereum'...

remote: Counting objects: 70885,done.

remote: Total 70885 (delta 0),reused 0 (delta 0), pack-reused 70885

接收對(duì)象中: 100% (70885/70885),96.27 MiB | 174.00 KiB/s, done.

處理 delta 中: 100% (47083/47083), done.

2. 編譯

[root@hadoop111 ~]# cdgo-ethereum

[root@hadoop111 ~]# make all

3. 安裝cmake巍膘,智能合約需要使用

[root@hadoop111 ~]# cd ~

[root@hadoop111 ~]# wget https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz? #下載cmake安裝包

[root@hadoop111 ~]# tar xvfcmake-3.9.2.tar.gz #解壓

[root@hadoop111 ~]# cd cmake-3.9.2

[root@hadoop111 ~]# ./configure&& make && make install #編譯安裝

4. 檢查安裝結(jié)果

[root@hadoop111 ~]# systemctlis-enabled chronyd #時(shí)間同步服務(wù)

[root@hadoop111 ~]# cmake --version

cmake version 3.9.2

CMake suite maintained andsupported by Kitware (kitware.com/cmake).

[root@hadoop111 ~]# geth version


WARN [06-14|14:18:56] Sanitizingcache to Go's GC limits? provided=1024 updated=607

Geth

Version: 1.8.12-unstable

Git Commit:ea89f40f0dab7957aa1825b56be80e84d3b04b5c

Architecture: amd64

Protocol Versions: [63 62]

Network Id: 1

Go Version: go1.10

Operating System: linux

GOPATH=/home/go

GOROOT=/usr/local/go

五、使用以太坊私有鏈

1.初始化創(chuàng)世區(qū)塊

創(chuàng)建一個(gè)genesis.json文件

[root@hadoop111 ~]# cd /root

[root@hadoop111 ~]# mkdireth-test

[root@hadoop111 ~]# cd eth-test

[root@hadoop111 ~]# vigenesis.json

添加如下內(nèi)容

{

"config":{

"chainId":20,

"homesteadBlock":0,

"eip155Block":0,

"eip158Block":0

},

"alloc":{},

"coinbase":"0x0000000000000000000000000000000000000000",

"difficulty":"0x200",

"extraData":"",

"gasLimit":"0x2fefd8",

"nonce":"0x0000000000000042",

"mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",

"parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",

"timestamp":"0x00"

}


2. 初始化節(jié)點(diǎn)

[root@hadoop111 ~]# geth--datadir "/root/eth-test/" init genesis.json#初始化創(chuàng)世區(qū)塊

執(zhí)行完成后芋簿,將會(huì)出現(xiàn)類(lèi)似以下信息,表示創(chuàng)世區(qū)塊初始化完成

啟動(dòng)以太坊

[root@hadoop111 ~]# cd /usr/bin

[root@hadoop111 ~]# ./geth --rpc --rpccorsdomain "*" --datadir "/root/eth-test/" --rpcapi"db,net,eth,web3,personal,miner,debug,admin" --networkid 100000 console 2>>eth_output.log

注意:上面命令中–datadir后的”/root/eth-test/”要跟我們上一步的–datadir參數(shù)一致峡懈。命令執(zhí)行完,自動(dòng)進(jìn)入geth的命令行則說(shuō)明以太坊私有鏈安裝成功了与斤。


3. 創(chuàng)建賬戶(hù)肪康,挖礦

查看帳戶(hù),可以看到當(dāng)前帳戶(hù)是空的

[root@hadoop111 ~]#eth.accounts

創(chuàng)建兩個(gè)帳戶(hù)撩穿,并初始化密碼磷支。注意密碼是用戶(hù)自定義的。

>personal.newAccount('123456')

"0x3e5b345a8b88fe181f75d6956c40c104de7b61ee"

>personal.newAccount('123456')

"0xc6b5ec8fff2696375c16c930a9fb7aec4a106b11"

再次查詢(xún)賬戶(hù)食寡,發(fā)現(xiàn)有兩個(gè)了

> eth.accounts

["0x3e5b345a8b88fe181f75d6956c40c104de7b61ee","0xc6b5ec8fff2696375c16c930a9fb7aec4a106b11"]

為了操作方便雾狈,給賬戶(hù)起一個(gè)名字

> test1 = eth.accounts[0]

"0x3e5b345a8b88fe181f75d6956c40c104de7b61ee"

> test2 = eth.accounts[1]

"0xc6b5ec8fff2696375c16c930a9fb7aec4a106b11"

設(shè)置操作賬號(hào)

> miner.setEtherbase(test1) #如果不設(shè)置挖礦會(huì)默認(rèn)保存到創(chuàng)建的第一個(gè)帳戶(hù)

true

開(kāi)始挖礦

> miner.start()

null

#執(zhí)行挖礦一段時(shí)間,然賬戶(hù)中有余額,第一次最好時(shí)間長(zhǎng)一點(diǎn)抵皱,約3分鐘善榛,避免挖不到,這塊如果用虛擬機(jī)的話,內(nèi)存放大到至少2G呻畸,短時(shí)間內(nèi)1G很難挖到


停止挖礦

> miner.stop()

true

查看賬戶(hù)

> eth.getBalance(test1)

65000000000000000000

4. 賬戶(hù)轉(zhuǎn)賬

轉(zhuǎn)賬前需要先解鎖賬戶(hù)移盆,否則,會(huì)報(bào)錯(cuò)Error: authentication needed:password or unlock

>personal.unlockAccount(test1,'123456')

true

轉(zhuǎn)賬時(shí)要注意伤为,超過(guò)余額會(huì)報(bào)錯(cuò)

> eth.sendTransaction({from:test1, to: test2, value: web3.toWei(1, 'ether')})

"0xe85d7e65919ce73c64958d07f29decece7cf7f6c1289d77c12e7c7eb5f631553"

查看賬戶(hù)味滞,發(fā)現(xiàn)轉(zhuǎn)出賬戶(hù)余額并未減少,轉(zhuǎn)入賬戶(hù)也沒(méi)有增加钮呀,因?yàn)槲覀兊慕灰走€未成功寫(xiě)進(jìn)區(qū)塊剑鞍,寫(xiě)進(jìn)區(qū)塊的方式是挖礦,我們?cè)俅伍_(kāi)啟挖礦爽醋,挖礦成功后蚁署,再次查看余額,發(fā)現(xiàn)到賬:

>eth.getBalance(test2)

0

> miner.start(1)#執(zhí)行挖礦讓交易執(zhí)行,1表示使用一個(gè)cpuminer.stop()

null

過(guò)一會(huì)發(fā)現(xiàn)蚂四,已到賬

> eth.getBalance(test2)

1000000000000000000

此時(shí)光戈,可以看出轉(zhuǎn)入賬戶(hù)哪痰,增加了1個(gè)以太幣。而轉(zhuǎn)出賬戶(hù)久妆,由于再次挖礦而獲得獎(jiǎng)勵(lì)晌杰,從而余額增加,所以筷弦,從轉(zhuǎn)出賬戶(hù)肋演,不好判斷交易的真實(shí)數(shù)額。

到此為止烂琴,本節(jié)的內(nèi)容就完成了爹殊。可見(jiàn)以太坊的環(huán)境和操作還是比較簡(jiǎn)單的奸绷。


https://www.douban.com/note/679943478/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末梗夸,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子号醉,更是在濱河造成了極大的恐慌反症,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件畔派,死亡現(xiàn)場(chǎng)離奇詭異惰帽,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)父虑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)该酗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人士嚎,你說(shuō)我怎么就攤上這事呜魄。” “怎么了莱衩?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵爵嗅,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我笨蚁,道長(zhǎng)睹晒,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任括细,我火速辦了婚禮伪很,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘奋单。我一直安慰自己锉试,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布览濒。 她就那樣靜靜地躺著呆盖,像睡著了一般拖云。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上应又,一...
    開(kāi)封第一講書(shū)人閱讀 49,079評(píng)論 1 285
  • 那天宙项,我揣著相機(jī)與錄音,去河邊找鬼株扛。 笑死尤筐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的席里。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼拢驾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼奖磁!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起繁疤,我...
    開(kāi)封第一講書(shū)人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤咖为,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后稠腊,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體躁染,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡褪迟,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年歼冰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片曹动。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡叹放,死狀恐怖饰恕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情井仰,我是刑警寧澤埋嵌,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站俱恶,受9級(jí)特大地震影響雹嗦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜合是,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一了罪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧聪全,春花似錦捶惜、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)汽久。三九已至,卻和暖如春踊餐,著一層夾襖步出監(jiān)牢的瞬間景醇,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工吝岭, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留三痰,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓窜管,卻偏偏與公主長(zhǎng)得像散劫,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子幕帆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

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