目录
1. 安装truffle
npm install -g truffle
PS:耗时有点长,耐心等待
2. 用truffle初始化项目
先新建个空文件夹,eg:myProject,进入文件夹,打开cmd输入命令
truffle init
3. 配置VSCode打开项目
3.1 安装solidity插件
在VSCode里搜索solidity,下载安装
3.2 用VSCode打开项目
3.3 新建一个sol文件
在contracts文件夹下新增一个HelloWorld.sol文件,内容如下:
// SPDX-License-Identifier: MIT
pragma solidity >=0.4.22 <0.9.0;// 这一行从另一个文件复制过来
contract HelloWorld {
function test() public pure returns (string memory){
return "HelloWorld";
}
function test1() public returns (string memory){
return "HelloWorld1";
}
function echo(string memory name) public pure returns (string memory){
return name;
}
}
4. 开启truffle命令行
4.1 两种命令行模式,任选一种
有2种命令行模式,一种是develop,一种是console+Ganache(需要额外安装)
4.1.1 进入develop模式
进入项目文件夹,打开cmd命令行,输入
truffle develop
4.1.2 进入console+Ganache模式
4.1.2.1 下载安装Ganache
- 下载Ganache,地址
- 搜索exe,下载安装就ok
- 建议不下载appx后缀的,win10 store安装模式,可能失败
- 打开Ganache,选择QUICKSTART
4.1.2.2 修改项目配置文件
- 打开项目根目录文件下的truffle-config.js
- 搜索Localhost,把注释打开,根据Ganache首页的RPC SERVER,把port修改成7545
4.1.2.3 进入console模式
命令行输入
truffle console
4.2 编译
命令行输入
compile
编译可能报错,修改代码后重新compile一下就行
4.3 部署
4.3.1 新增部署文件
在migrations文件夹下新增文件,2_deploy_helloworld.js,内容如下(其实就是复制1_initial_migration.js的内容,修改了,把Migrations替换成HelloWorld):
const HelloWorld = artifacts.require("HelloWorld");
module.exports = function (deployer) {
deployer.deploy(HelloWorld);
};
4.3.2 实施部署
命令行输入
migrate
假如多次部署,需要在最后加上**–reset**,即:
migrate --reset
4.3.3 调用验证结果
- 在命令行先输入:
let contract;
回车 - 再输入:
HelloWorld.deployed().then(instance => contract = instance)
回车
- 再输入
contract.test();
如图,可以看到结果正确!
- 再输入
contract.test1();
会发现得到的结果很奇怪,是一段事务json,这是要改成contract.test1.call();
如图,可以得到正确结果!
- 再输入
contract.echo("halo");
如图,可以得到正确结果!
over,enjoy!