Metaforce佛薩奇2.0開發詳細版丨Metaforce佛薩奇2.0系統開發(開發功能及原始碼)
智慧合約(或稱加密合約)是一種計算機程式,在一定條件下直接自動控制雙方的數字資產轉移。智慧合約的工作方式與傳統合約相同,同時也自動執行合約。
智慧合約是完全按照其建立者的設定(編碼,程式設計)執行的程式。就像傳統合同可由法律強制執行一樣,智慧合同可由程式碼強制執行。
程式碼逐行解讀
確定的使用的Solidity版本
pragma solidity=0.5.16;
這兩行匯入了該合約必須實現的介面IUniswapV2ERC20.sol和一個防溢位的數學工具庫SafeMath。一個合約實現的介面代表了它的基本功能;防溢位數學工具庫應用很常見,主要是因為數值是可以無限大的,但是儲存位數是有限的。例如最大256位,因此最大的無符號整數就是是2**256-1。再大就會溢位,這時就會得到預期外的結果。
另外,因為在Solidity中,應用最多的是無符號整數,如果減法得到了負數,根據二進位制的表示法,結果會被認為成另一個無符號整數。在早期的智慧合約中,存在溢位漏洞或者得到負值而遭受損失的情況。當前編寫的智慧合約一般都會防範這種問題的發生,使用SafeMath工具庫是最常見的預防手段。注意,該庫裡只有加、減和乘三種計算,沒有除法。因為除法不會有溢位;如果被零除,Solidity語言本身會報錯重置整個交易,不需要額外處理。
import"./interfaces/IUniswapV2ERC20.sol";
import"./libraries/SafeMath.sol";
定義了該合約必須實現匯入的IUniswapV2ERC20介面。該介面是由標準ERC20介面加上自定義的線下簽名訊息支援介面組成,所以UniswapV2ERC20也是一個ERC20代幣合約。最後一個花括號是作用域開始。
contract UniswapV2ERC20 is IUniswapV2ERC20{
代表在uint256(uint是它的同名)型別上使用SafeMath庫。Solidity中庫函式在指定呼叫例項時(例如本例中的.sub等)和Rust語言中的結構體的方法類似,例項自動作為庫函式中的第一個引數。
using SafeMath for uint256;
這三行程式碼定義了ERC20代幣的三個對外狀態變數(代幣後設資料):名稱,符號和精度。這裡的精度就是小數點位數。注意,由於該合約為交易對合約的父合約,而交易對合約是可以建立無數個的,所以這無數個交易對合約中的ERC20代幣的名稱、符號和精度都一樣。我們平常在交易所中看到的只是ERC20代幣的符號,從這裡可以看出,符號是可以重複的,並不是一確定的。代幣之間根本區別是合約地址,不同的地址就是不同的代幣,哪怕合約程式碼完全一樣。
//token名稱,案例及模式:MrsFu123
string public constant name="Uniswap V2";
//token縮寫
string public constant symbol="UNI-V2";
//token精度
uint8 public constant decimals=18;
記錄代幣發行總量的狀態變數。為什麼是訪問許可權是public的呢?主要是利用編譯器的自動構造同名函式功能來實現相應介面。
uint256 public totalSupply;
用一個map記錄每個地址的代幣餘額
mapping(address=>uint256)public balanceOf;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69956839/viewspace-2938855/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MetaForce佛薩奇2.0系統丨MetaForce佛薩奇2.0系統開發(方案及詳細)
- MetaForce佛薩奇開發原理丨MetaForce佛薩奇系統開發(2.0智慧合約開發)
- 佛薩奇2.0開發升級版,metaforce佛薩奇2.0系統開發(開發方案及詳細)
- 佛薩奇2.0系統丨佛薩奇2.0系統開發(功能版)丨佛薩奇2.0開發原始碼案例部署原始碼
- 佛薩奇2.0互助分紅開發丨佛薩奇系統開發原始碼丨佛薩奇2.0運營版原始碼
- 佛薩奇2.0開發參考版丨佛薩奇2.0系統開發(成熟及專案)丨佛薩奇2.0系統原始碼部署原始碼
- 關於MetaForce佛薩奇2.0系統開發原始碼搭建(功能詳細)原始碼
- MetaForce佛薩奇系統2.0開發技術分析
- 佛薩奇2.0開發原理丨佛薩奇2.0智慧合約系統開發詳情版丨(原始碼部署)原始碼
- MetaForce佛薩奇系統開發技術流程(成熟程式碼)佛薩奇2.0原始碼部署教程原始碼
- 佛薩奇2.0版開發功能丨原力元宇宙MetaForce佛薩奇2.0系統開發實現技術詳情及分析元宇宙
- 現成metaforce佛薩奇2.0系統原始碼搭建(開發案例)原始碼
- 佛薩奇metaforce原始碼系統開發搭建原始碼
- 佛薩奇2.0MetaForce系統技術開發DAPPAPP
- 2.0新版佛薩奇開發系統|佛薩奇開發DAPP原始碼搭建APP原始碼
- MetaForce佛薩奇系統開發原始碼(升級版)原始碼
- 佛薩奇2.0系統DAPP開發丨原始碼丨佛薩奇Solidity開發編寫示例APP原始碼Solid
- 佛薩奇系統開發(原始碼部署)丨META FORCE佛薩奇2.0系統開發技術詳細版本原始碼
- MetaForce佛薩奇2.0系統開發模式[原始碼合約例項]模式原始碼
- metaforce2.0佛薩奇DAPP系統開發搭建(現成原始碼)APP原始碼
- FORSAGE(佛薩奇)系統開發,公排佛薩奇2.0原始碼開發搭建原始碼
- 原力元宇宙Metaforce/Forsage/佛薩奇2.0系統開發(開發詳情)元宇宙
- 馬蹄鏈佛薩奇系統開發2.0佛薩奇系統開發原始碼部署原始碼
- 佛薩奇2.0MetaForce原力元宇宙系統開發技術詳細元宇宙
- 佛薩奇2.0(合約)開發制度講解丨佛薩奇升級2.0版系統功能開發詳情
- 佛薩奇原始碼|佛薩奇2.0合約|佛薩奇矩陣公排模式開發系統原始碼矩陣模式
- 佛薩奇開發原始碼丨佛薩奇系統開發案例丨智慧合約佛薩奇開發技術程式碼原始碼
- 原力元宇宙Metaforce/Forsage/佛薩奇2.0系統開發(方案詳解)元宇宙
- MetaForce佛薩奇系統開發馬蹄鏈
- 佛薩奇2.0運營版系統開發程式碼示例丨佛薩奇Forsage合約開發demo
- 【DAPP】佛薩奇2.0矩陣互助開發詳情丨佛薩奇制度系統開發細節講解APP矩陣
- NFT智慧合約MetaForce佛薩奇系統開發原始碼原始碼
- MetaForce佛薩奇系統原始碼開發搭建馬蹄鏈原始碼
- MetaForce佛薩奇系統開發現成原始碼搭建案例原始碼
- Forsage佛薩奇2.0魔豹聯盟系統技術開發分析(佛薩奇2.0原始碼版)原始碼
- 佛薩奇公排互助系統開發丨佛薩奇原始碼丨佛薩奇程式碼分析原始碼
- MetaForce佛薩奇2.0功能系統技術開發(專案設計)
- 佛薩奇2.0(MetaForce)系統程式設計開發(DAPP智慧合約)程式設計APP