[以太坊] OpenZeppelin 使用笔记

拆箱(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

浏览器访问

地址是 http://localhost:3000

浏览器页面

原文参考

https://truffleframework.com/tutorials/robust-smart-contracts-with-openzeppelin

你可能感兴趣的:([以太坊] OpenZeppelin 使用笔记)