成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用Truffle部署智能合約

人工智能
Truffle是一個(gè)開發(fā)環(huán)境(提供用于編譯,部署,測試和構(gòu)建的命令行工具),框架(提供各種程序包以使其易于編寫測試,部署代碼,構(gòu)建客戶端等)和資產(chǎn)管道(發(fā)布軟件包并使用其他人發(fā)布的軟件包來構(gòu)建基于以太坊的DApp。

[[397532]]

本文轉(zhuǎn)載自微信公眾號「區(qū)塊鏈研究實(shí)驗(yàn)室」,作者鏈三豐。轉(zhuǎn)載本文請聯(lián)系區(qū)塊鏈研究實(shí)驗(yàn)室公眾號。

Truffle是一個(gè)開發(fā)環(huán)境(提供用于編譯,部署,測試和構(gòu)建的命令行工具),框架(提供各種程序包以使其易于編寫測試,部署代碼,構(gòu)建客戶端等)和資產(chǎn)管道(發(fā)布軟件包并使用其他人發(fā)布的軟件包來構(gòu)建基于以太坊的DApp。

使用Truffle,您可以獲得:

  • 內(nèi)置的智能合約編譯,鏈接,部署和二進(jìn)制管理。
  • 與Mocha和Chai進(jìn)行自動化合同測試。
  • 可配置的構(gòu)建管道,支持自定義構(gòu)建過程。
  • 可編寫腳本的部署和遷移框架。
  • 網(wǎng)絡(luò)管理,用于部署到許多公共和專用網(wǎng)絡(luò)。
  • 用于直接合同通信的交互式控制臺。
  • 在開發(fā)過程中立即重建資產(chǎn)。
  • 外部腳本運(yùn)行程序,在Truffle環(huán)境中執(zhí)行腳本。

要使用大多數(shù)Truffle命令,您需要在現(xiàn)有的Truffle項(xiàng)目上運(yùn)行它們。因此,第一步是創(chuàng)建一個(gè)Truffle項(xiàng)目,讓我們從安裝Truffle開始:

  1. $ npm install -g truffle 

確保已安裝:

  1. $ truffle  
  2. Truffle v3.2.1 - a development framework for Ethereum  
  3. Usage: truffle  [options]  
  4. Commands:   
  5. init   Initialize new Ethereum project with example contracts and tests  
  6. ... 

然后創(chuàng)建項(xiàng)目:

  1. $ mkdir storage_smart_contract_example  
  2. $ cd storage_smart_contract_example  
  3. $ truffle init 

在這里,您可以運(yùn)行Truffle編譯,Truffle遷移和Truffle測試來編譯您的合同,將這些合同部署到網(wǎng)絡(luò)中,并運(yùn)行其關(guān)聯(lián)的單元測試。

Truffle與本地開發(fā)區(qū)塊鏈服務(wù)器捆綁在一起,當(dāng)您調(diào)用上述命令時(shí),該服務(wù)器會自動啟動。如果您想配置更高級的開發(fā)環(huán)境,我們建議您通過在命令行上運(yùn)行npm install -g ganache-cli來單獨(dú)安裝區(qū)塊鏈服務(wù)器。

ganache-cli:Truffle的區(qū)塊鏈服務(wù)器的命令行版本。

ganache:服務(wù)器的GUI,顯示您的交易歷史記錄和鏈狀態(tài)。

Truffle項(xiàng)目的結(jié)構(gòu)

您創(chuàng)建的Truffle文件夾如下所示:

1.合同

  • ConvertLib.sol
  • MetaCoin.sol
  • Migrations.so

2.遷移

  • 1_initial_migration.js
  • 2_deploy_contracts.js

3.測試

  • TestMetacoin.sol
  • metacoin.js

4. truffle-config.js

5. truffle.js

現(xiàn)在進(jìn)一步編寫代碼,您將看到Truffle為我們創(chuàng)建了文件結(jié)構(gòu)。轉(zhuǎn)到合同文件夾并創(chuàng)建Storage.sol文件,然后在其中寫入智能合同的代碼。

  1. pragma solidity ^0.4.8;  
  2. contract Storage {   
  3.    uint256 storedData;  
  4. function set(uint256 data) {   
  5.    storedData = data;   
  6. }  
  7. function get() constant returns (uint256) {   
  8.    return storedData;   
  9. }  

現(xiàn)在轉(zhuǎn)到migrations / 2_deploy_contracts.js并將其修改為如下所示:

  1. var Storage = artifacts.require("./Storage.sol");  
  2. module.exports = function(deployer) {   
  3.   deployer.deploy(Storage);  
  4. }; 

現(xiàn)在我們已經(jīng)有了基本的設(shè)置,我們需要將其部署到區(qū)塊鏈上,讓我們使用testrpc可以很好地完成測試開發(fā)目的,在一個(gè)單獨(dú)的選項(xiàng)卡上,鍵入以下命令:

  1. $ npm install -g ethereumjs-testrpc  
  2. $ testrpc 
  3. EthereumJS TestRPC v3.0.3  
  4. Available Accounts  
  5. ==================  
  6. … 

然后返回運(yùn)行Truffle項(xiàng)目的選項(xiàng)卡:

  1. $ truffle compile  
  2. $ truffle migrate 

這樣我們就完成了合同的部署,讓我們檢查一下我們是否能夠調(diào)用合同功能。

  1. $ truffle console  
  2. truffle(development)>  
  3. Storage.deployed().then(instance => instance.get.call()).then(result => storeData = result)  
  4. { [String: '0'] s: 1, e: 0, c: [ 0 ] }  
  5. truffle(development)> storeData.toString()  
  6. '0' 

現(xiàn)在讓我們看看是否可以將storeData設(shè)置為值99。

  1. truffle(development)>  
  2. Storage.deployed().then(instance => instance.set.sendTransaction(99)).then(result => newStorageData = result) '0xc5e2f9c9da4cf9f563c8e59073d5b6ca9458f112a6dcfc14aaea7c16a99422d4' 
  3. truffle(development)> Storage.deployed().then(instance => instance.get.call()).then(result => storeData = result)  
  4. { [String: '99'] s: 1, e: 1, c: [ 99 ] }  
  5. truffle(development)> storeData.toString() '99' 

目前為止,我們已經(jīng)成功的部署和測試了Truffle項(xiàng)目合同,如有任何疑問請?jiān)诹粞詤^(qū)進(jìn)行留言。

 

責(zé)任編輯:武曉燕 來源: 區(qū)塊鏈研究實(shí)驗(yàn)室
相關(guān)推薦

2023-02-24 08:00:00

2021-04-20 12:53:34

Polkadot部署合約

2021-03-25 16:34:10

區(qū)塊鏈加密資產(chǎn)技術(shù)

2021-03-18 23:04:41

Solidity開發(fā)智能

2021-03-11 19:13:04

NFT合約智能

2020-12-17 08:00:00

區(qū)塊鏈數(shù)據(jù)以太坊

2022-04-20 10:11:45

PythonBrownie編程語言

2022-07-14 09:00:00

區(qū)塊鏈數(shù)據(jù)智能合約

2023-07-04 20:15:00

2022-11-03 08:35:35

2023-05-05 08:00:00

2020-04-22 13:23:46

智能合約區(qū)塊鏈比特幣

2021-11-02 10:25:19

區(qū)塊鏈智能合約

2023-08-23 09:00:00

區(qū)塊鏈以太坊

2023-02-20 08:00:00

2022-07-04 18:58:43

智能合約區(qū)塊鏈

2023-04-21 15:29:30

區(qū)塊鏈去中心化自動化合約

2023-05-12 09:14:34

2021-04-23 10:59:07

區(qū)塊鏈貨幣私鑰

2020-04-29 12:50:29

Solidity智能合約區(qū)塊鏈
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 中日韩欧美一级片 | 国产成人精品一区二区 | www日韩欧美| 成年人在线观看 | 日韩福利在线观看 | 激情五月激情综合网 | 久久99网| 久草网址| 精品久久国产 | 成人精品毛片国产亚洲av十九禁 | 国产高清精品网站 | 欧美一区二区三区四区在线 | 精品成人免费一区二区在线播放 | 国产精品日韩一区 | 色资源站 | 美女高潮网站 | 国产精品不卡 | 精精国产xxxx视频在线播放 | 国产美女特级嫩嫩嫩bbb片 | 精品国产一区二区在线 | 成人欧美一区二区三区在线播放 | 日韩字幕 | 日本一区二区三区四区 | 日韩一 | 日韩一区二区在线视频 | 91在线看片 | 国产成人免费在线观看 | 日本不卡高字幕在线2019 | 中文字幕av一区二区三区 | 久久久蜜桃 | 日本黄色影片在线观看 | 中文字幕精品视频 | 九九九久久国产免费 | 欧美日韩大陆 | 欧美日韩精选 | 综合在线视频 | 2020天天操| 日韩中文字幕一区 | 福利av在线 | 亚洲精品九九 | 成人免费视频网 |