iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 26
1
影片教學

Smart Contract 實戰教學系列 第 26

ERC20 Pausable

  • 分享至 

  • xImage
  •  

當一個 ERC20 的合約出了意外,或者是即將要進行主網映射,需要做暫停交易的時候應該怎麼辦呢?
今天就讓我們來探討這個 Pausable 的機制怎麼實作吧!

本日合約:

pragma solidity ^0.4.25;

contract Pausable {
    bool private _paused;
    
    constructor() public {
        _paused = false;
    }
    
    modifier whenPaused() {
        require(_paused);
        _;
    }
    
    modifier whenNotPaused() {
        require(!_paused);
        _;
    }
    
    event Pause(address addr);
    event Unpause(address addr);
    
    function pause() public whenNotPaused returns (bool) {
        _paused = true;
        emit Pause(msg.sender);
        return true;
    }
    
    function unpause() public whenPaused returns (bool) {
        _paused = false;
        emit Unpause(msg.sender);
        return true;
    }
    
    function transfer() public whenNotPaused returns (bool) {
        //...
    }
}

本日影片:
https://youtu.be/KWlnAyn7uLY

Smart Contract 實戰教學播放清單:
https://www.youtube.com/playlist?list=PLHmOMPRfmOxSJcrlwyandWYiuP9ZAMYoF


上一篇
ERC20 Burnable
下一篇
Example - 挖礦合資
系列文
Smart Contract 實戰教學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言