truffle 进行智能合约测试

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

 参考资料:

以太坊区块链开发 truffle 入门教程 1_哔哩哔哩_bilibili

快速入门 Truffle | Truffle 中文文档 - DApp 开发框架 | 深入浅出区块链 (learnblockchain.cn)

1.安装

  • 下载node.js  利用npm 下载truffle :  npm install -g truffle
  • 安装vscode 插件、truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

 truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约下载完成会多一个这个标志,然后点进去,会让检测让你下载几个东西,按照提示下载即可。

  •  安装本地Ganache

truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

 打开之后点击新建,

truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

 记住端口号,后面连接会用到。

2.部署

1.新建一个目录,打开终端输入 truffle init 

truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

目录结构自上往下,依次是存放合约、存放合约迁移文件,存放合约测试文件、truffle配置文件。

truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

2.利用vscode打开,新建Test.sol

truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

// SPDX-License-Identifier: MIT
pragma solidity >=0.4 <=0.9;

contract Test {
    uint x;

    constructor(uint x0) {
        x = x0;
    }

    function setX(uint x1) public {
        x = x1;
    }

    function getX() public view returns (uint) {
        return x;
    }
}

3.新建 1_deploy_contract.js(多个迁移文件,开头必须加数字,表明迁移顺序)

truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

const Test = artifacts.require("Test");

module.exports = function (deployer) {
    deployer.deploy(Test, 1);
}

默认情况没有,创建新连接,连接本地Ganache

truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

 4.创建 一个新连接,选第一个,再选local,输入我们上文本地创建的Ganache端口号,点击回车。truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

出现这个表明 成功。 

 truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

 5.修改truffle-config.js 配置, 下面 的port对应也是本地Ganche

truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

 6.在终端输入 truffle compile truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

 接着输入,truffle migrate ,控制台出现下面,本地ganache出现日志代表部署成功。

truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

 truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

 3.测试

接着上文,新建1_test.js 

truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

const Test = artifacts.require("Test");

contract("Test test", () => {
    it("This is Test File!", async () => {
        const Test1 = await Test.deployed();
        await Test1.setX(2);
        const x = await Test1.getX();
        assert(x.toString() == "2", "failed test!")
    })
})

执行truffle test ,出现下面,证明测试成功。 

truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

 4.使用truffle develop 进行部署

我们安装truffle之后,有一个内置的的个人模拟区块链,不需要连接本地Ganache。

区别与上文编辑连接配置,直接 控制台输入 truffle develop ,会进入truffle 控制台。

truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

 在truffle 控制台执行compile ,migrate 、test命令 会跟上文有同样的效果。

5. 错误解决

1.

truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

 你truffle 配置文件的编译器版本和你测试合约要求编译器版本不适应。

2.truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

 像下方await 表名他是一个异步操作,返回一个promise对象,以及我们调用合约中的函数,在js测试文件都是异步操作,函数 加async 关键字, await修饰。

 truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

   9545: {
      host: "127.0.0.1",     // Localhost (default: none)
      port: 9545,            // Standard Ethereum port (default: none)
      network_id: "5777",       // Any network (default: none)
      confirmations: 2 // 先加这个参数,然后他会报错之后取消就可以了
    },

3.

truffle 进行智能合约测试,区块链开发,区块链,开发语言,java,智能合约

 反正吗,这种配置文件及相关全弄好了,就是报错,我的打印了账户之后,又重新执行了就没报错了。文章来源地址https://www.toymoban.com/news/detail-586911.html

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

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

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

