[以太坊] 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
瀏覽器訪問
原文參考
https://truffleframework.com/tutorials/robust-smart-contracts-with-openzeppelin
相關文章
- 以太坊學習筆記————2、如何使用文件以及以太坊路線圖筆記
- 以太坊學習筆記————1、以太坊是什麼?筆記
- 以太坊學習筆記————7、以太坊賬戶管理筆記
- 以太坊學習筆記————4、以太坊發展歷史回顧筆記
- 以太坊學習筆記————5、以太坊社群、基金會、貢獻者筆記
- 以太坊學習筆記————6、以太坊客戶端選擇與介紹筆記客戶端
- 以太坊學習筆記————10、錢包、以太幣、Gas介紹筆記
- 以太坊學習筆記————9、什麼是以太幣?如何獲取?筆記
- 以太坊學習筆記——————11、公有鏈、聯盟鏈、私有鏈筆記
- 以太坊是什麼?以太坊交易可靠嗎?
- 以太坊連載(一):以太坊是什麼?
- 以太坊學習筆記————3、WEB:去中心化應用平臺筆記Web中心化
- 以太坊學習筆記————8、錢包匯入與賬戶管理筆記
- 以太坊學習筆記————12、搭建測試網路和私有鏈筆記
- 如何使用Meteor開發以太坊DappAPP
- 以太坊原始碼分析(37)eth以太坊協議分析原始碼協議
- 以太坊原始碼分析(18)以太坊交易執行分析原始碼
- 以太坊簡介
- golang-event在以太坊中的使用Golang
- 以太坊原始碼分析(52)以太坊fast sync演算法原始碼AST演算法
- 以太坊學習筆記——————13、什麼是挖礦和Ethash演算法筆記演算法
- 【以太坊剖析】以太坊虛擬機器(EVM)之基本定義虛擬機
- 以太坊原始碼分析(54)以太坊隨機數生成方式原始碼隨機
- 以太坊原始碼分析(3)以太坊交易手續費明細原始碼
- 使用 PHP 生成以太坊錢包和金鑰對PHP
- 使用Mist部署Contract到Rinkeby以太坊網路
- 什麼是以太坊
- 以太坊概率微支付
- 以太坊Geth安裝
- 6.2 以太坊應用
- 以太坊學習記錄+geth配置+私有鏈搭建
- [譯] 什麼是以太坊?以太坊初學者手把手教程
- 以太坊連載(六):以太坊客戶端的選擇與安裝客戶端
- 以太坊原始碼分析(15)node包建立多重協議以太坊節點原始碼協議
- 以太坊開發框架Truffle基礎使用介紹框架
- 使用Remix編譯和部署以太坊智慧合約REM編譯
- 以太坊之賬戶管理
- 以太坊之工作流程