Truffle
Truffle简介
Truffle是使用以太坊虚拟机(EVM)的世界级区块链开发环境、测试框架和资产管道,旨在让开发人员的开发效率更高。Truffle工具套件(truffle suite)分为四个部分Truffle、Ganache,dirzzle,Truffle for Vscode。其中Ganache提供了“One click blockchain”功能,只要点击运行ganache就能在本地部署区块链网络供开发者测试,开发、部署dApp。Truffle for Vscode是Visual Studio Code的一个扩展,旨在把Truffle的功能搬到最流行的IDE环境中。
Truffle的特点
Truffle是最全面的智能合约开发套件,具有以下几方面的特性:
- 内置智能合约编译、链接、部署和二进制管理。
- 使用断点、变量分析和步骤功能进行高级调试。
- Truffle基于JavaScript编写,可以在智能合约中使用console.log进行调试
- 通过MetaMask和Truffle Dashboard进行部署和交易,保护你的助记词。
- 在Truffle环境中执行脚本的外部脚本运行器。
- 用于快速开发的自动化合约测试。
- 使用NPM进行包管理,使用ERC190标准
- 可编写脚本、可扩展的部署和迁移架构
- 可用于合同通信的交互式控制台
Truffle for Vscode插件安装
要在vscode中使用truflle,需要安装truffle官方插件以及配置相关依赖。
前提:1.安装Truffle for VSCode插件2.安装Truffle for VSCode依赖
第二步安装Truffle依赖
使用Truffle需要安装node.js、npm、git、truffle、ganache。其中node.js和npm的版本需要在指定范围内,不能太高,否者Truffle的插件使用不了。我安装的node和npm版本分别为16.12.0和8.19.4。
下载node.js和切换npm版本无需我多言,下面开始使用npm下载truffle。
npm install -g truffle
检查truffle的版本,确保安装正确
truffle version
Ganache是Truffle工具套中用来构建个人开发区块链的工具。进入下载页面,选择windows版本下载。
单击运行Ganache就在本地创建了以太坊区块链,可以使用它来运行测试、执行命令和检查状态、同时控制链的运行方式。
编写智能合约
首先,在Vscode启动一个空的Truffle项目。
并连接到本地的Ganache服务。
在contracts目录下编写合约代码Hellworld.sol(csdn的md编辑器不支持solidity,-__-)
// SPDX-License-Identifier: GPL-3.0pragma solidity >=0.4.22 <0.9.0;contract Helloworld {function hello() public pure returns (string memory) {return "hello world";}![在这里插入图片描述](https://img-blog.csdnimg.cn/539af20e4bcb49f6b7f82adaf7ce09c3.png#pic_center)}
在migrations目录下编写迁移文件1_hello_world.js (注意:迁移文件名必须以阿拉伯数字开始,这与执行的顺序有关)
const Helloworld = artifacts.require("Helloworld");module.exports = function(deployer) {deployer.deploy(Helloworld);}
先编译合约,若编译有问题,则检查合约的代码,一般都有编译错误提示信息。编译成功后右键源码部署合约。