拆箱(Unbox)模板应用
新建空目录
mkdir oz-workspace
cd oz-workspace
拆箱模板
truffle unbox tutorialtoken
安装 OpenZeppelin
npm install openzeppelin-solidity
创建合约
可以说合约所需代码,已经非常非常精简了,例子还把构造参数全部写到了代码里,方便部署。
pragma solidity ^0.4.24;
import "openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol";
contract TutorialToken is StandardToken {
string public name = "TutorialToken";
string public symbol = "TT";
uint8 public decimals = 2;
uint public INITIAL_SUPPLY = 12000;
constructor() public {
totalSupply_ = INITIAL_SUPPLY;
balances[msg.sender] = INITIAL_SUPPLY;
}
}
启动Ganache
或者启动开发链,我启动的是Ganache。
注意核实配置truffle.js
是否一致。
networks: {
development: {
host: "127.0.0.1",
port: 7545,
network_id: "*" // Match any network id
}
}
编译和部署合约
部署脚本
var TutorialToken = artifacts.require("TutorialToken");
module.exports = function(deployer) {
deployer.deploy(TutorialToken);
};
编译
truffle compile
部署
truffle migrate
交互
把部署合约使用的私钥导入MetaMask,一般来说是Ganache的第一个。
启动本地服务
npm run dev
浏览器访问
浏览器页面原文参考
https://truffleframework.com/tutorials/robust-smart-contracts-with-openzeppelin
网友评论