iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 23
0
Blockchain

區塊鏈應用開發實戰系列 第 23

23. 去中心化交易所管理功能實作

  • 分享至 

  • twitterImage
  •  

在完成了整個去中心化交易所的設計後,小明今天開始進行每個功能的實作,他首先進行管理功能的部分:

Admin 管理功能

  • 新增代幣
    新增 ERC20 代幣至交易所智能合約中
function addToken(string symbolName, address erc20TokenAddress) public onlyowner {
    require(!hasToken(symbolName));
    require(tokenIndex + 1 > tokenIndex);
    tokenIndex++;

    tokens[tokenIndex].symbolName = symbolName;
    tokens[tokenIndex].tokenContract = erc20TokenAddress;
    emit TokenAddedToSystem(tokenIndex, symbolName, now);
}
  • 檢查代幣
    檢查某代幣是否已新增至交易所
function hasToken(string symbolName) view public returns (bool) {
    uint8 index = getSymbolIndex(symbolName);
    if (index == 0) {
        return false;
    }
    return true;
}

function getSymbolIndex(string symbolName) internal view returns (uint8) {
    for (uint8 i = 1; i <= tokenIndex; i++) {
        if (stringsEqual(tokens[i].symbolName, symbolName)) {
            return i;
        }
    }
    return 0;
}

本文同時發佈於作者部落格:https://www.bdetw.com/blog


/images/emoticon/emoticon34.gif想找區塊鏈人才或想學習區塊鏈知識的夥伴。歡迎參加社群小聚,一起來輕鬆交流、互相學習成長、認識新朋友、發現新機會!
 
台北區塊鏈社群
https://bitlly.co/Q4dIK
 
BDE 區塊鏈學院 - 提供專業的區塊鏈培訓與顧問服務。
https://bitlly.co/mbDwX


上一篇
22. 去中心化交易所事件機制
下一篇
24. 去中心化交易所用戶存提以太幣功能實作
系列文
區塊鏈應用開發實戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言