版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、區(qū)塊鏈開發(fā)環(huán)境搭建前言本章主要總結(jié)在基于Ubuntu14.04系統(tǒng)上搭建區(qū)塊鏈開發(fā)平臺(tái)的過(guò)程。目前搭建區(qū)塊鏈開發(fā)環(huán)境還是比較復(fù)雜,推薦使用MacOSX和Linux操作系統(tǒng),目前不建議使用Windows,可能會(huì)碰到各種各樣的問(wèn)題,最后導(dǎo)致放棄。注意: 安裝軟件的時(shí)候,盡量使用ubuntu系統(tǒng)官方的apt源。由于國(guó)內(nèi)很多公司,例如阿里,網(wǎng)易,騰訊等都免費(fèi)提供apt源,在有的時(shí)候當(dāng)然可以加快我們安裝軟件的速度。但是,在安裝本章所介紹的軟件的時(shí)候我就遇到了各種錯(cuò)誤,后來(lái)更換了ubuntu的官方apt源后有些問(wèn)題就沒有了。 在使用npm安裝某些軟件的時(shí)候,建議不要使用cnpm國(guó)內(nèi)鏡像,否則裝完可能會(huì)出現(xiàn)
2、問(wèn)題。 由于區(qū)塊鏈相關(guān)技術(shù)領(lǐng)域處于新興階段,變化很快,該章環(huán)境搭建僅供參考。搭建基于以太坊go-ethereum的私有鏈環(huán)境go-ethereum客戶端以太坊有許多不同語(yǔ)言的客戶端實(shí)現(xiàn)(即多種與以太坊網(wǎng)絡(luò)交互的方法),包括C+,Go,Python,Java,Haskell等等。為什么需要這么多實(shí)現(xiàn)?不同的實(shí)現(xiàn)能滿足不同的需求(例如Haskell實(shí)現(xiàn)的目標(biāo)是可以被數(shù)學(xué)驗(yàn)證),能使以太坊更加安全,能豐富整個(gè)生態(tài)系統(tǒng)。我使用的是Go語(yǔ)言實(shí)現(xiàn)的客戶端geth,該客戶端也是官方推薦使用的客戶端,穩(wěn)定性較好,并且資料相對(duì)較多。安裝命令:打開終端窗口,依次輸入以下命令:1 sudoapl-ge-tinsta
3、llsofturareprflpeT11es-conunon2 sudoadd-aptrepotory-yppa:etherewi/ethersum3 sudoadd-apt-repository-yppa:ethersum/fttheieum-dev4 sudoapHzg&tupdate5 sudoapt-getinstalleth虹日皿安裝測(cè)試:安裝完成后在終端輸入:1geth-heIp如果顯示出各種參數(shù)提示信息,則說(shuō)明安裝成功。創(chuàng)世塊在以上安裝成功之后,直接啟動(dòng),即可連接公有鏈?,F(xiàn)在通過(guò)配置創(chuàng)世塊來(lái)創(chuàng)建私有鏈。同一個(gè)網(wǎng)絡(luò)中,創(chuàng)世塊必須是一樣的,否則無(wú)法聯(lián)通。創(chuàng)建一個(gè)eth的根目錄,在根目
4、錄下新建創(chuàng)世塊json文件piccgenesis.json。內(nèi)容如下:(nonce:0x0000000000000042,mixhash:0x0000000000000000000000000000000000000000000000000000000000000000,difficulty:0x400,alloc:,coinbase:0x0000000000000000000000000000000000000000”,timestamp:0x00,parentHash:0x00000000000000000000000000000000000000000000000000000000000
5、00000,extraData:PICCGenesisBlock,gasLimit:0xfffffff參數(shù)解釋:參數(shù)名稱參數(shù)描述mixhash與nonce配合用于挖礦,由個(gè)區(qū)塊的一部分生成的hash。注意他和nonce的設(shè)置需要滿足以太坊的Yellowpaper,4.3.4.BlockHeaderValidity,(44)章節(jié)所描述的條件。.noncenonce就是一個(gè)64位隨機(jī)數(shù),用于挖礦,注息他和mixhash的設(shè)置需要滿足以太坊的Yellowpaper,4.3.4.BlockHeaderValidity,(44)章節(jié)所描述的條件。difficulty設(shè)置當(dāng)前區(qū)塊的難度,如果難度過(guò)大,cp
6、u挖礦就很難,這里設(shè)置較小難度alloc用來(lái)預(yù)置賬號(hào)以及賬號(hào)的以太幣數(shù)量,因?yàn)樗接墟溚诘V比較容易,所以我們不需要預(yù)置有幣的賬號(hào),需要的時(shí)候自己創(chuàng)建即可以。coinbase礦工的賬號(hào),隨便填timestamp設(shè)置創(chuàng)世塊的時(shí)間戳parentHash個(gè)區(qū)塊的hash值,因?yàn)槭莿?chuàng)世塊,所以這個(gè)值是0extraData附加信息,隨便填,可以填你的個(gè)性信息gasLimit該值設(shè)置對(duì)GAS的消耗總量限制,用來(lái)限制區(qū)塊能包含的交易信息總和,因?yàn)槲覀兪撬接墟?,所以填最大。注意:區(qū)塊難度difficulty一定要小,否則使用起來(lái)挖礦將會(huì)很困難,就沒有賬戶金額進(jìn)行開發(fā)實(shí)驗(yàn);可以通過(guò)alloc在該文件中預(yù)分配賬戶和以
7、太幣啟動(dòng)私有鏈節(jié)點(diǎn)啟動(dòng)節(jié)點(diǎn)所需參數(shù)列表:參數(shù)名稱參數(shù)描述identityH塊鏈的標(biāo)本,隨便填寫,用于標(biāo)示目前網(wǎng)絡(luò)的名字initdatadir1旨定創(chuàng)世塊文件的位置,并創(chuàng)建初始?jí)K設(shè)置當(dāng)前區(qū)塊鏈網(wǎng)絡(luò)數(shù)據(jù)存放的位置p0rtH絡(luò)監(jiān)聽端口rpc啟動(dòng)rpc通信,可以進(jìn)行智能合約的部署和調(diào)試rpcapi設(shè)置允許連接的rpc的客戶端,一M為db,eth,net,web3networkid設(shè)置當(dāng)前區(qū)塊鏈的網(wǎng)絡(luò)id,用于區(qū)分不同的網(wǎng)絡(luò),是一個(gè)數(shù)console啟動(dòng)命令行模式,可以在Geth中執(zhí)行命令終端進(jìn)入配置好的創(chuàng)世塊文件目錄。輸入以下命令初始化創(chuàng)世塊:geth-datadir./ethdevinitpiccge
8、nesis.jsongeth-identityPICCetherum-rpc-rpccorsdomain*-datadir./ethdev-port30303”-rpcapi”db,eth,net,web3”-networkid95518console-dev注意:添加一dev表示以開發(fā)模式啟動(dòng)。私有鏈數(shù)據(jù)存儲(chǔ)的目錄要與公有鏈分開。看到以下輸出說(shuō)明私有鏈啟動(dòng)成功:文件時(shí)里輯間宜有刖椎索俗)終端由陽(yáng)助忸11231388112313488112311123122:21:51*57999122:21:51,68002122:1:51468205122:21:51.826004care/blockch
9、atn.go:226Lastblock:core/blockchain.go:221Fastblock:#15e97b5eO0.TD=210p2p/server.go:342StartingServerp2p/discover/udp.go:227Listening.enode:/161ea0933b4deee8S758die4a91cdS4ad3eici7242eee4255i77bdb5d3977a8eibl7fe9d6c3daO6e9471did915S503fe78Z61a33Ga7C66432d9f9dec0d9bO4513i:55739112311122111231h.ipc112
10、3154522:21:53.82628122:21:53,82637022:21:53.82904722:21:53.829939whispe/whispew2/*hispE.go:176Whisperstartedp2p/server.go:61&Ltstentngon:40284node/node,go:341IPCendpointopened:/hame/huang/dev/getnode/nodego:4iiHTTPendpointopened:http:/localhost:BUelconetotheCethJavaScriptconsole!instance:coinbase:at
11、block:datadir:modules:Geth/PICCetherun/vl,5,5-stable-ff07d548/llnux/gol.7,30x8ad6349c613666al6cc949O97e429ec3fea3ba6c15(Hedf2SDec291666:07:45CST/home/huang/devadmin:1.&debuQ:1.ð:1.0minerj1.0net:1.0personal:1.0rpc:1.0shh:1.0txpool:l.Qweb3:1.0Node.js環(huán)境搭建由于以太坊開發(fā)框架truffle的安裝需要依賴于node.js中的npm命令,下文簡(jiǎn)要介紹
12、以下node.js的安裝過(guò)程。Node.js官網(wǎng):http:/WinduwiInstallerWindowsBinjryl.tfxemacOSInstiller(.pkgimafOSBinaries(.ur.gz)LinuxBinaries(m6364jLinuxBlntriH(ARM)Windowsinstal?r.MacintoshInstallerSourceCode32-bh:Mbit32-bit64-bltARM崎ARMWARMvS從官網(wǎng)中下載穩(wěn)定的版本,需要注意的是,由于網(wǎng)絡(luò)原因,網(wǎng)絡(luò)上有些教程推薦使用cnpm,然而使用cnpm代替npm有可能安裝的軟件
13、會(huì)出現(xiàn)一些問(wèn)題。依賴安裝安裝nodeJS之前,如果沒有安裝g+及l(fā)ibssl-dev,則先要安裝好,安裝方法如下:1 $sudoapt-getinstallg+2 $sudoapt-gtinstalllibssl-dcTnodejs安裝第一步,解壓:taryvfnode-v.:1.1linn;!-K6iTtar,xs第二步:為node和npm建立兩個(gè)軟連接,使之可以全局運(yùn)行:(第一個(gè)路徑為安裝程序所在路徑)1 In-Aome/zhuzi/app/nodejisAiade-v6.9.1Ain/node/usr/local/bin/node23 Ins/hojKe/ahuES/app/nodejs/node-v%1/bin/upm辱工,ocmL/bid/np*第三步:安裝測(cè)試noder輸出版本號(hào)1npm-v輸出版本號(hào),說(shuō)明安裝成功三、Truffle開發(fā)框架搭建Truffle是以太坊最受歡迎的一個(gè)開發(fā)框架,它幫你處理掉大量無(wú)關(guān)緊要的小事情,讓你可以迅速的進(jìn)入寫代碼-編譯-部署-測(cè)試-打包Dapp這么一個(gè)較成熟的開發(fā)流程。下面簡(jiǎn)要介紹如何搭建truffle開發(fā)框架。git安裝在安裝truffle之前需要核實(shí)一下本機(jī)是否安裝Git程序。后面的程序安裝需要依賴gi
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新能源電動(dòng)汽車充電樁安裝承包合同4篇
- 2025年度磚廠設(shè)備更新與承包合同4篇
- 二零二五年度高校講師聘請(qǐng)合同(含教學(xué)與科研)2篇
- 二零二五版場(chǎng)地綠化調(diào)查與規(guī)劃服務(wù)合同模板3篇
- 2025版民辦醫(yī)療機(jī)構(gòu)設(shè)備采購(gòu)與維修服務(wù)合同4篇
- 二零二五版過(guò)敏性疾病患者個(gè)性化治療方案合同3篇
- 2024預(yù)包裝食品倉(cāng)儲(chǔ)物流服務(wù)外包合同范本2篇
- 食堂就餐環(huán)境優(yōu)化合同(2025年度)3篇
- 2025年度交通運(yùn)輸履約保函服務(wù)標(biāo)準(zhǔn)3篇
- 二零二五年度二零二五智能城市建設(shè)項(xiàng)目合作協(xié)議4篇
- 天津市武清區(qū)2024-2025學(xué)年八年級(jí)(上)期末物理試卷(含解析)
- 《徐霞客傳正版》課件
- 江西硅博化工有限公司年產(chǎn)5000噸硅樹脂項(xiàng)目環(huán)境影響評(píng)價(jià)
- 高端民用航空復(fù)材智能制造交付中心項(xiàng)目環(huán)評(píng)資料環(huán)境影響
- 量子醫(yī)學(xué)成像學(xué)行業(yè)研究報(bào)告
- DB22T 3268-2021 糧食收儲(chǔ)企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化評(píng)定規(guī)范
- 辦事居間協(xié)議合同范例
- 正念減壓療法詳解課件
- GB 30254-2024高壓三相籠型異步電動(dòng)機(jī)能效限定值及能效等級(jí)
- 重大事故隱患判定標(biāo)準(zhǔn)與相關(guān)事故案例培訓(xùn)課件
- 高中語(yǔ)文新課標(biāo)必背古詩(shī)文72篇
評(píng)論
0/150
提交評(píng)論