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