开发环境
我在ubuntu环境下开发的,建议装好vscode,nodejs 。选用别的编译器也可以。
装好nodejs后装一下truffle。
npm install -g truffle
truffle version
可以看到版本号,说明安装成功。
开发语言
本文选用solidity,现在以太坊智能合约开发主流语言,不过比较新东西,和c++ java python这些成熟语言相比用起来没那么方便。想学的话推荐一个网站,加密僵尸,通过做一个游戏来引导solidity入门。如果英语好的话可以看看官方文档:solidity官方文档。这个文档也有中文版,但是更新慢一点solidity文档中文版。
另外还用了nodejs,不过我不太熟悉js……有点尴尬。
编译测试
新建一个空文件夹,比如叫pet-shop。然后进入文件夹
truffle unbox pet-shop
解释一下,trufflebox 给大家提供一些模板,这里可以看到。当然也可以自己新建一个空的工程,我会在另一篇博客做讲解。这个unbox时间比较长,结束后大概这个样子:
看一下工程目录:
contracts:智能合约文件夹
migrations:用于部署的脚本
node_modules:nodejs
src:前端资源
test:单元测试
bs-config.json:lite-server的配置文件
package.json:nodejs依赖
truffle.js:不用解释
代码编写与发布
contract下新建Adoption.sol:
pragma solidity ^0.4.16;
import "truffle/Assert.sol";
import "truffle/DeployedAddresses.sol";
import "../contracts/Adoption.sol";
contract TestAdoption {
Adoption adoption = Adoption(DeployedAddresse