iT邦幫忙

2022 iThome 鐵人賽

DAY 21
0
Web 3

鑄造加密貨幣系列 第 29

動手做加密貨幣 -29

  • 分享至 

  • xImage
  •  

由上一章節,我們擁有了屬於自己的錢包,接著要開始編纂加密貨幣。我們可以由此處獲得ERC-20的範本。我們需要下載EIP20.sol與EIP20Interface.sol。EIP20Interface.sol主要定義了ERC-20的軀殼,告訴使用者會使用哪些函式。我們也可以從此處了解我們需要定義哪些API。而下面會一一敘述各個API的功能
1.function transfer(address _to, uint256 _value) public returns (bool success);
將加密貨幣轉移到某個帳戶,而要轉移的數量定義於_value,轉移帳戶地址則定義於_to中,其中會運用到require(balances[msg.sender] >= _value);去確認要轉移加密貨幣的地址是否有足夠的加密貨幣
14

2.function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
允許第三方程式經由我們的允許下將加密貨幣轉移到另一個帳戶中,其中_value定義了轉移的數量,_to定義了轉移帳戶的地址,_from則定義了要從哪個帳戶地址轉移,而在程式內部uint256 allowance = allowed[_from][msg.sender]與require(balances[_from] >= _value && allowance >= _value)這兩行確認轉移者是否允許第三方程式轉移自己的代幣並確認是否有足夠的加密貨幣進行轉移
15

3.function balanceOf(address _owner) public view returns (uint256 balance);
將帳戶的餘額回傳,帳戶地址定義於_owner
16

4.function approve(address _spender, uint256 _value) public returns (bool success);
允許帳戶_spender最多轉移的加密貨幣數量,可以多次轉,但總數不能超過此數量,而數量定義於_value中
17

5.function allowance(address _owner, address _spender) public view returns (uint256 remaining);
可以查詢_owner地址的帳戶授權給_spender地址的帳戶的轉移額度
18

介紹完EIP20中函式的部份,下一章會開始介紹EIP20中變數與事件的部分

參考

EIP 20: ERC-20 代币标准(Token Standard)
EIP20 source code


上一篇
動手做加密貨幣 -28
下一篇
動手做加密貨幣 -30
系列文
鑄造加密貨幣31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言