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是最全面的智能合约开发套件,具有以下几方面的特性:

  1. 内置智能合约编译、链接、部署和二进制管理。
  2. 使用断点、变量分析和步骤功能进行高级调试。
  3. Truffle基于JavaScript编写,可以在智能合约中使用console.log进行调试
  4. 通过MetaMask和Truffle Dashboard进行部署和交易,保护你的助记词。
  5. 在Truffle环境中执行脚本的外部脚本运行器。
  6. 用于快速开发的自动化合约测试。
  7. 使用NPM进行包管理,使用ERC190标准
  8. 可编写脚本、可扩展的部署和迁移架构
  9. 可用于合同通信的交互式控制台

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);}

先编译合约,若编译有问题,则检查合约的代码,一般都有编译错误提示信息。编译成功后右键源码部署合约。