版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、區(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)
2、問題。 由于區(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)定性較好,并且資料相對較多。安裝命令:打開終端窗口,依次輸入以下命令:1 sudoapl-ge-tinsta
3、llsofturareprflpeT11es-conunon2 sudoadd-aptrepotory-yppa:etherewi/ethersum3 sudoadd-apt-repository-yppa:ethersum/fttheieum-dev4 sudoapHzg&tupdate5 sudoapt-getinstalleth虹日皿安裝測試:安裝完成后在終端輸入:1geth-heIp如果顯示出各種參數(shù)提示信息,則說明安裝成功。創(chuàng)世塊在以上安裝成功之后,直接啟動,即可連接公有鏈?,F(xiàn)在通過配置創(chuàng)世塊來創(chuàng)建私有鏈。同一個網(wǎng)絡中,創(chuàng)世塊必須是一樣的,否則無法聯(lián)通。創(chuàng)建一個eth的根目錄,在根目
4、錄下新建創(chuàng)世塊json文件piccgenesis.json。內容如下:(nonce:0x0000000000000042,mixhash:0x0000000000000000000000000000000000000000000000000000000000000000,difficulty:0x400,alloc:,coinbase:0x0000000000000000000000000000000000000000”,timestamp:0x00,parentHash:0x00000000000000000000000000000000000000000000000000000000000
5、00000,extraData:PICCGenesisBlock,gasLimit:0xfffffff參數(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ū)塊的難度,如果難度過大,cp
6、u挖礦就很難,這里設置較小難度alloc用來預置賬號以及賬號的以太幣數(shù)量,因為私有鏈挖礦比較容易,所以我們不需要預置有幣的賬號,需要的時候自己創(chuàng)建即可以。coinbase礦工的賬號,隨便填timestamp設置創(chuàng)世塊的時間戳parentHash個區(qū)塊的hash值,因為是創(chuàng)世塊,所以這個值是0extraData附加信息,隨便填,可以填你的個性信息gasLimit該值設置對GAS的消耗總量限制,用來限制區(qū)塊能包含的交易信息總和,因為我們是私有鏈,所以填最大。注意:區(qū)塊難度difficulty一定要小,否則使用起來挖礦將會很困難,就沒有賬戶金額進行開發(fā)實驗;可以通過alloc在該文件中預分配賬戶和以
7、太幣啟動私有鏈節(jié)點啟動節(jié)點所需參數(shù)列表:參數(shù)名稱參數(shù)描述identityH塊鏈的標本,隨便填寫,用于標示目前網(wǎng)絡的名字initdatadir1旨定創(chuàng)世塊文件的位置,并創(chuàng)建初始塊設置當前區(qū)塊鏈網(wǎng)絡數(shù)據(jù)存放的位置p0rtH絡監(jiān)聽端口rpc啟動rpc通信,可以進行智能合約的部署和調試rpcapi設置允許連接的rpc的客戶端,一M為db,eth,net,web3networkid設置當前區(qū)塊鏈的網(wǎng)絡id,用于區(qū)分不同的網(wǎng)絡,是一個數(shù)console啟動命令行模式,可以在Geth中執(zhí)行命令終端進入配置好的創(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ā)模式啟動。私有鏈數(shù)據(jù)存儲的目錄要與公有鏈分開??吹揭韵螺敵稣f明私有鏈啟動成功:文件時里輯間宜有刖椎索俗)終端由陽助忸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命令,下文簡要介紹
12、以下node.js的安裝過程。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)絡原因,網(wǎng)絡上有些教程推薦使用cnpm,然而使用cnpm代替npm有可能安裝的軟件
13、會出現(xiàn)一些問題。依賴安裝安裝nodeJS之前,如果沒有安裝g+及l(fā)ibssl-dev,則先要安裝好,安裝方法如下:1 $sudoapt-getinstallg+2 $sudoapt-gtinstalllibssl-dcTnodejs安裝第一步,解壓:taryvfnode-v.:1.1linn;!-K6iTtar,xs第二步:為node和npm建立兩個軟連接,使之可以全局運行:(第一個路徑為安裝程序所在路徑)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*第三步:安裝測試noder輸出版本號1npm-v輸出版本號,說明安裝成功三、Truffle開發(fā)框架搭建Truffle是以太坊最受歡迎的一個開發(fā)框架,它幫你處理掉大量無關緊要的小事情,讓你可以迅速的進入寫代碼-編譯-部署-測試-打包Dapp這么一個較成熟的開發(fā)流程。下面簡要介紹如何搭建truffle開發(fā)框架。git安裝在安裝truffle之前需要核實一下本機是否安裝Git程序。后面的程序安裝需要依賴gi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- SolidWorks建立模型導入到maxwell中仿真分析
- 胰腺癌手術護理查房
- 培訓Excel表的使用與技巧
- 03 科學技術-2025年中考英語新熱點時文閱讀
- 山東省日照市莒縣2024-2025學年八年級上學期期中考試物理試題(含答案)
- 河北省衡水市桃城區(qū)2024-2025學年高三上學期10月月考英語試題(含答案無聽力原文及音頻)
- 第一單元 小數(shù)除法 2024-2025學年數(shù)學北師大版五年級上冊單元檢測(含解析)
- 2024-2025學年江蘇省南京市玄武區(qū)科利華中學九年級(上)第一次月考數(shù)學試卷(含答案)
- T-YNRZ 020-2024 珠芽黃魔芋采收與貯運
- T-XYTX 001-2024 地理標志農產品 新沂水蜜桃
- 2024年人教版七年級上冊英語期中綜合檢測試卷及答案 (一)
- 重大事故隱患判定標準與相關事故案例培訓課件
- 唐詩宋詞人文解讀智慧樹知到期末考試答案章節(jié)答案2024年上海交通大學
- 完美著裝智慧樹知到期末考試答案章節(jié)答案2024年武漢紡織大學
- 《電視攝像》電子教案
- 深圳市中小學生流感疫苗接種知情同意書
- 射線、直線和角(張冬梅)
- 第一講 偉大事業(yè)都始于夢想(課件)
- NCCN癌痛指南更新解讀專家講座
- 道路運輸達標車輛核查記錄表(貨車)
- 人造血管內瘺護理
評論
0/150
提交評論