偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何使用Truffle部署智能合約

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

[[397532]]

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

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

使用Truffle,您可以獲得:

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

要使用大多數(shù)Truffle命令,您需要在現(xiàn)有的Truffle項目上運行它們。因此,第一步是創(chuàng)建一個Truffle項目,讓我們從安裝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)建項目:

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

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

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

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

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

Truffle項目的結(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)在進一步編寫代碼,您將看到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ā)目的,在一個單獨的選項卡上,鍵入以下命令:

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

然后返回運行Truffle項目的選項卡:

  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項目合同,如有任何疑問請在留言區(qū)進行留言。

 

責(zé)任編輯:武曉燕 來源: 區(qū)塊鏈研究實驗室
相關(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開發(fā)智能

2022-04-20 10:11:45

PythonBrownie編程語言

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ū)塊鏈去中心化自動化合約

2020-04-29 12:50:29

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

2023-05-12 09:14:34

2021-04-23 10:59:07

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

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