前言
到这里,我就默认你已经理解了智能合约和solidity语言的基本用法
前面谈到了remix开发编译测试工具,接下来,使用remix手把手教你撸一个发币智能合约 (ps,ioc的由来就和这个玩意有关,不过很多公司都在开发自己公司的代币,想从事区块链开发的你,还不赶紧学起来)
开发代币干嘛
了解ICO的人应该知道,开发代币可以帮公司洗钱,或者更有甚者直接坑钱. 不过也不排除有好的公司.
ERC20(现在已更换为ERC23,也可以使用ERC223)
不定规矩,不成方圆
1.ERC20 对于程序员来说就是一个接口,对于其他人来说是一个规范,这个规范可以理解为代币规范,你只有遵守了规范,才可以被很多平台接受.
2.先了解下ERC20规范
了解之前,心里要知道,代币既可以靠拥有者分配,也可以被索取
ERC20接口中的Method 在Method目录下面我们可以看到一些方法,所有的ERC20代币都是按照下面这些方法来定义的。下面我们讲解一下每个方法的作用。
name
function name() constant returns (string name)
返回string类型的ERC20代币的名字,例如:iwantyou
复制代码
symbol
function symbol() constant returns (string symbol)
返回string类型的ERC20代币的符号,也就是代币的简称,例如:EOSS。
复制代码
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事件
复制代码
开发代币之前
准备一个以太坊的钱包. 这里使用chrome浏览器的插件 Metamask
本章结束语
下一篇预告:Metamask 详解
干什么事情都是有过程的,特别你想先吃螃蟹,就得承受吃螃蟹的耐心.
前端小白入门区块链系列持续更新中...
大家加油~~~