安装智能合约相关npm 包
1 2 3 4 5
| npm install -g solc npm install -g solc-cli npm install -g truffle npm install -g ethereumjs-testrpc // 安装 testrpc, Ganache属于它的升级版 npm install web3
|
创建工程
1 2 3
| mkdir pet-shop cd pet-shop truffle unbox pet-shop
|
truffle 框架目录介绍:
1 2 3 4
| contracts/ : 智能合约文件存在这里,后缀.sol (solidity) migrations/ : 部署脚本 test/ : 测试脚本 truffle.js :truffle的配置文件
|
编写智能合约
在 contracts/ 目录下创建 Adoption.sol 文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| pragma solidity ^0.4.17;
contract Adoption { address[16] public adopters; //adopting a pet function adopt(uint petId) public returns (uint) { require(petId >= 0 && petId <= 15); adopters[petId] = msg.sender; return petId; } //retrieve the adopters function getAdopters() public view returns (address[16]) { return adopters; } }
|
编译合约
部署合约
migratios/ 目录内创建新文件 2_deploy_contracts.js :
1 2 3 4 5
| var Adoption = artifacts.require("Adoption");
module.exports = function(deployer) { deployer.deploy(Adoption); };
|
部署智能合约部署到以太坊(私链)上: