本篇內(nèi)容介紹了“如何使用truffle部署以太坊智能合約到區(qū)塊鏈”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到彰武網(wǎng)站設(shè)計(jì)與彰武網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋彰武地區(qū)。
安裝 Truffle 框架非常的簡(jiǎn)單,只需要一行命令:
npm install -g truffle
當(dāng)然前提是你已經(jīng)安裝好了NodeJS并且版本要在5.0以上。
Tunffle還要求一個(gè)運(yùn)行的以太坊客戶端,以便支持標(biāo)準(zhǔn)的JSON RPC API,有很多的選擇比如Ganache、geth。
要使用大量的Tunffle命令,我們通過(guò)使用一個(gè)現(xiàn)成的Tunffle項(xiàng)目來(lái)學(xué)習(xí)。第一步是創(chuàng)建一個(gè)Truffle項(xiàng)目。
我們可以創(chuàng)建一個(gè)空的項(xiàng)目模板,不過(guò)剛開(kāi)始構(gòu)建項(xiàng)目,我們可以使用Tunffle Boxs,里面有很多的示例應(yīng)用程序和項(xiàng)目模板。本文使用MetaCoin box,它創(chuàng)建一個(gè)可以在帳戶之間傳輸代幣的應(yīng)用程序示例。
1.為構(gòu)建Truffle項(xiàng)目創(chuàng)建新目錄:
mkdir MetaCoin cd MetaCoin
2.下載 MetaCoin box,使用truffle unbox <box-name>來(lái)下載各種示例,如果要建一個(gè)空的不包括智能合約的項(xiàng)目可以使用truffle init。
truffle unbox metacoin
上述命令完成后,我們獲得一個(gè)有以下目錄結(jié)構(gòu)的項(xiàng)目:
contracts/: Solidity編寫的智能合約目錄。
migrations/:腳本部署目錄。
test/:用來(lái)測(cè)試應(yīng)用程序和智能合約的測(cè)試目錄。
truffle.js/:Truffle 配置文件。
打開(kāi)contracts/MetaCoin.sol,這是一個(gè)用Solidity編寫的智能合約文件,這個(gè)智能合約建了Metacoin代幣,我們可以注意到它引用了同目錄下的另外一個(gè)solidity編寫的文件contracts/ConvertLib.sol。
打開(kāi)contracts/Migrations.sol,這是一個(gè)單獨(dú)的Solidity文件,用來(lái)管理和更新部署的智能合同的狀態(tài)。這個(gè)文件每個(gè)Tunffle項(xiàng)目都有,通常不用管。
打開(kāi)migrations/1_initial_deployment.js文件,這個(gè)腳本是為了部署Migrations.sol文件中的Migrations合約。
打開(kāi)migrations/2_deploy_contracts.js文件,這個(gè)腳本是為了部署MetaCoin合約,會(huì)按順序執(zhí)行完上一步的腳本后執(zhí)行。
打開(kāi)test/TestMetacoin.sol文件,這是一個(gè)Solidity編寫的測(cè)試文件,確保你的合約正常工作。
打開(kāi)test/metacoin.js文件,這個(gè)腳本與上面的測(cè)試文件類似。
打開(kāi)truffle.js文件,用于設(shè)置網(wǎng)絡(luò)信息和其他與項(xiàng)目相關(guān)的內(nèi)容。文件是空白的,沒(méi)關(guān)系,因?yàn)槲覀儗⑹褂靡粋€(gè)內(nèi)置有默認(rèn)值的Truffle命令。
1.打開(kāi)終端,執(zhí)行命令:
truffle test ./test/TestMetacoin.sol
輸出結(jié)果是這樣的:
TestMetacoin √ testInitialBalanceUsingDeployedContract (71ms) √ testInitialBalanceWithNewMetaCoin (59ms) 2 passing (794ms)
2.運(yùn)行JavaScript測(cè)試:
truffle test ./test/metacoin.js
輸出結(jié)果是這樣的:
Contract: MetaCoin √ should put 10000 MetaCoin in the first account √ should call a function that depends on a linked library (40ms) √ should send coin correctly (129ms) 3 passing (255ms)
truffle compile
輸出結(jié)果是這樣的:
Compiling .\contracts\ConvertLib.sol... Compiling .\contracts\MetaCoin.sol... Compiling .\contracts\Migrations.sol... Writing artifacts to .\build\contracts
當(dāng)使用Tuffle開(kāi)發(fā)一個(gè)多功能的私有鏈和控制臺(tái)時(shí)也可以使用ganache,它作為一個(gè)桌面應(yīng)用程序來(lái)啟動(dòng)私有鏈。對(duì)于以太坊和區(qū)塊鏈新手來(lái)說(shuō)ganache是一個(gè)更容易理解的工具,因?yàn)樗鼤?huì)顯示更多的信息給我們。
除了運(yùn)行Ganache之外,需要額外編輯一下Tunffle配置文件,以指向ganache實(shí)例。
1.下載和安裝 Ganache
2.打開(kāi) truffle.js ,用下面的內(nèi)容替換:
module.exports = {
networks: {
development: {
host: "127.0.0.1",
port: 7545,
network_id: "*"
}
}
};這樣就可以使用Ganache的默認(rèn)參數(shù)進(jìn)行連接了。
3.保存一下這個(gè)文件。
4.啟動(dòng) Ganache

