在完成了整個去中心化交易所的設計後,小明今天開始進行每個功能的實作,他首先進行管理功能的部分:
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
想找區塊鏈人才或想學習區塊鏈知識的夥伴。歡迎參加社群小聚,一起來輕鬆交流、互相學習成長、認識新朋友、發現新機會!
 
台北區塊鏈社群
https://bitlly.co/Q4dIK
 
BDE 區塊鏈學院 - 提供專業的區塊鏈培訓與顧問服務。
https://bitlly.co/mbDwX