在上一节搭建好环境的基础上,我们来创建一个简单的智能合约:
1.首先开启一个终端启动 testrpc,直接输入testrpc即可
2.然后开启另一个终端,创建一个文件夹:mkdir dapp
3.初始化第一个truffle项目,truffle init
完成后,你将拥有如下目录:
》contracts 智能合约目录
》migrations 发布脚本目录
》test 存放测试文件
》truffle.js Truffle的配置文件
4.在contracts目录中新建一个HelloWorld.sol文件,代码如下:
pragma solidity ^0.4.4;
contract HelloWorld {
function sayHello() returns (string) {
return ("hello");
}
5.编辑migrations/1_initial_migration.js部署脚本,将我们刚才创建的Hello_mshk_top.sol文件设置到发布配置文件中,内容如下:
var HelloWorld = artifacts.require("./HelloWorld.sol");
module.exports = function(deployer) {
deployer.deploy(HelloWorld);
};
千万不要打错字母哦!!!
6.将项目使用truffle compile命令进行编译,编译后的文件都放在了./build/contracts目录下;
7.部署智能合约,编辑truffle.js配置文件,设置我们稍后要部署智能合约的位置,内容如下:
module.exports = {
networks: {
development: {
host: "localhost",
port: 8545,
network_id: "*"
}
}
};
8.truffle的智能合约项目部署,使用下面的命令:
truffle deploy
9.与合约互动
truffle console
HelloWorld.deployed().then(instance => contract = instance)
truffle console 中预载了 truffle-contract 函数库,以方便操作部署到区块链上的合约。
这边使用 HelloWorld.deployed().then 语句来取得 HelloWorld 合约的 Instance (实例),并存
到 contract 变量中,以方便后续的调用。
最后调用合约:
contract.sayHello()
到此,简单的合约部署就成功了,下一步将继续学习sodility的语法知识!