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

Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進(jìn)行測試

這篇具有很好參考價值的文章主要介紹了Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進(jìn)行測試。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

上文 Web3 在Truffle項目中編寫出自己的第一個solidity智能合約我們演示了 在Truffle環(huán)境下寫一個智能合約并編譯的功能
編譯出的文件夾中的這個JSON就非常重要了 我們就可以通過 它這個ABI鏈接到需要的智能合約程序上去
Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進(jìn)行測試,web3,智能合約,區(qū)塊鏈
但這也僅僅是編譯完了 我們的智能合約還沒有部署到我們的區(qū)塊鏈上

然后 我們在根目錄下的 migrations 目錄下創(chuàng)建一個 1_contract.js 注意 這里的文件 一定要以數(shù)字開頭
Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進(jìn)行測試,web3,智能合約,區(qū)塊鏈
就我們在這個目錄創(chuàng)建文件時 就 1 什么什么 2 什么什么 3什么什么 以此類推 不然 我們在部署時 就會報錯
因為 如果你不遵循它的規(guī)范 它找不到 它只認(rèn)識以數(shù)字開頭的

我們編寫1_contract.js代碼如下

const Contacts = artifacts.require("StudentStorage.sol")
module.exports = function(deployer) {
    deployer.deploy(Contacts)
}

這里 我們artifacts.require中的路徑 你只需要寫合約文件的名字 因為 他會自動幫你在contracts目錄下去找
然后 我們這里 如果你有多個只能合約
那就

const 合約1名稱 = artifacts.require("文件路徑")
const 合約2名稱 = artifacts.require("文件路徑")
const 合約3名稱 = artifacts.require("文件路徑")
module.exports = function(deployer) {
    deployer.deploy(合約1名稱)
    deployer.deploy(合約2名稱)
    deployer.deploy(合約3名稱)
}

這樣就可以了

然后 我們在終端執(zhí)行

truffle migrate

這個命令的話 是先編譯 再執(zhí)行 所以 其實 他也包含了之前我們用的truffle compile 的功能

執(zhí)行之前 我們先通過 MetaMask 查看一下ganache環(huán)境中第一個用戶的ETH
Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進(jìn)行測試,web3,智能合約,區(qū)塊鏈
然后 我們執(zhí)行命令

通過控制臺 我們可以看到 這個確實是先編譯 再部署
Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進(jìn)行測試,web3,智能合約,區(qū)塊鏈
再回來看 MetaMask 我們第一個用戶的數(shù)據(jù)確實是變化了
Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進(jìn)行測試,web3,智能合約,區(qū)塊鏈
那么 我們web3調(diào)用肯定現(xiàn)在是做不了 但是 我們?nèi)绻鳛橐粋€后端開發(fā)人員 我們開發(fā)一個程序 自己也肯定要測試啊

我們先在終端執(zhí)行

truffle console

Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進(jìn)行測試,web3,智能合約,區(qū)塊鏈
進(jìn)入truffle控制臺

然后 我們輸入

const obj = await StudentStorage.deployed()

注意 StudentStorage是智能合約的名字 如果你的命名和我不一樣 就要根據(jù)自己合約的名字去改
Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進(jìn)行測試,web3,智能合約,區(qū)塊鏈
這個命令執(zhí)行之后 我們就能拿到智能合約的一個對象了

執(zhí)行完之后 我們在終端輸入

obj

進(jìn)行對象訪問
Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進(jìn)行測試,web3,智能合約,區(qū)塊鏈
可以看到 是一個非常大的對象

將來Web3 連接智能合約 拿到的一個對象 就是這樣的
我們可以在終端通過 合約對象.address
例如我這里

obj.address

看到他在鏈上的地址
Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進(jìn)行測試,web3,智能合約,區(qū)塊鏈
那么 我們還是試試 調(diào)用我們的方法吧

終端輸入

obj.setData(33,"小貓貓")

這里就輸出了對應(yīng)內(nèi)容
Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進(jìn)行測試,web3,智能合約,區(qū)塊鏈
這其實就是輸出了 你這個數(shù)據(jù)上鏈 消耗的燃料等信息
存都存了
那么 我們獲取一下吧

obj.getData()

我們的數(shù)據(jù)就回來了
Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進(jìn)行測試,web3,智能合約,區(qū)塊鏈
通過年齡的返回 我們可以看到 uint 的處理相對特殊一點 但這個不用擔(dān)心 之后我們用web3 還是能將他處理成正常的數(shù)值類型

那么 我們合約中有一個 name 和 age 我們能不能直接通過合約對象去拿呢?
顯然拿不到
Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進(jìn)行測試,web3,智能合約,區(qū)塊鏈
如果你想讓他也能直接訪問 那就還是public設(shè)置一下
Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進(jìn)行測試,web3,智能合約,區(qū)塊鏈文章來源地址http://www.zghlxwxcb.cn/news/detail-540782.html

