Web3 通过truffle 脚本进行智能合约测试

这篇具有很好参考价值的文章主要介绍了Web3 通过truffle 脚本进行智能合约测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

上文 Web3 处理智能合约部署到本地区块链,并在本地进行测试中 我们讲解了部署智能合约 然后在终端测试的方法
但上文那种终端测试 其实并不保险 而且也比较不专业
对于这个 有一个mocha测试 这是基于node部署环境的一种环境测试 但是这个需要一定的基础 大家可以专门去学一下
还有就是 今天要说的 truffle 脚本
他是一个脚本执行器

先打开我们的 Truffle项目
Web3 通过truffle 脚本进行智能合约测试,web3,智能合约
在根目录下创建一个文件夹,这个其实叫什么都可以。
我这里 直接叫 scripts

然后 里面直接放脚本 js文件 名字随便起
我这里直接叫 test.js
Web3 通过truffle 脚本进行智能合约测试,web3,智能合约
然后 我们这里的脚本是有一个引入的操作
Web3 通过truffle 脚本进行智能合约测试,web3,智能合约
直接将上面这句也拿到我们脚本js中

const Contacts = artifacts.require("StudentStorage.sol")

module.exports = function(callback) {
    console.log("脚本执行");
    callback()
}

Web3 通过truffle 脚本进行智能合约测试,web3,智能合约
当然 我们先不急着去用 还是先让它跑起来
然后 我们以管理员身份打开项目终端 输入

truffle exec 需要执行的脚本路径

那么 我这个显然就是

truffle exec .\scripts\test.js

Web3 通过truffle 脚本进行智能合约测试,web3,智能合约
然后 我们刚刚写的脚本就跑起来了

那么 确认没问题之后 我们就可以写我们真的想看的东西了

我们先将test.js的代码改成这样

const Contacts = artifacts.require("StudentStorage.sol")

module.exports = async function(callback) {
    const studentStorage = await Contacts.deployed();
    callback()
}

这里 我们给方法定上了async 然后 await 异步等待ontacts.deployed
智能合约实例化
然后 等待完成 就拿到这个合约的实例了

然后 我们进一步去写

await studentStorage.setData(11,"天山派掌门");
const res = await studentStorage.getData();
console.log(res);

Web3 通过truffle 脚本进行智能合约测试,web3,智能合约
我们利用拿到的合约对象 去调用其中的 set方法赋值 然后 调用get获取数据 他们都是异步的 所以 要加一个await 让他们执行完成之后 再继续往下
最后拿到get取回来的值 然后输出在控制台上
然后 我们还是先终端执行

truffle migrate

将合约部署到区块链中
然后 再次运行

truffle exec .\scripts\test.js

去操作合约
Web3 通过truffle 脚本进行智能合约测试,web3,智能合约
可以看到 我们的数据就正常展示了文章来源地址https://www.toymoban.com/news/detail-644974.html

到了这里,关于Web3 通过truffle 脚本进行智能合约测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 以太坊Dapp通过web3js部署调用智能合约

    参考视频:https://www.bilibili.com/video/BV14z4y1Z7Jd?p=1 https://remix.ethereum.org/ 创建一个新的文件夹 mkdir MyDapp2 启动 ganache-cli 下载web3 npm install web3 ,注:ganache的启动和deploy.js要在同一个目录。 先进行测试 node deploy.js 部署合约 web3的版本:1.7.1 复制 WEB3DEPLOY 的内容到deploy.js == ganache需要

    2023年04月23日
    浏览(30)
  • HTML页面通过Web3JS连接智能合约并调用其中接口

    之前我们学习solidity 并用它编写了智能合约 登上区块链 然后也做了基本的测试 但是 其实在web3时代 前端依旧扮演者非常重要的角色 我们现在就来打通web3 从合约到页面的一个管理 首先 我们还是将自己的ganache环境起起来 然后 在我们之前智能合约的项目终端执行 将我们的智

    2024年02月16日
    浏览(35)
  • java使用web3j,部署智能合约在测试链上,并调用(万字详细教程)

    最近在学区块链相关,想做点自己感兴趣的。网上关于这块部分的坑也比较多,最近也是问了很多行业从事者才慢慢填坑,因此记录下来分享一下。 钱包 :metemask、 solidity编译器 :remix 、 java ide :idea。 智能合约编写的我选择在remix上方便,而且部署的时候不需要自定义gasP

    2024年01月16日
    浏览(39)
  • web3: 智能合约

    2024年01月09日
    浏览(33)
  • 智能合约及其web3共识机制

      目录 什么是共识? 什么是共识机制? 共识机制的目标 为什么需要共识机制? 如何评价一个共识机制的优劣: 共识机制分类 PoW( Proof of Work)工作量证明:多劳多得 PoS(Proof of Stake)股权证明算法:持有越多,获得越多 优点 缺点 如何配置web3 智能合约测试   我们所说的共识,是

    2024年01月17日
    浏览(30)
  • 为 Web3 项目撰写智能合约(Web3项目三实战之二)

    时间像是在我们身边悄然而过,而我们的 Web3项目实战 系列也来到了第三个 Web3 项目。若正在屏幕前浏览本篇文章的您,或是从 Web3项目一 开篇之作,一直跟随着我的步伐来到了本文,想必您对于 Web3 与 Web2 的区别,有了最为深刻的感触了! 当然咯,前提是您先前或者说是当

    2024年01月18日
    浏览(35)
  • 怎么在Web3中创建智能合约

    智能合约是在区块链上运行并在 web3 生态系统中启用去中心化应用程序 (dapps) 的自动执行协议。Web3 是指下一代互联网的术语,用户可以更好地控制自己的数据、身份和资产,并且可以在没有中介的情况下直接相互交互。 本篇文章将介绍如何使用 JavaScript 和 Solidity(最流行的

    2024年02月07日
    浏览(38)
  • 智能合约:Web3的商业合作新模式

    随着区块链技术的发展,智能合约在Web3时代崭露头角,成为商业合作中的全新模式。这一技术不仅重新定义了商业合作的方式,还为各行各业带来了更加高效、透明和安全的商务交往。本文将深入探讨智能合约在Web3时代的崭新商业合作模式,以及它对商业领域的深远影响。

    2024年01月22日
    浏览(39)
  • MetaMask与Web3中智能合约调用(2)

    智能合约交易区别于点对点交易,智能合约交易只需付费给矿工费用,也就是gas fee,是支付给矿工的手续费,当我们在以太坊区块链上进行转账时,矿工要把我们的交易打包并放上区块链,才能使交易完成,在这过程中会消耗区块链的运算资源,所以要支付费用 这个过程为

    2024年01月16日
    浏览(38)
  • web3系列———2.以太坊与智能合约

    主流币: 中本聪设计的比特币大获成功后,各种区块链和其对应的加密货币层出不穷,其中不乏新技术的使用,不过大部分的模仿货币最后都销声匿迹了,最终存活并存有大量用户的被称作主流币。 BTC比特币 ETH以太坊 LTC莱特币 XRP瑞波币 USDT (代币) USDC (代币) BUSD (代币) …

    2024年04月24日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包