版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
區(qū)塊鏈開發(fā)環(huán)境搭建前言本章主要總結在基于Ubuntu14.04系統(tǒng)上搭建區(qū)塊鏈開發(fā)平臺的過程。目前搭建區(qū)塊鏈開發(fā)環(huán)境還是比較復雜,推薦使用MacOSX和Linux操作系統(tǒng),目前不建議使用Windows,可能會碰到各種各樣的問題,最后導致放棄。注意:?安裝軟件的時候,盡量使用ubuntu系統(tǒng)官方的apt源。由于國很多公司,例如阿里,網(wǎng)易,騰訊等都免費提供apt源,在有的時候當然可以加快我們安裝軟件的速度。但是,在安裝本章所介紹的軟件的時候我就遇到了各種錯誤,后來更換了ubuntu的官方apt源后有些問題就沒有了。?在使用npm安裝某些軟件的時候,建議不要使用cnpm國鏡像,否則裝完可能會出現(xiàn)問題。?由于區(qū)塊鏈相關技術領域處于新興階段,變化很快,該章環(huán)境搭建僅供參考。、搭建基于以太坊go-ethereum的私有鏈環(huán)境go-ethereum客戶端以太坊有許多不同語言的客戶端實現(xiàn)(即多種與以太坊網(wǎng)絡交互的方法),包括C++,Go,Python,Java,Haskell等等。為什么需要這么多實現(xiàn)?不同的實現(xiàn)能滿足不同的需求(例如Haskell實現(xiàn)的目標是可以被數(shù)學驗證),能使以太坊更加安全,能豐富整個生態(tài)系統(tǒng)。我使用的是Go語言實現(xiàn)的客戶端geth,該客戶端也是官方推薦使用的客戶端,穩(wěn)定性較好,并且資料相對較多。安裝命令:打開終端窗口,依次輸入以下命令:sudoapt-getinstallsoftiiare-properties-conuTLunsudoadd—apt—reposituTy-yppa:etheremi/etherei.utlsudo:ddd-apt-re=posituiy-yppa:etheremL/etheretuii-devsudoapt—getupidatesudoapt—getinstai1etlieieiuTL安裝測試:安裝完成后在終端輸入:geth—heIp如果顯示出各種參數(shù)提示信息,則說明安裝成功。創(chuàng)世塊在以上安裝成功之后,直接啟動,即可連接公有鏈?,F(xiàn)在通過配置創(chuàng)世塊來創(chuàng)建私有鏈。同一個網(wǎng)絡中,創(chuàng)世塊必須是一樣的,否則無法聯(lián)通。創(chuàng)建一個eth的根目錄,在根目錄下新建創(chuàng)世塊json文件piccgenesis.json。容如下:("nonce”:"0x00042”,"mixhash”:"0x00”,"difficulty":"0x400”,"alloc":(},"coinbase”:"0x000000”,"timestamp":"0x00”,"parentHash”:"0x00”,"extraData":"PICCGenesisBlock","gasLimit":"0xffffffff"}參數(shù)解釋:
參數(shù)名稱參數(shù)描述mixhash與nonce配合用于挖礦,由上一個區(qū)塊的一部分生成的hash。注意他和nonce的設置需要滿足以太坊的Yellowpaper,4.3.4.BlockHeaderValidity,(44)章節(jié)所描述的條件。.noncenonce就是一個64位隨機數(shù),用于挖礦,注意他和mixhash的設置需要滿足以太坊的Yellowpaper,4.3.4.BlockHeaderValidity,(44)章節(jié)所描述的條件。difficulty設置當前區(qū)塊的難度,如果難度過大,cpu挖礦就很難,這里設置較小難度alloc用來預置賬號以與賬號的以太幣數(shù)量,因為私有鏈挖礦比較容易,所以我們不需要預置有幣的賬號,需要的時候自己創(chuàng)建即可以。coinbase礦工的賬號,隨便填timestamp設置創(chuàng)世塊的時間戳parentHash上一個區(qū)塊的hash值,因為是創(chuàng)世塊,所以這個值是0extraData附加信息,隨便填,可以填你的個性信息gasLimit該值設置對GAS的消耗總量限制,用來限制區(qū)塊能包含的交易信息總和,因為我們是私有鏈,所以填最大。注意:區(qū)塊難度difficulty一定要小,否則使用起來挖礦將會很困難,就沒有賬戶金額進行開發(fā)實驗;可以通過alloc在該文件中預分配賬戶和以太幣。
啟動私有鏈節(jié)點啟動節(jié)點所需參數(shù)列表:參數(shù)名稱參數(shù)描述identity區(qū)塊鏈的標示,隨便填寫,用于標示目前網(wǎng)絡的名字init指定創(chuàng)世塊文件的位置,并創(chuàng)建初始塊datadir設置當前區(qū)塊鏈網(wǎng)絡數(shù)據(jù)存放的位置port網(wǎng)絡監(jiān)聽端口rpc啟動rpc通信,可以進行智能合約的部署和調試rpcapi設置允許連接的rpc的客戶端,般為db,eth,net,web3networkid設置當前區(qū)塊鏈的網(wǎng)絡ID,用于區(qū)分不同的網(wǎng)絡,是一個數(shù)字console啟動命令行模式,可以在Geth中執(zhí)行命令終端進入配置好的創(chuàng)世塊文件目錄。輸入以下命令初始化創(chuàng)世塊:geth一datadir〃~./ethdev〃initpiccgenesis.json輸入以下命令啟動以太坊私有鏈:geth--identity〃PICCetherum〃--rpc--rpccorsdomain〃*--datadir〃~./ethdev〃--port"30303"--rpcapi〃db,eth,net,web3〃--networkid95518console-dev
注意:添加一dev表示以開發(fā)模式啟動。私有鏈數(shù)據(jù)存儲的目錄要與公有鏈分開??吹揭韵螺敵稣f明私有鏈啟動成功:文件[F]期輯(E]查看叫搜覽(S)終端幫助[H]1123122:21:51*67999134B81123122:21:51+680OZ131B8core/blockchairb,ot>:220]Lastblock:W15[e97b5eO0?.]TD=210core/blQckchflin-go:221]Fastblock:#15[e?7b5eO0?.]TD-2ie1123122:21:51.6&2051p2p/server.go:342]startings&rv&r112312Z:Z1;53.826034p2p/dtscover/udp.go:ZZT]Listening,enode://161ea€936b4deee887Sedie4a91cd8l8d3elcl7242Beel255377bdbSd3977a863bl7fe9d6c3aa068^71d3d915S5&3fe782Cla33aa7CGO432J9f9dec0d9LO45I@[1123122:21:51*67999134B81123122:21:51+680OZ131B8fe782Cla33aa7CGO432J9f9dec0d9LO45I@[:門t557391123111231II23Ih*ipc1123154522:2L22:2122*2153.8B如81S3.82637053.82904722:21:53,S29939whisper/whispervZ/whisper.ga;176]Whisperstartedp2p/server.go:61@]LiEteningon[::]:4D284nocl&/nc}d&xgu:341]ipcendpointopened:/hume/huang/detf/getnQde/n&de,go:411]httpendpointopened:http://tocalhoEt:8instance:Geth/PICCetheruni/vl+5+5-stable-ffD7d546/ltnuK/oolh7+3coinbase:9x8ad63^9cB1366&al6cc949097e429ec3feS3ba6catblock:15(wed,zeDec201600:07:45cst)datadir;/hoMe/huang/devnodules:adntn:1*0debu^:!rð:1*0ntner:l+0net11.9personal:1*0rpcil,&shh:ItxpcitjliixOxebii1.0二、Node.js環(huán)境搭建由于以太坊開發(fā)框架truffle的安裝需要依賴于node.js中的npm命令,下文簡要介紹以下node.js的安裝過程。Node.js官網(wǎng):./
LTSR^ommeindedForMost'UsersWindowsInstaller(uimsi)32-bil&4-t>ltwindowsBkruiry(.ex?j32-bit&4-bltmscOSInstaller(.pkg}M-bitmacOSBinaries(.tangz)LinuxBinaries(?tB6/x64)32-bit&4-blcLinuxBinarfes(ARM)ARMv6ARMy?ARklvaCurrentLatestFuturesWindowsInstaillerncdt-^9ZTSJMJHLlMacintoshinstalleinMi心二Rkc從官網(wǎng)中下載穩(wěn)定的版本,需要注意的是,由于網(wǎng)絡原因,網(wǎng)絡上有些教程推薦使用cnpm,然而使用cnpm代替npm有可能安裝的軟件會出現(xiàn)一些問題。依賴安裝安裝nodeJS之前,如果沒有安裝g++與libssl-dev,則先要安裝好,安裝方法如下:$sudoapt-getinstallg++$sudoapt-getinstalllibssl-devnodejs安裝第一步,解壓:1tar-xvfnode-v6.9.l-linu3(-x64:.tar.xz第二步:為node和npm建立兩個軟連接,使之可以全局運行:(第一個路徑為安裝程序所在路徑)1In-£/honie/zhuze/app/nodejs/node-v6.9.1/bin/n.ode/u.sr/local/bin/node2In-s/ham.e/2hu2s/app/nQdejs/node-vS.1/bin/n.pm/usr/local/bin/npm第三步:安裝測試node-v輸出版本號第三步:安裝測試node-v1npm-v輸出版本號,說明安裝成功。三、Truffle開發(fā)框架搭建Truffle是以太坊最受歡迎的一個開發(fā)框架,它幫你處理掉大量無關緊要的小事情,讓你可以迅速的進入寫代碼-編譯-部署-測試-打包Dapp這么一個較成熟的開發(fā)流程。下面簡要介紹如何搭建truffle開發(fā)框架。git安裝在安裝truffle之前需要核實一下本機是否安裝Git程序。后面的程序安裝需要依賴git。輸入以下命令:1$sudaadd.-apt-repositaryppa;git-coxe/ppa23$sudoapt-getupdate45$sudoapt—getinstallgrt安裝測試:$git—exsiongitversion2.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中學網(wǎng)絡與信息安全管理制度
- 企業(yè)員工培訓與職業(yè)規(guī)劃制度
- 企業(yè)安全生產(chǎn)管理制度
- 2026年食品營養(yǎng)學基礎食品安全與營養(yǎng)搭配知識競賽試題
- 2026年建筑工程師專業(yè)試題庫及答案全解
- 2026年公共政策專業(yè)題目政策制定與評估方法論
- 《JBT 14704-2024 汽車轉向盤骨架壓鑄模專題研究報告》
- 傳聲港新媒體營銷白皮書:文旅行業(yè)品牌推廣與獲客轉化全鏈路解決方案
- 季度政務信息采編報送發(fā)布工作總結
- 廣東省珠海市金灣區(qū)2025-2026學年度第一學期義務教育階段質量監(jiān)測八年級英語試題(含答案)
- 健康小鎮(zhèn)建設方案
- dbj41河南省城市地下綜合管廊施工與驗收標準
- 2026屆新高考語文三輪沖刺復習:二元思辨作文審題構思寫作
- 行業(yè)背景分析報告
- 2025中國農(nóng)業(yè)大學管理服務崗位(非事業(yè)編)招聘1人筆試備考試題附答案解析
- 2025福建省融資擔保有限責任公司招聘4人筆試試題附答案解析
- 2025年青海公務員《行政職業(yè)能力測驗》試題及答案
- 工程管理費合同協(xié)議
- 協(xié)助審計協(xié)議書范本
- GB/T 13471-2025節(jié)能項目經(jīng)濟效益計算與評價方法
- 學堂在線 雨課堂 學堂云 生活英語聽說 期末復習題答案
評論
0/150
提交評論