区块链快速入门之:ERC20是什么?
落日余晖97
post on 2022-11-29 19:08:40
20
0
0
接触过数字货币的人都应该知道,以太坊是一个分布式的智能合约平台,可以分发代币(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.
The opinions expressed are solely those of the author,Does not constitute advice, please treat with caution.
Write the first review