• 以太访solidity常用的函数有哪些


    以太坊:什么是ERC20标准?
    不以规矩,不能成方圆

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

    接触过数字货币的人都应该知道,以太坊是一个分布式的智能合约平台,可以分发代币(Token)。目前以太坊上有24351个代币的智能合约,我们可以在以太坊区块链浏览器中查看https://www.etherscan.io
    TOKEN.png
    如果这么多代币的标准不统一,对于其他人来查看代码是相当痛苦的,众筹的人也就没有办法来检查代币分发的是否合理,也没有办法做到多种钱包的兼容。

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

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

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

    name
    function name() constant returns (string name)
    返回string类型的ERC20代币的名字,例如:StatusNetwork

    symbol
    function symbol() constant returns (string symbol)
    返回string类型的ERC20代币的符号,也就是代币的简称,例如:SNT。

    decimals
    function decimals() constant returns (uint8 decimals)
    支持几位小数点后几位。如果设置为3。也就是支持0.001表示。

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

    balanceOf
    function balanceOf(address _owner) constant returns (uint256 balance)
    输入地址,可以获取该地址代币的余额。

    transfer
    function transfer(address _to, uint256 _value) returns (bool success)
    调用transfer函数将自己的token转账给_to地址,_value为转账个数

    approve
    function approve(address _spender, uint256 _value) returns (bool success)
    批准_spender账户从自己的账户转移_value个token。可以分多次转移。

    transferFrom
    function transferFrom(address _from, address _to, uint256 _value) returns (bool success)
    与approve搭配使用,approve批准之后,调用transferFrom函数来转移token。

    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
    Transfer
    event Transfer(address indexed _from, address indexed _to, uint256 _value)
    当成功转移token时,一定要触发Transfer事件

    Approval
    event Approval(address indexed _owner, address indexed _spender, uint256 _value)
    当调用approval函数成功时,一定要触发Approval事件

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

    作者:沙漠中的猴
    链接:https://www.jianshu.com/p/a5158fbfaeb9
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 相关阅读:
    hdu 3032 Nim or not Nim? (SG函数博弈+打表找规律)
    HDU 2147 kiki's game(博弈)
    C++学习47 文件的概念 文件流类与文件流对象 文件的打开与关闭
    C++学习46 getline()函数读入一行字符 一些与输入有关的istream类成员函数
    C++学习45 流成员函数put输出单个字符 cin输入流详解 get()函数读入一个字符
    C++学习44 格式化输出,C++输出格式控制
    C++学习43 输入输出有关的类和对象
    C++学习42 输入和输出的概念
    C++学习41 exception类
    C++学习40 抛出自己的异常
  • 原文地址:https://www.cnblogs.com/xiaocongcong888/p/9487704.html
Copyright © 2020-2023  润新知