Hi Guest

More contents, please log on!

Bitmere.com 区块链前沿 Content
许多人应该都听过代码即法律(CodeIsLaw),因为程序写完了,无论执行多少次都会得到同样的结果,除非有外界因素的干扰。在多人协作的过程中一定是要按照一个标准来进行分工,这样才能最快的完成整体任务,不至于出错。

    接触过数字货币的人都应该知道,以太坊是一个分布式的智能合约平台,可以分发代币(Token)。目前以太坊上有24351个代币的智能合约,我们可以在以太坊区块链浏览器中查看https://www.etherscan.io

    如果这么多代币的标准不统一,对于其他人来查看代码是相当痛苦的,众筹的人也就没有办法来检查代币分发的是否合理,也没有办法做到多种钱包的兼容。

    所以才推出了一种以太坊代币的标准:ERC20标准。

    ERC20标准涵盖了哪些内容?

    我们可以在https://github.com/ethereum/EIPs ... 0-token-standard.md查看ERC20代币的标准API。

    Method

    在Method目录下面我们可以看到一些方法,所有的ERC20代币都是按照下面这些方法来定义的。下面我们讲解一下每个方法的作用。

    1.name

    functionname()constantreturns(stringname)

    返回string类型的ERC20代币的名字,例如:StatusNetwork

    2.symbol

    functionsymbol()constantreturns(stringsymbol)

    返回string类型的ERC20代币的符号,也就是代币的简称,例如:SNT。

    3.decimals

    functiondecimals()constantreturns(uint8decimals)

    支持几位小数点后几位。如果设置为3。也就是支持0.001表示。

    4.totalSupply

    functiontotalSupply()constantreturns(uint256totalSupply)

    发行代币的总量,可以通过这个函数来获取。所有智能合约发行的代币总量是一定的,totalSupply必须设置初始值。如果不设置初始值,这个代币发行就说明有问题。

    5.balanceOf

    functionbalanceOf(address_owner)constantreturns(uint256balance)

    输入地址,可以获取该地址代币的余额。

    6.transfer

    functiontransfer(address_to,uint256_value)returns(boolsuccess)

    调用transfer函数将自己的token转账给_to地址,_value为转账个数

    7.approve

    functionapprove(address_spender,uint256_value)returns(boolsuccess)

    批准_spender账户从自己的账户转移_value个token。可以分多次转移。

    8.transferFrom

    functiontransferFrom(address_from,address_to,uint256_value)returns(boolsuccess)

    与approve搭配使用,approve批准之后,调用transferFrom函数来转移token。

    9.allowance

    functionallowance(address_owner,address_spender)constantreturns(uint256remaining)

    返回_spender还能提取token的个数。

    approve、transferFrom及allowance解释:

    账户A有1000个ETH,想允许B账户随意调用100个ETH。A账户按照以下形式调用approve函数approve(B,100)。当B账户想用这100个ETH中的10个ETH给C账户时,则调用transferFrom(A,C,10)。这时调用allowance(A,B)可以查看B账户还能够调用A账户多少个token。

    Events

    1.Transfer

    eventTransfer(addressindexed_from,addressindexed_to,uint256_value)

    当成功转移token时,一定要触发Transfer事件

    2.Approval

    eventApproval(addressindexed_owner,addressindexed_spender,uint256_value)

    当调用approval函数成功时,一定要触发Approval事件

    总结

    如果项目方要在以太坊上发行代币来进行融资,一定会按照这个标准来实现相应的函数。
BitMere.com is Information release platform,just provides information storage space services.
The opinions expressed are solely those of the author,Does not constitute advice, please treat with caution.
You have to log in before you can reply Login | 立即注册

Points Rules

Write the first review

落日余晖97 初中生
  • Follow

    0

  • Following

    0

  • Articles

    14

币圈江左盟
Promoted