当前位置: 首页 > news >正文

Truffle 进行智能合约测试

其他依赖

node.js、

由于是利用npm进行,所以先设置国内镜像源。去网上搜

1.安装truffle

npm install truffle -gtruffle --version
安装完其他项目依赖,能够产生一下效果

2.项目创建

创建test文件夹
mkdir test进入test
cd test初始化项目
truffle init

 

contracts: 编写以及存放智能合约的文件夹

migrations:使用solidity编写智能合约的文件夹,编写文件解释truffle 如何部署智能合约,用的是node.js

test: 用来写测试文件,大多数使用的是node.js,也有一些使用的是Solidity

truffle-config.js: 配置文件用来定义智能合约部署的网络

3.编辑合约

// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <=0.9.0; //请注意solidity的版本问题,如果合约指定的版本和当前Solidity不兼容的话,这将会在编译的时候出错contract Test {uint data;function updateData(uint _data) external {data = _data;}function readData() external view returns (uint) {return data;}
}

4.编译合约

        

5.部署合约

ganache可以独立安装,但是当安装了truffle时,也会自动安装ganache,编写、测试好的智能合约可以部署到私有链或以太坊测试网络。

 1. 编写test_deploy.js 迁移文件


const Test = artifacts.require("Test");module.exports = function (deployer) {deployer.deploy(Test);
};
2. 编辑truffle-config.js文件

这个对应Ganache的配置。

3. 部署合约
truffle migrate

 6.合约测试

会重新编译和部署

const Test = artifacts.require('Test');contract('Test', () => {it('Should update data', async () => {const newTest = await Test.new();await newTest.updateData(10);const data = await newTest.readData();assert(data.toString() === '10',"failed!");});
});

 

http://www.lryc.cn/news/98421.html

相关文章:

  • vb+access库存管理系统设计与实现
  • 机器学习03-数据理解(小白快速理解分析Pima Indians数据集)
  • Hadoop生态体系-HDFS
  • 《实战AI模型》——赶上GPT3.5的大模型LLaMA 2可免费商用,内含中文模型推理和微调解决方案
  • 工程安全监测无线振弦采集仪在建筑物的应用分析
  • OpenCV实现照片换底色处理
  • 安科瑞智能型BA系列电流传感器
  • Windows SMB 共享文件夹 排错指南
  • nestjs+typeorm+mysql基本使用学习
  • echarts柱状图每根柱子添加警戒值/阈值,分段警戒线
  • 边缘提取总结
  • intellij 编辑器内性能提示
  • 手机python怎么用海龟画图,python怎么在手机上编程
  • 谈谈你对Synchronized关键字的理解及使用
  • 移动硬盘文件或目录损坏且无法读取
  • MySQL - 常用的命令
  • 【代理模式】了解篇:静态代理 动态代理~
  • LLM 大语言模型 Prompt Technique 论文精读-3
  • 架构重构实践心得
  • 【配置环境】Windows下 VS Code 远程连接虚拟机Ubuntu
  • 【设计模式——学习笔记】23种设计模式——组合模式Composite(原理讲解+应用场景介绍+案例介绍+Java代码实现)
  • vue3+Luckysheet实现表格的在线预览编辑(electron可用)
  • 前端html中让两个或者多个div在一行显示,用style给div加上css样式
  • 【linux基础(二)】Linux基本指令(中)
  • ceph集群---使用RBD块存储
  • 2022.09.17【读书笔记】丨生物信息学与功能基因组学(第十三章 蛋白质结构预测 下)
  • ardupilot获取飞行员目标倾斜角度
  • 机器人制作开源方案 | 智能垃圾桶
  • 【手撕】list
  • QMQTT快速入门