代幣合約系統開發搭建丨DAPP代幣模式專案開發技術方案
SocialFi可以透過去中心化機制,讓平臺的所有權與治理權迴歸到使用者身上,由整個社群來擬定審查機制,同時也能避開惱人的演演算法,使用者能夠只看到自己追蹤的人,
pragma solidity=0.5.16;照例指定確定的使用的Solidity版本。
import'./interfaces/IUniswapV2ERC20.sol';import'./libraries/SafeMath.sol';這兩行匯入了該合約必須實現的介面IUniswapV2ERC20.sol和一個防溢位的數學工具庫SafeMath。一個合約實現的介面代表了它的基本功能;防溢位數學工具庫應用很常見,主要是因為數值是可以無限大的,但是儲存位數是有限的。例如最大256位,因此最大的無符號整數就是是2**256-1。再大就會溢位,這時就會得到預期外的結果。另外,因為在Solidity中,應用最多的是無符號整數,如果減法得到了負數,根據二進位制的表示法,結果會被認為成另一個無符號整數。在早期的智慧合約中,存在溢位漏洞或者得到負值而遭受損失的情況。當前編寫的智慧合約一般都會防範這種問題的發生,使用SafeMath工具庫是最常見的預防手段。注意,該庫裡只有加、減和乘三種計算,沒有除法。因為除法不會有溢位;如果被零除,Solidity語言本身會報錯重置整個交易,不需要額外處理。
contract UniswapV2ERC20 is IUniswapV2ERC20{這一行定義了該合約必須實現匯入的IUniswapV2ERC20介面。該介面是由標準ERC20介面加上自定義的線下簽名訊息支援介面組成,所以UniswapV2ERC20也是一個ERC20代幣合約。最後一個花括號是作用域開始。
using SafeMath for uint;代表在uint256(uint是它的同名)型別上使用SafeMath庫。Solidity中庫函式在指定呼叫例項時(例如本例中的.sub等)和Rust語言中的結構體的方法類似,例項自動作為庫函式中的第一個引數。
string public constant name='Uniswap V2';
string public constant symbol='UNI-V2';
uint8 public constant decimals=18;
這三行程式碼定義了ERC20代幣的三個對外狀態變數(代幣後設資料):名稱,符號和精度。這裡的精度就是小數點位數。注意,由於該合約為交易對合約的父合約,而交易對合約是可以建立無數個的,所以這無數個交易對合約中的ERC20代幣的名稱、符號和精度都一樣。我們平常在交易所中看到的只是ERC20代幣的符號,從這裡可以看出,符號是可以重複的,並不是確定的。代幣之間根本區別是合約地址,這個是的,不同的地址就是不同的代幣,哪怕合約程式碼完全一樣。
uint public totalSupply記錄代幣發行總量的狀態變數。為什麼是訪問許可權是public的呢?這個在學習系列(一)中已經講過了。主要是利用編譯器的自動構造同名函式功能來實現相應介面。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70016646/viewspace-2944777/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- dapp合約代幣理財系統開發方案模式APP模式
- Demo/代幣質押合約系統開發功能/DAPP合約系統開發專案方案APP
- DAPP代幣挖礦模式系統開發|DAPP合約APP模式
- DAPP合約代幣燃燒挖礦系統開發丨智慧合約DAPP技術框架APP框架
- Dapp 合約代幣系統開發智慧合約APP
- DAPP代幣智慧合約質押挖礦系統技術開發丨IDO丨DAPP丨LPAPP
- DAPP合約代幣分紅模式系統開發案例APP模式
- 代幣DAPP模式系統開發技術流程(邏輯方案)DAPP系統開發技術講解APP模式
- DAPP代幣智慧合約質押挖礦系統開發方案搭建APP
- 區塊鏈、代幣DAPP合約模式系統開發講解方案區塊鏈APP模式
- defi/dapp/lp代幣合約挖礦系統開發(開發案例)丨代幣合約挖礦系統開發(原始碼及說明)APP原始碼
- IDO代幣預售智慧合約系統dapp開發技術原理APP
- 淺談區塊鏈代幣技術系統開發專案方案(成熟合約技術)區塊鏈
- dapp質押分紅系統開發|DAPP合約代幣開發APP
- DAPP合約代幣流動性挖礦系統開發技術原理APP
- DAPP馬蹄鏈代幣合約質押系統開發詳情模式搭建APP模式
- Bsc通縮代幣燃燒模式開發技術丨馬蹄鏈代幣挖礦模式系統開發技術模式
- Defi/dapp代幣質押(智慧合約)持幣生息系統開發專案設計APP
- 智慧合約DeFi質押代幣模式系統開發流程制度方案(成熟技術)模式
- BSC鏈代幣合約質押挖礦分紅模式系統開發詳情丨 DApp 技術棧模式APP
- DAPP公鏈合約代幣挖礦系統開發設計模式APP設計模式
- DAPP合約代幣燃燒挖礦系統開發詳情方案APP
- Defi/DAO代幣合約流動性挖礦系統開發模型丨NFT丨LP丨DAPP專案模型APP
- DAPP智慧合約燃燒代幣挖礦原始碼系統開發技術APP原始碼
- DAPP/Defi代幣智慧合約質押挖礦系統技術開發原理APP
- DAPP合約系統開發邏輯技術丨DAPP成熟系統開發技術方案APP
- FIl模式Defi模式燃燒代幣模式專案系統開發技術(成熟技術)模式
- DAPP合約代幣質押LP分紅模式軟體開發方案APP模式
- DAPP智慧合約代幣流動性挖礦系統開發(技術細節)APP
- defi預售代幣/系統開發技術/DAPP合約借貸/質押挖礦開發元件技術APP元件
- 智慧合約DAPP代幣合約做市質押系統開發demoAPP
- DAPP代幣質押挖礦模式系統開發詳情技術APP模式
- 關於SolaRoad合約代幣質押理財系統開發方案技術
- DApp丨DeFi丨LP丨IDO丨DAO代幣質押模式系統開發APP模式
- IDO代幣預售開發丨持幣生息質押挖礦系統開發技術丨DAPP丨LP丨Defi丨NFTAPP
- DAPP丨NFT丨LP代幣預售開發功能丨LP流動性質押借貸系統合約開發方案APP
- DAPP代幣預售/智慧合約技術開發/LP流動性挖礦系統開發原理APP
- NFT鏈遊專案系統開發模式方案丨NFT鏈遊DAPP合約系統開發技術講解模式APP