truffle是一个智能合约的开发框架,具体的就不介绍了,我们主要是说说怎么使用这个框架来进行智能合约的开发,官网戳这里。
文章目录
安装
首先我们要先安装npm和truffle,安装命令如下
sudo apt install npm
sudo npm install -g truffle
创建项目
首先创建一个空目录,然后进去,终端执行
truffle init
该命令一定要在空目录下执行,否则会出错
命令执行完毕后会下载一些初始文件,这些文件不用动,目录结构如下
编译合约
在contracts目录下创建Voting.sol,将上一篇以太坊智能合约学习笔记:开发流程及工具链使用中我们用到的合约的内容写进去
然后在migrations目录下创建2_deploy_contracts.js,写入如下内容
var Voting = artifacts.require("./Voting.sol");
module.exports = function(deployer) {
deployer.deploy(Voting,["Rama","Nick","Jose"]);
};
其中[“Rama”,“Nick”,“Jose”]是合约的构造参数
然后编辑truffle.js,将其中的内容修改如下
module.exports = {
networks: {
development: {
host: "127.0.0.1",
port: 8545,
network_id: "*", // Match any network id
gas:500000
}
}
};
最后,执行“truffle test”命令进行测试,测试没问题了执行“truffle compile”命令进行编译。
部署
部署到geth
另启一个终端,换个其他目录,执行下面的命令
geth --datadir testNet --dev --rpc console 2>>test.log
和上一篇不用truffle的命令相比,多了一个–rpc参数
启动geth监听后,回到truffle项目目录,执行“truffle migrate”命令进行部署,如果成功,将输出如下内容
Using network 'development