Iotex是一个很有潜力,很有实力的物联网公链项目。币圈项目要大面积落地的话,物联网方向必定是一个很关键的一个方向(PS:为暗网服务的去中心化物流?)Anyway,由于项目的原因,目前要研究一下如何在Iotex上创建Token。
首先,Iotex的合约层是和以太同步的(目前几乎所有的币圈项目合约层都是用Solidity,很少有项目有能力自己做合约层,除了Neo这几个老牌明星项目),所以Iotex的合约层也是基于EVM来做的,我们使用Solidity进行编码。一般在Iotex-studio上进行合约测试(https://ide.iotex.io/)
然后,打开https://ide.iotex.io/,复制以下代码,我们先创建一个简单的Token,名为SimpleToken。
pragma solidity ^0.5.0;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v2.5.0/contracts/GSN/Context.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v2.5.0/contracts/token/ERC20/ERC20.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v2.5.0/contracts/token/ERC20/ERC20Detailed.sol";
/**
* @title SimpleToken
* @dev Very simple ERC20 Token example, where all tokens are pre-assigned to the creator.
* Note they can later distribute these tokens as they wish using `transfer` and other
* `ERC20` functions.
*/
contract SimpleToken is Context, ERC20, ERC20Detailed {
/**
* @dev Constructor that gives _msgSender() all of existing tokens.
*/
constructor () public ERC20Detailed("SimpleToken", "SIM", 18) {
_mint(_msgSender(), 10000 * (10 ** uint256(decimals())));
}
}
这个Token的代号是SIM,通过构造函数的参数输入,我们定义了总共有多少枚代币和可以预挖矿多少枚。
我们选择v-0.5.0编译版本,然后点编译。
编译成功了之后,就可以部署合约了。如下图所示:contract name:io89688a057428b4d180ae5d1d80fb1014091eedde。
展开合约可执行的功能,我们可以看到继承了ERC20 token了之后,里面封装了很多功能:例如approve,transfer等函数。
部署完成。。
最后填上合约地址可以直接转账到你的iopay钱包里: