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

如何使用Truffle部署智能合約

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

[[397532]]

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

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

使用Truffle,您可以獲得:

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

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

  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測(cè)試來(lái)編譯您的合同,將這些合同部署到網(wǎng)絡(luò)中,并運(yùn)行其關(guān)聯(lián)的單元測(cè)試。

Truffle與本地開(kāi)發(fā)區(qū)塊鏈服務(wù)器捆綁在一起,當(dāng)您調(diào)用上述命令時(shí),該服務(wù)器會(huì)自動(dòng)啟動(dòng)。如果您想配置更高級(jí)的開(kāi)發(fā)環(huán)境,我們建議您通過(guò)在命令行上運(yùn)行npm install -g ganache-cli來(lái)單獨(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.測(cè)試

  • 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可以很好地完成測(cè)試開(kāi)發(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)成功的部署和測(cè)試了Truffle項(xiàng)目合同,如有任何疑問(wèn)請(qǐng)?jiān)诹粞詤^(qū)進(jìn)行留言。

 

責(zé)任編輯:武曉燕 來(lái)源: 區(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-11 19:13:04

NFT合約智能

2021-03-18 23:04:41

Solidity開(kāi)發(fā)智能

2022-04-20 10:11:45

PythonBrownie編程語(yǔ)言

2022-07-14 09:00:00

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

2020-12-17 08:00:00

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

2023-07-04 20:15:00

2022-11-03 08:35:35

2023-08-23 09:00:00

區(qū)塊鏈以太坊

2020-04-22 13:23:46

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

2021-11-02 10:25:19

區(qū)塊鏈智能合約

2023-05-05 08:00:00

2023-02-20 08:00:00

2022-07-04 18:58:43

智能合約區(qū)塊鏈

2023-04-21 15:29:30

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

2020-04-29 12:50:29

Solidity智能合約區(qū)塊鏈

2023-05-12 09:14:34

2021-04-23 10:59:07

區(qū)塊鏈貨幣私鑰
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 久久久久久久久久爱 | 国精久久| 久久精品国产99国产精品 | 久久综合久久自在自线精品自 | 亚洲视频自拍 | 国产福利小视频 | 亚洲三区在线播放 | 欧美黄色网 | 精品国产乱码久久久久久牛牛 | 男女免费观看在线爽爽爽视频 | 成人精品一区二区三区中文字幕 | 天天影视亚洲综合网 | 精品久久99 | 亚洲精品资源 | 欧美精品一区二区免费 | 免费看国产一级特黄aaaa大片 | 久操福利 | 另类专区亚洲 | 欧美日韩一区二区在线 | 亚洲欧美中文日韩在线v日本 | 欧美一级在线观看 | 91在线最新 | 亚洲国产精品成人无久久精品 | 亚洲视频一区在线 | 久久久久久久av | 亚洲高清在线 | 91精品国产自产精品男人的天堂 | 亚洲欧美在线免费观看 | 国产免费av在线 | a国产视频 | 黄色一级大片在线免费看产 | 在线一区视频 | 久久免费观看一级毛片 | 日韩理论电影在线观看 | 中文字幕在线观看 | 91新视频| 在线观看av不卡 | 99精品观看 | 成人三级视频在线观看 | 久久精品国产久精国产 | 久久国产成人午夜av影院武则天 |