【以太坊开发】在以太坊网路上发行一个代币竟是如此简单!!!
小猿“思前享后”为大家分享优质内容!————Share猿
1.下载MetaMask轻钱包,创建一个相关账户,做好代币合约创建准备工作
1.1.到MetaMask官网下载
1.1.1.首先我们需要一个梯子翻墙
梯子大家可以随便找,可以买个vpn,或者直接下载蓝灯用就可以了!
1.1.2.到官网下载MetaMask(我以谷歌浏览器为例)
访问官网,然后点击如下的图标:
网页会跳转到谷歌商店,点击“添加扩展”,然后MetaMask轻钱包就安装到了谷歌浏览器上,在右上方我们可以看到。
1.1.3.创建账号
在这个过程中,我们一路accept,然后输入密码,记住助记词,这样我们就在MetaMask上创建了自己的账号,万里长征我们迈出了一大步。
1.1.4.切换到测试网络
2.通过测试网络给刚才创建的地址发以太币
访问地址:http://faucet.ropsten.be:3001/,然后输入钱包地址,点击“send me 1 test eth”,几分钟后一个以太币就到你的账户了。
3.开发代币合约
3.1.ERC20 Token
也许你经常看到ERC20和代币一同出现, ERC20是以太坊定义的一个代币标准。
要求我们在实现代币的时候必须要遵守的协议,如指定代币名称、总量、实现代币交易函数等,只有支持了协议才能被以太坊钱包支持。
3.2.编写代币合约代码
pragma solidity ^0.4.16;
interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public; }
contract TokenERC20 {
string public name;
string public symbol;
uint8 public decimals = 18; // 18 是建议的默认值
uint256 public totalSupply;
mapping (address => uint256) public balanceOf; //
mapping (address => mapping (address => uint256)) public allowance;
event Transfer(address indexed from, address indexed to, uint256 value);
event Burn(address indexed from, uint256 value);
function TokenERC20(uint256 initialSupply, string tokenName, string tokenSymbol) public {
totalSupply = initialSupply * 10 ** uint256(decimals);
balanceOf[msg.sender] = totalSupply;
name = tokenName;
symbol = tokenSymbol;
}
function _transfer(address _from, address _to, uint _value) internal {
require(_to != 0x0);
require(balanceOf[_from] >= _value);
require(balanceOf[_to] + _value > balanceOf[_to]);
uint previousBalances = balanceOf[_from] + balanceOf[_to];
balanceOf[_from] -= _value;
balanceOf[_to] += _value;
Transfer(_from, _to, _value);
assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
}
function transfer(address _to, uint256 _value) public {
_transfer(msg.sender, _to, _value);
}
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
require(_value <= allowance[_from][msg.sender]); // Check allowance
allowance[_from][msg.sender] -= _value;
_transfer(_from, _to, _value);
return true;
}
function approve(address _spender, uint256 _value) public
returns (bool success) {
allowance[msg.sender][_spender] = _value;
return true;
}
function approveAndCall(address _spender, uint256 _value, bytes _extraData) public returns (bool success) {
tokenRecipient spender = tokenRecipient(_spender);
if (approve(_spender, _value)) {
spender.receiveApproval(msg.sender, _value, this, _extraData);
return true;
}
}
function burn(uint256 _value) public returns (bool success) {
require(balanceOf[msg.sender] >= _value);
balanceOf[msg.sender] -= _value;
totalSupply -= _value;
Burn(msg.sender, _value);
return true;
}
function burnFrom(address _from, uint256 _value) public returns (bool success) {
require(balanceOf[_from] >= _value);
require(_value <= allowance[_from][msg.sender]);
balanceOf[_from] -= _value;
allowance[_from][msg.sender] -= _value;
totalSupply -= _value;
Burn(_from, _value);
return true;
}
}
将这个代码复制粘贴到Remix网页编辑器中,然后点击右上角的Run,写上你发行币的总量,名称,代号,然后点击Create,这时MetaMask会弹出一个交易确认框,点SUBMIT,待合约部署交易确认之后,复制合约地址。
3.3.添加合约地址到钱包的token
打开Metamask界面,切换到TOKENS,点添加合约,出现如下对话框,填入刚才复制的地址,点ADD,这时你就可以看到你创建的代币了(合约地址在浏览器的右下角,复制即可)
你已经完成了代币的创建和部署(正式网络和测试网络部署方法一样),可以etherscan查询到我们刚才部署的代币。
4将代币转入到imtoken钱包
4.1.登录你的Metamask钱包:
点击TOKENS,查看你的EOS余额,我这里上次因为领糖果,所以只转入了一个。
4.2.查看你的钱包私钥:
点击右上角三个黑点,然后在下拉选择选择第四项。
4.3.输入你的钱包密码:
4.4.查看并复制私钥:
看到私钥之后,点击“done”复制到剪贴板:
4.5.打开imtoken钱包,右下角“我“:
4.6.管理钱包——导入钱包:
粘贴你的私钥到输入框,然选择导入钱包,设置你的钱包密码。
ok,成功导入,现在这个EOS就躺在imtoken的钱包里面了,你可以选择映射,也可以选择把它转账到交易所。当然,转账之前,钱包里还要转入一点Eth做手续费的哦。
扫描以下公众号关注小猿↓↓↓↓↓↓↓↓
更多资讯请在简书、微博、今日头条、掘金、CSDN都可以通过搜索“Share猿”找到小猿哦!!!