相关文章

  • Web3 处理智能合约部署到本地区块链,并在本地进行测试

    上文 Web3 在Truffle项目中编写出自己的第一个solidity智能合约我们演示了 在Truffle环境下写一个智能合约并编译的功能 编译出的文件夹中的这个JSON就非常重要了 我们就可以通过 它这个ABI链接到需要的智能合约程序上去 但这也仅仅是编译完了 我们的智能合约还没有部署到我们

    2024年02月13日
    浏览(29)
  • Web3本地搭建truffle智能合约开发环境

    之前的几篇文章 我们是成功的操作了我们本地区块链的 那么 本文 我们就来说说智能合约 啊 不容易啊 扯了这么久 终于到这了 智能合约是部署在区块链上 不可逆的 一种去中心化的程序,他没有任何第三方公司来管理这个程序和数据 然后 还有就是怎么连接到区块链上的智能

    2024年02月12日
    浏览(28)
  • 区块链java开发智能合约nf(部署第一个NFT智能合约)

    手把手教你区块链java开发智能合约nft-第二篇(部署第一个NFT智能合约) 刚搞区块链开发真的是太累了,自己摸石头过河,动不动就报错,网上搜索错误,一律看不出什么问题,或者报错的信息太少,问同事同事不鸟,问领导,领导也烦,无奈,对于英文不好的我,只能被迫

    2024年02月12日
    浏览(37)
  • 如何使用Truffle开发太坊智能及其区块链

      安装 Truffle 构建一个Truffle项目 浏览一下这个项目 测试项目 编译智能合约 使用 Ganache 部署项目 与智能合约交互 搭建自连网络 truflle初始化项目 Stairs upon the temple I climb and I crawl  Wonder how much further I\\\'ll go Feet that fall apart till I walk on my ankles Can I finish I just don\\\'t know ​   简介:

    2024年02月14日
    浏览(24)
  • 手把手教你区块链java开发智能合约nft-第一篇

    刚接触区块链开发,使用java开发,真的是太难了,自己一步步摸索,从新手小白一路碰壁,动不动就报错,去网上搜索对应错误,还真什么都搜索不到,摸索了三四个月,今天终于有了一些进展,今天开始分享出来,希望能帮助到需要的朋友 我作为一个java后端的程序员,不

    2024年01月23日
    浏览(38)
  • 手把手教你区块链java开发智能合约nft-第五篇(铸造第一个NFT)

    初学区块链,那真叫一个痛苦并无助。如果没有人带你的话 今天写的这篇是在前面文章基础上写的,初学区块链的朋友建议先看我前面写的文章 手把手教你区块链java开发智能合约nft-第一篇 手把手教你区块链java开发智能合约nft-第二篇(部署第一个NFT智能合约) 手把手教你

    2023年04月08日
    浏览(80)
  • 【Truffle】二、自定义合约测试

            上期我们自己安装部署了truffle,并且体验了测试用例的整个测试流程,实际开发中,我们可以对自己的合约进行测试。         我们首先先明白自定义合约测试需要几个文件 合约文件:既然要测试合约,肯定要有合约的源码文件,以.sol后缀结尾 部署文件:测试

    2024年02月05日
    浏览(29)
  • truffle 创建测试合约并部署到测试网络

    1、npm 安装truffle 2、创建truffle项目 3、初始化truffle目录,会生成如下几个目录 contracts 存放.sol合约文件 migrations 部署脚本目录 test 测试文件目录 truffle-config.js truffle配置文件 4、编译合约 编译合约以后会生成build目录,存放编译好生成的合约的json文件 5、修改合约 如果要部署

    2024年02月08日
    浏览(22)
  • 以太坊 – 使用truffle console访问智能合约

    🍁 博主简介 :         🏅云计算领域优质创作者         🏅2022年CSDN新星计划python赛道第一名         🏅2022年CSDN原力计划优质作者         🏅阿里云ACE认证高级工程师         🏅阿里云开发者社区专家博主 💊 交流社区 :CSDN云计算交流社区欢迎您的

    2024年02月02日
    浏览(34)
  • 如何使用Truffle来对智能合约实现并部署?

    Truffle是一个广受欢迎的以太坊智能合约开发框架,支持快速构建、测试以及发布智能合约,本文将介绍使用Truffle框架实现一个完整的智能合约的步骤详情和具体代码实现。 步骤详情: 安装Truffle框架并创建项目 首先需要在本地安装Truffle框架,在命令行中执行以下代码进行安

    2023年04月20日
    浏览(33)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包