[以太坊] OpenZeppelin 使用筆記

weixin_33890499發表於2018-09-27

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

307027-d64f75c35b7dd03e.png
瀏覽器頁面

原文參考

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

相關文章