5.打開(kāi)終端,用Ganache部署智能合約到區(qū)塊鏈
truffle migrate
輸出結(jié)果是這樣的:
Using network 'development'. Running migration: 1_initial_migration.js Replacing Migrations... ... 0x63b393bd50251ec5aa3e159070609ee7c61da55531ff5dea5b869e762263cb90 Migrations: 0xd6d1ea53b3a7dae2424a0525d6b1754045a0df9f Saving successful migration to network... ... 0xe463b4cb6a3bbba06ab36ac4d7ce04e2a220abd186c8d2bde092c3d5b2217ed6 Saving artifacts... Running migration: 2_deploy_contracts.js Replacing ConvertLib... ... 0xa59221bc26a24f1a2ee7838c36abdf3231a2954b96d28dd7def7b98bbb8a7f35 ConvertLib: 0x33b217190208f7b8d2b14d7a30ec3de7bd722ac6 Replacing MetaCoin... ... 0x5d51f5dc05e5d926323d580559354ad39035f16db268b91b6db5c7baddef5de5 MetaCoin: 0xcd2c65cc0b498cb7a3835cfb1e283ccd25862086 Saving successful migration to network... ... 0xeca6515f3fb47a477df99c3389d3452a48dfe507980bfd29a3c57837d6ef55c5 Saving artifacts...
內(nèi)容顯示的是交易id和你所部署的智能合約地址。
6.在Ganache中,點(diǎn)擊Transactions 按鈕可以看到被處理的交易。
7.要與合約進(jìn)行交互,可以使用Truffle控制臺(tái)。類似于Truffle Develop,唯一不同的是它連接到現(xiàn)有區(qū)塊鏈(在這種情況下,由Ganache生成的)
truffle console
你會(huì)看到下面的提示:
truffle(development)>
使用控制臺(tái)通過(guò)下面的方式進(jìn)行交互:
查看賬戶余額
MetaCoin.deployed().then(function(instance){return instance.getBalance(web3.eth.accounts[0]);}).then(function(value){return value.toNumber()});看看有多少以太合適(并注意合約定義1個(gè)metacoin價(jià)值2以太)
MetaCoin.deployed().then(function(instance){return instance.getBalanceInEth(web3.eth.accounts[0]);}).then(function(value){return value.toNumber()});從一個(gè)賬號(hào)轉(zhuǎn)賬到另一個(gè)賬號(hào)
MetaCoin.deployed().then(function(instance){return instance.sendCoin(web3.eth.accounts[1], 500);});檢查是否收到metacoin
MetaCoin.deployed().then(function(instance){return instance.getBalance(web3.eth.accounts[1]);}).then(function(value){return value.toNumber()});檢查給別人轉(zhuǎn)賬的賬戶
MetaCoin.deployed().then(function(instance){return instance.getBalance(web3.eth.accounts[0]);}).then(function(value){return value.toNumber()});“如何使用truffle部署以太坊智能合約到區(qū)塊鏈”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
標(biāo)題名稱:如何使用truffle部署以太坊智能合約到區(qū)塊鏈
文章源于:http://chinadenli.net/article2/ppdeic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、虛擬主機(jī)、品牌網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)頁(yè)設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)