不以规矩,不能成方圆

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

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

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

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

ERC20标准涵盖了哪些内容?

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

Method

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

1. name  

function name() constant returns (string name) 

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

2. symbol

function symbol() constant returns (string symbol)

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

3.  decimals

function decimals() constant returns (uint8 decimals)

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

4. totalSupply

function totalSupply() constant returns (uint256 totalSupply)

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

5. balanceOf

function balanceOf(address _owner) constant returns (uint256 balance

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

6. transfer

function transfer(address _to, uint256 _value) returns (bool success)

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

7. approve

function approve(address _spender, uint256 _value) returns (bool success

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

8. transferFrom

function transferFrom(address _from, address _to, uint256 _value) returns (bool success)

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

9. allowance

function allowance(address _owner, address _spender) constant returns (uint256 remaining)

返回_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

event Transfer(address indexed _from, address indexed _to, uint256 _value)

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

2.Approval

event Approval(address indexed _owner, address indexed _spender, uint256 _value

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

总结

如果项目方要在以太坊上发行代币来进行融资,一定会按照这个标准来实现相应的函数。

以太坊代币事件监控_以太坊:什么是ERC20标准?相关推荐

  1. 以太坊代币事件监控_以太坊程序员的常见误解

    最近,我偶然读到了一篇题为<程序员关于时区的误解>的文章,让我爆笑不已.这篇文章让我想到了程序员在其它方面的误解,如人名和时间,于是我开始寻找有没有关于以太坊的.奈何寻觅无果,我只得尽自己 ...

  2. c# 以太坊代币_C代币

    c# 以太坊代币 Smallest units of programming language are called Tokens. These are building blocks of prog ...

  3. 以太坊代币空投合约的实现

    2019独角兽企业重金招聘Python工程师标准>>> 本文将介绍如何在以太坊智能合约中实现代币的空投.区块链以太坊世界中所谓空投(airdrop),就是免费给你的区块链地址(公钥) ...

  4. android web3j 代币查询_wallet-eth 以太坊代币钱包 助记词 私钥 keystore 转账

    wallet-eth-android wallet-eth 以太坊代币钱包 助记词 私钥 keystore 转账(bip39.bip32.bip44.web3j) 生成钱包地址 // 生成钱包地址 W ...

  5. 以太坊代币标准: ERC20、ERC223的介绍与比较

    代币(Token)是区块链中定义价值的方式,用于标定金融或数字资产.在以太坊上,代币使用相同的标准,这样代币之间的兑换和DAPP支持就会变得容易. 什么是ERC20标准 ERC-20 标准是在2015 ...

  6. coldwallet java eth_wallet-eth 以太坊代币钱包 助记词 私钥 keystore 转账

    wallet-eth-android wallet-eth 以太坊代币钱包 助记词 私钥 keystore 转账(bip39.bip32.bip44.web3j) 生成钱包地址 // 生成钱包地址 W ...

  7. 以太坊区块链也拥堵_以太坊开发人员:EOS刻意拥堵以太坊网络 推高交易费到1美元...

    金色财经 比特币7月16日讯根据一些DApp开发人员表示,EOS正在攻击以太坊,试图将交易费提高到1美元.据悉,相关开发人员指责EOS通过随机代币"空投"造成以太坊网络堵塞,而且这 ...

  8. 以太坊服务器是什么_以太坊代币创建教程之服务器选择

    由于ETH以太坊钱包接点问题,国内很多位置不能完成钱包的区块自动下载,总有0.1%不到的区块不能下载完.如果要制作代币,还要等区块下载完才可以.这样就需要用到国外的服务器空间. 先搜索一下关键词-海外 ...

  9. java 创建以太坊代币_以太坊 (五)编写智能合约-建立简易加密代币

    本篇文章,我们将写一个简易的加密代币的智能合约来给大家诠释加密代币的原理 启动 ganache-cli 打开终端,启动ganache-cli,相关环境在区块链学习日记(四)这篇文章里面已经有具体说明. ...

最新文章

  1. 如何使用JavaScript将数据附加到div?
  2. 三部排序|2013年蓝桥杯B组题解析第六题-fishers
  3. boost::core模块实现分配const指针
  4. Winfrom窗体间传值
  5. python爬取数据
  6. RabbitMQ系列教程之三:发布\/订阅(Publish\/Subscribe)
  7. ecshop 手机版的php代码在哪里,PHP 在ecshop上集成 手机网页支付_php
  8. 旋转成分矩阵结果分析_30分钟学会PCA主成分分析
  9. rabbitmq实战指南_太香了这份架构解密:从分布式到微服务(第二版),神仙进阶指南...
  10. 小型工厂企业网站究竟该怎么做好SEO优化,从而带来更多订单?
  11. 一文了解智能门锁的功能选购和安全性
  12. H3C的认证有用吗?对我来说有什么帮助?
  13. Nvidia驱动支持的linux版本,NVIDIA首发OpenGL 3.1驱动 全面支持Linux
  14. 关于打开网页FLASH显示叉叉问题
  15. 禁用 SQL 游标,告诉你外面听不到的原因【内含福利】
  16. 中国知网上html是什么意思,知网上网络首发是什么意思
  17. 获取csv表格中的数据
  18. IEEP部署企业级网络工程-网络故障-环路故障
  19. JavaScript实现的转盘抽奖html页面前端源码
  20. 读书感想20221218

热门文章

  1. 搜狗高速浏览器怎么设置页面字体 设置方法介绍
  2. 分布式全局唯一ID的实现
  3. usb转并口支持linux,使用PCI转并口实现SJF刷写嵌入式开发板
  4. 6 日期字符串转日期_山西省导游协会关于发放电子导游证的通知 (生成日期为2020年5月28日2020年6月3日)...
  5. c 将txt导入oracle,如何把文本数据导入Oracle中?
  6. 天文学专业在什么时候学计算机,南京大学在985排名第几?南京大学最牛的专业是天文系吗?...
  7. mysql锿法_MySQL基本用法
  8. python格式字符_python格式字符
  9. java 数字组合_java解决数字组合问题
  10. JavaScript————FormData实现多文件上传