国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

以太坊 – 使用truffle console訪問智能合約

這篇具有很好參考價(jià)值的文章主要介紹了以太坊 – 使用truffle console訪問智能合約。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

??博主簡(jiǎn)介
??????????云計(jì)算領(lǐng)域優(yōu)質(zhì)創(chuàng)作者
??????????2022年CSDN新星計(jì)劃python賽道第一名

??????????2022年CSDN原力計(jì)劃優(yōu)質(zhì)作者
??????????阿里云ACE認(rèn)證高級(jí)工程師
??????????阿里云開發(fā)者社區(qū)專家博主

??交流社區(qū):CSDN云計(jì)算交流社區(qū)歡迎您的加入!

目錄

1.?使用 truffle console 訪問智能合約

2.?智能合約測(cè)試(truffle test)

2.1 編寫測(cè)試代碼

2.2 運(yùn)行測(cè)試腳本


以太坊 – 使用truffle console訪問智能合約

1.?使用 truffle console 訪問智能合約

truffle console 是區(qū)塊鏈開發(fā)人員的強(qiáng)大工具,這是一個(gè)命令行工具,可以在命令行中執(zhí)行javascript代碼,與智能合約進(jìn)行交互。這對(duì)于開發(fā)智能合約非常有用。

我們已經(jīng)成功地將智能合約部署到本地區(qū)塊鏈網(wǎng)絡(luò),接下來我們將使用 truffle console 與智能合約進(jìn)行交互。

啟動(dòng) truffle console:

$ truffle console

進(jìn)入控制臺(tái)后,讓我們獲取已部署智能合約的一個(gè)實(shí)例,看看能否從該合約中讀取value值。從控制臺(tái)運(yùn)行以下代碼:

MyContract.deployed().then((instance) => { app = instance } )

這里MyContract是之前在遷移文件中創(chuàng)建的變量名稱,使用deployed()函數(shù)獲取一個(gè)已部署合約的實(shí)例,并將其分配給promise回調(diào)函數(shù)中的一個(gè)app變量。

現(xiàn)在可以獲取智能合約中的value值:

app.get()
// => 'myValue'

value設(shè)置一個(gè)新值:

app.set('New Value')

重新獲取智能合約中的value值:

app.get()
// => 'New Value'

可以通過以下命令退出truffle console:

.exit

2.?智能合約測(cè)試(truffle test)

類似Java中JUnit單元測(cè)試工具,Trfuffle test可以幫助我們對(duì)智能合約項(xiàng)目進(jìn)行白盒測(cè)試。

對(duì)于區(qū)塊鏈項(xiàng)目,測(cè)試顯得尤其重要,因?yàn)椴渴鸷霞s、遷移合約的成本都是相當(dāng)高的,都要消耗Gas。

2.1 編寫測(cè)試代碼

現(xiàn)在讓我們對(duì)前面章節(jié)中創(chuàng)建的智能合約,編寫一些測(cè)試代碼。整個(gè)測(cè)試過程模擬對(duì)智能合約MyContract獲取value值、設(shè)置value值的過程。

先確保MyContract已經(jīng)正確部署到Ganache本地區(qū)塊鏈網(wǎng)絡(luò)中。測(cè)試中將會(huì)用到Mocha測(cè)試框架,與Chai斷言庫,但Truffle已經(jīng)集成了這些庫。

測(cè)試代碼用JavaScript編寫,模擬與智能合約的交互,就像使用truffle console所做的那樣。

在項(xiàng)目根目錄下的test目錄中,添加測(cè)試腳本文件:?MyContract.js

MyContract.js中的測(cè)試代碼:

// 首先,`require`合約并將其分配給一個(gè)變量`MyContract`
const MyContract = artifacts.require('./MyContract.sol');

// 調(diào)用“contract”函數(shù),并在回調(diào)函數(shù)中編寫所有測(cè)試
// 回調(diào)函數(shù)提供一個(gè)“accounts”變量,表示本地區(qū)塊鏈上的所有帳戶。
contract('MyContract', (accounts) => {

    // 第1個(gè)測(cè)試:調(diào)用get()函數(shù),檢查返回值,測(cè)試合約中value初始值是否是: 'myValue'
    it('initializes with the correct value', async () => {
        // 獲取合約實(shí)例
        const myContract = await MyContract.deployed()
        const value = await myContract.get()
        // 使用斷言測(cè)試value的值
        assert.equal(value, 'myValue')
    })

    // 第2個(gè)測(cè)試: 調(diào)用set()函數(shù)來設(shè)置value值,然后調(diào)用get()函數(shù)來確保更新了值
    it('can update the value', async () => {
        const myContract = await MyContract.deployed()
        myContract.set('New Value');
        const value = await myContract.get()
        assert.equal(value, 'New Value')
    })
})

代碼說明,請(qǐng)見注釋。

2.2 運(yùn)行測(cè)試腳本

執(zhí)行命令行運(yùn)行測(cè)試:

$ truffle test

測(cè)試詳情:文章來源地址http://www.zghlxwxcb.cn/news/detail-431782.html

G:\qikegu\ethereum\mydapp>truffle test
Using network 'development'.


Compiling your contracts...
===========================
> Everything is up to date, there is nothing to compile.



  Contract: MyContract
    √ initializes with the correct value (76ms)
    √ can update the value (78ms)


  2 passing (188ms)

