BSC幣安鏈流動性質押分紅dapp系統開發|LP/NFT代幣質押分紅模式定製

nice1022發表於2023-03-09

ERC20合約中定義了5個變數:開發I34-合約I633-定製53I9


_balances變數以keyv=>value方式儲存帳號和其對應的餘額。


_allowances變數是一個兩層mapping,資料值以下結構儲存:0x123456=>[0x123457=>1000, 0x123458=>2000],代表的意思是0x123456帳號授權0x123457和0x123458兩個帳號,分別可以使用0x123456帳號1000和2000餘額額度。使用餘額的函式為transferFrom。


_totalSupply變數是儲存當成代幣合約發行的代幣總量,一般我們每鑄造一個新代幣,就在其值上+1。


_name變數是代幣的名稱,如比特幣名稱:BitCoin


_symbol變數是代幣的簡稱, 如比特幣簡稱:BTC


    // 設定代幣名稱符號,並初始化鑄造了10000000000代幣在釋出者帳號下。

    constructor() {

        _name = "HarryToken";

        _symbol = "HYT";

        _mint(msg.sender, 10000000000);

    }

建構函式,指令name和symbol。這裡我們呼叫了一個private的函式_mint,給合約建立者新鑄造了10000000000個代幣。因為本合約實現的時候並沒有public的mint函式可以鑄造代幣,所以直接初始化入建立者帳戶,該合約所有的代幣都只能用建立都帳戶轉出。當前也可以將實現一個public的mint函式,關加上許可權控制,讓有許可權的帳戶可以隨時調mint鑄造新代幣。


  function name() public view virtual override returns (string memory) {

        return _name;

    }

 

    function symbol() public view virtual override returns (string memory) {

        return _symbol;

    }

 

    /// 小數點位數一般為 18

    function decimals() public view virtual override returns (uint8) {

        return 18;

    }

IERC20Metadata 介面的實現方法,主要用於獲取代幣名稱,簡稱及支援的小數點位數。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70011332/viewspace-2938940/,如需轉載,請註明出處,否則將追究法律責任。

相關文章