iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 19
1
影片教學

Smart Contract 實戰教學系列 第 19

Import & Using for

  • 分享至 

  • xImage
  •  

能自己寫 library 以及認識了像是 SafeMath 這類很常見的 library 之後,下一步就是讓我們學會更加模組化與輕鬆地使用他們吧!(本影片為 11/2 在機場預錄,因此有噪音QQ)

本日合約:

browser/Set.sol

pragma solidity ^0.4.25;

library Set {
    struct Data {
        mapping(int => bool) data;
    }
    
    function Insert(Data storage self, int key) public returns (bool) {
        if (self.data[key])
            return false; // Key exists.
        self.data[key] = true;
        return true;
    }
    
    function Remove(Data storage self, int key) public returns (bool) {
        if (!self.data[key])
            return false; // Key does not exist.
        self.data[key] = false;
        return true;
    }
    
    function Contain(Data storage self, int key) public view returns (bool) {
        return self.data[key];
    }
}

browser/Using.sol

pragma solidity ^0.4.25;

import "browser/Set.sol";

contract Main {
    using Set for Set.Data;
    
    Set.Data mySet;
    
    function insert(int key) public returns (bool) {
        return mySet.Insert(key);
    }
    
    function remove(int key) public returns (bool) {
        return mySet.Remove(key);
    }
    
    function contain(int key) public view returns (bool) {
        return mySet.Contain(key);
    }
}

本日影片:
https://youtu.be/5QiyKikpKOk

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


上一篇
SafeMath
下一篇
ERC20 Interface
系列文
Smart Contract 實戰教學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言