到了這里,關(guān)于以太坊 – 使用truffle console訪問智能合約的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • truffle 進(jìn)行智能合約測(cè)試

    truffle 進(jìn)行智能合約測(cè)試

    以太坊區(qū)塊鏈開發(fā) truffle 入門教程 1_嗶哩嗶哩_bilibili 快速入門 Truffle | Truffle 中文文檔 - DApp 開發(fā)框架 | 深入淺出區(qū)塊鏈 (learnblockchain.cn) 下載node.js? 利用npm 下載truffle :? npm install -g truffle 安裝vscode 插件、 ? 下載完成會(huì)多一個(gè)這個(gè)標(biāo)志,然后點(diǎn)進(jìn)去,會(huì)讓檢測(cè)讓你下載幾個(gè)東

    2024年02月16日
    瀏覽(26)
  • 【區(qū)塊鏈技術(shù)開發(fā)】 Solidity使用Truffle Box工具實(shí)現(xiàn)預(yù)構(gòu)建模板、自動(dòng)化部署、創(chuàng)建智能合約示例代碼

    專欄:區(qū)塊鏈技術(shù)開發(fā) Truffle Box是一個(gè)開發(fā)工具,為Truffle生態(tài)系統(tǒng)中的開發(fā)人員提供了預(yù)構(gòu)建

    2023年04月16日
    瀏覽(159)
  • Web3本地搭建truffle智能合約開發(fā)環(huán)境

    Web3本地搭建truffle智能合約開發(fā)環(huán)境

    之前的幾篇文章 我們是成功的操作了我們本地區(qū)塊鏈的 那么 本文 我們就來說說智能合約 啊 不容易啊 扯了這么久 終于到這了 智能合約是部署在區(qū)塊鏈上 不可逆的 一種去中心化的程序,他沒有任何第三方公司來管理這個(gè)程序和數(shù)據(jù) 然后 還有就是怎么連接到區(qū)塊鏈上的智能

    2024年02月12日
    瀏覽(21)
  • Web3 通過truffle 腳本進(jìn)行智能合約測(cè)試

    Web3 通過truffle 腳本進(jìn)行智能合約測(cè)試

    上文 Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進(jìn)行測(cè)試中 我們講解了部署智能合約 然后在終端測(cè)試的方法 但上文那種終端測(cè)試 其實(shí)并不保險(xiǎn) 而且也比較不專業(yè) 對(duì)于這個(gè) 有一個(gè)mocha測(cè)試 這是基于node部署環(huán)境的一種環(huán)境測(cè)試 但是這個(gè)需要一定的基礎(chǔ) 大家可以專門去學(xué)

    2024年02月13日
    瀏覽(23)
  • 【區(qū)塊鏈-智能合約工程師】第四篇:Truffle框架安裝和介紹(Windows)

    【區(qū)塊鏈-智能合約工程師】第四篇:Truffle框架安裝和介紹(Windows)

    參考文章: 以太坊開發(fā)框架——Truffle的基礎(chǔ)使用 區(qū)塊鏈(2)以太坊開發(fā)框架Truffle教程(Windows)(主要參考) 簡(jiǎn)單介紹 Truffle 是目前最流行的 以太坊 DApp 開發(fā)框架 ,(按照官網(wǎng)說法)是一個(gè)世 界級(jí)的開發(fā)環(huán)境和測(cè)試框架,也是所有使用了 EVM 的區(qū)塊鏈的資產(chǎn)管理通道,它

    2024年02月02日
    瀏覽(29)
  • 在本地以太坊私鏈上,使用go調(diào)用智能合約,獲取事件日志

    在本地以太坊私鏈上,使用go調(diào)用智能合約,獲取事件日志

    完整go項(xiàng)目文件目錄 ? ? ?

    2024年02月11日
    瀏覽(29)
  • 【智能合約】以太坊合約執(zhí)行分析

    目錄 1. 基本概念 1.2 合約字節(jié)碼 1.3 合約構(gòu)造函數(shù) 1.4 與合約交互 1.5 Call Data 1.6 程序計(jì)數(shù)器(Program Counter) 1.7 執(zhí)行環(huán)境(Context) 1.8 OpCode(操作碼/EVM指令/助記符) 1.9 Gas消耗 1.10 合約執(zhí)行過程 2. 過程詳解 2.1 關(guān)于部署代碼 2.2 runtime代碼 2.3 最終字節(jié)碼 2.4 為EVM設(shè)計(jì)的指令集

    2024年02月02日
    瀏覽(22)
  • 【web3實(shí)踐 | 以太坊開發(fā)框架Truffle使用】

    【web3實(shí)踐 | 以太坊開發(fā)框架Truffle使用】

    Truffle是一個(gè)面向以太坊的開發(fā)框架,提供一整套構(gòu)建、測(cè)試、部署以及管理智能合約的開發(fā)工具。Truffle可以與以太坊節(jié)點(diǎn)交互,使開發(fā)人員能夠在本地開發(fā)、測(cè)試和部署智能合約。 Truffle提供了一個(gè)基于命令行的、易于使用的開發(fā)環(huán)境,可以通過Truffle來編寫智能合約,進(jìn)行

    2024年02月07日
    瀏覽(28)
  • 【ETH】以太坊合約智能合約逆向方案

    技術(shù)角度了解區(qū)塊鏈 在反編譯之前,你需要先知道如果獲取編譯后的字節(jié)碼。 這里以 USDT 舉例

    2024年02月09日
    瀏覽(11)
  • 以太坊智能合約開發(fā)(五):Solidity成績(jī)錄入智能合約實(shí)驗(yàn)

    每個(gè)學(xué)生分別部署合約Student.sol ,保證只有自己可以修改姓名。老師部署合約StudentScore.sol,用于錄入學(xué)生成績(jī),查詢學(xué)生信息。查詢學(xué)生信息時(shí),需要調(diào)用學(xué)生部署的合約Student.sol。 student.sol合約,用于學(xué)生對(duì)自己信息進(jìn)行管理。 學(xué)生的基本信息作為狀態(tài)變量: 聲明構(gòu)造函

    2024年02月07日
    瀏覽(43)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包