到了這里,關(guān)于Web3 處理智能合約部署到本地區(qū)塊鏈,并在本地進(jìn)行測試的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 賽聯(lián)區(qū)塊鏈培訓(xùn):Web3的核心要素——區(qū)塊鏈、加密資產(chǎn)、智能合約和預(yù)言機

    賽聯(lián)區(qū)塊鏈培訓(xùn):Web3的核心要素——區(qū)塊鏈、加密資產(chǎn)、智能合約和預(yù)言機

    在2008年,中本聰發(fā)布了比特幣白皮書,徹底顛覆了我們對數(shù)字化交易的概念,并首次提出了一種無需可信中間方的安全在線交易模式。中本聰寫道:“需要基于加密證明,而非信任,來建立電子支付系統(tǒng)?!?智能合約被發(fā)明后,去中心化的互聯(lián)網(wǎng)模式進(jìn)入公眾視野。如果說

    2024年02月07日
    瀏覽(29)
  • 【區(qū)塊鏈】走進(jìn)web3的世界-合約交互中的異常/邊界處理

    【區(qū)塊鏈】走進(jìn)web3的世界-合約交互中的異常/邊界處理

    在以太坊智能合約中,異常處理是一個非常重要的問題,因為任何一個函數(shù)調(diào)用都有可能導(dǎo)致異常。常見的異常包括函數(shù)調(diào)用失敗、無效參數(shù)、內(nèi)部錯誤等。 ????????在?Solidity?中,可以使用?require、assert?和?revert?等來處理異常。這些可以用于檢查輸入?yún)?/p>

    2024年02月09日
    瀏覽(27)
  • Web3.js在以太坊上部署和調(diào)用智能合約

    介紹如何使用Web3.js在以太坊上部署和調(diào)用智能合約;Web3.js是以太坊JavaScript API的實現(xiàn),它可以與以太坊區(qū)塊鏈進(jìn)行交互 智能合約編寫 使用Solidity編寫一個簡單的智能合約,然后使用Web3.js將其部署到以太坊區(qū)塊鏈,通過JavaScript調(diào)用該智能合約 這個智能合約非常簡單。它有兩

    2024年02月16日
    瀏覽(20)
  • 部署智能合約到 polygon 上(Web3項目三實戰(zhàn)之三)

    在上一篇 為 Web3 項目撰寫智能合約(Web3項目三實戰(zhàn)之二) 中,我們已經(jīng)為 Web3 項目編寫好了 智能合約 ,而本文將要部署 智能合約 到 polygon 上。 您或許會問, polygon 到底是什么?其實它是 測試鏈 (也可以說是 測試網(wǎng) ),由于 主鏈 (或 主網(wǎng) )部署 智能合約 是需要 ga

    2024年01月23日
    瀏覽(20)
  • 以太坊Dapp通過web3js部署調(diào)用智能合約

    以太坊Dapp通過web3js部署調(diào)用智能合約

    參考視頻:https://www.bilibili.com/video/BV14z4y1Z7Jd?p=1 https://remix.ethereum.org/ 創(chuàng)建一個新的文件夾 mkdir MyDapp2 啟動 ganache-cli 下載web3 npm install web3 ,注:ganache的啟動和deploy.js要在同一個目錄。 先進(jìn)行測試 node deploy.js 部署合約 web3的版本:1.7.1 復(fù)制 WEB3DEPLOY 的內(nèi)容到deploy.js == ganache需要

    2023年04月23日
    瀏覽(27)
  • 使用Ganache,web3js和remix在個人區(qū)塊鏈上部署并調(diào)用合約

    使用Ganache,web3js和remix在個人區(qū)塊鏈上部署并調(diào)用合約

    Ganache是一個運行在本地的個人區(qū)塊鏈,適用于以太坊的開發(fā)者。 首先我們需要下載Ganache web3js的中文文檔 remix英文版的網(wǎng)址 有以上的準(zhǔn)備之后我們就可以開始了 首先啟動Ganache 這就是Ganache的主頁面,下面有10個供我們使用的賬號,上面有他們的地址以及余額,我們暫時需要

    2024年01月19日
    瀏覽(49)
  • java使用web3j,部署智能合約在測試鏈上,并調(diào)用(萬字詳細(xì)教程)

    java使用web3j,部署智能合約在測試鏈上,并調(diào)用(萬字詳細(xì)教程)

    最近在學(xué)區(qū)塊鏈相關(guān),想做點自己感興趣的。網(wǎng)上關(guān)于這塊部分的坑也比較多,最近也是問了很多行業(yè)從事者才慢慢填坑,因此記錄下來分享一下。 錢包 :metemask、 solidity編譯器 :remix 、 java ide :idea。 智能合約編寫的我選擇在remix上方便,而且部署的時候不需要自定義gasP

    2024年01月16日
    瀏覽(25)
  • 區(qū)塊鏈合約交互 web3

    遵循ERC20規(guī)則, 錢包里可以有很多種類型的token:USDT,DFI,DFA 1.合約交互之前需要先判斷是否仍允許purchasePool合約從賬戶(錢包里的賬戶) 中提取的ERC20dfaContract 這本合約里(DFA)的金額 await this.contract.ERC20dfaContract.methods.allowance(this.address,this.addressMap.AcceleratePool).call(); ERC20df

    2024年02月07日
    瀏覽(27)
  • 區(qū)塊鏈-java對接web3合約

    本文章講述了如何在合約已經(jīng)部署并且能拿到合約abi文件的情況下,用java代碼去進(jìn)行調(diào)用合約 已經(jīng)部署好的合約地址 編譯合約后生成的abi文件? 通過hardhat-build去編譯 通過remix網(wǎng)站去編譯獲取(教程可自行百度查詢) 引入web3的jar包 版本用最新的就行了 引入web3j-maven-plugin 將編

    2024年01月16日
    瀏覽(100)
  • web3: 智能合約

    2024年01月09日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包