如何在以太坊上发行自己的代币

本文详细介绍了如何在以太坊平台上使用Solidity开发和发行符合ERC-20标准的代币,包括代币的基本概念、ERC-20标准的简述、标准代币的实现步骤,以及解决发行总量显示为0的问题。通过 Remix 和 MetaMask 工具,读者可以跟随教程在以太坊测试网络上实践代币的创建、部署和转账。
摘要由CSDN通过智能技术生成

简单代币开发

代币(Token):

代币单纯从其名字上理解的话,就是一种可以替代通用货币起到交换媒介作用的东西,可以是商场积分,可以是游戏币,也可以是筹码。但是在区块链中,就不完全是那么回事了,区块链中的代币或者说Token通常指的是具有流通性的加密数字权益证明,例如比特币、以太币等数字货币都属于代币

从以上定义可以得知代币的三个要素:

  • 权益证明:一种数字形式存在的权益凭证,代表一种权利,一种固有的内在价值和使用价值
  • 加密:为了防止篡改,保护隐私,不可以复制等
  • 较高的可流通性(去中心化):可以进行交易,兑换通用或法定货币等,之所以要去中心化是因为中心化的代币都存在平台限制及信任问题,所以其流通性就会受到局限

综上,简言之代币的概念大致上就是基于区块链发行的加密货币或者其他类似的东西。通常大多数人或团队在开发区块链项目时,都会考虑发行自己的代币。在最初的时候,我们要发行自己的加密货币得从比特币的源码上改造出来。不过现如今通过以太坊平台,我们能够很方便的开发并发行自己的代币,所以本文将介绍如何基于以太坊开发自己的代币。

本文将使用到两个工具,分别是Remix和MetaMask,如果对这两个工具不太了解的话可以参考我另外两篇文章:

首先我们使用solidity开发一个拥有最基本功能的“代币”demo,以便了解代币最基础的样子,代码如下:

pragma solidity ^0.4.20;

contract SimpleToken {

    // 保存每个地址所拥有的代币数量
    mapping (address => uint256) public balanceOf; 

    // 参数为代币的初始供应量或者说发行数量
    constructor (uint256 initSupply) public {
        // 创建者拥有所有的代币
        balanceOf[msg.sender] = initSupply;
    }

    /**
     * 转移代币
     * 
     * @param _to     接收方的账户地址
     * @param _value  转移的代币数量
     */
    function transfer (address _to, uint256 _value) public {
        // 发送方的账户余额需大于等于转移的代币数量
        require(balanceOf[msg.sender] >= _value);
        // 检查有没有发生溢出,因为数量有可能超过uint256可存储的范围
        require(balanceOf[_to] + _value >= balanceOf[_to]);

        // 减少发送方账户的代币数量
        balanceOf[msg.sender] -= _value;
        // 增加接收方账户的代币数量
        balanceOf[_to] += _value;
    }
}

1.代码编写完成后,在remix上部署合约,首先初始化代币供应量:
如何在以太坊上发行自己的代币

2.查看指定账户所拥有的代币数量:
如何在以太坊上发行自己的代币

3.转移代币到另一个账户地址:
如何在以太坊上发行自己的代币

4.此时该账户地址的代币数量就只剩下100了:
如何在以太坊上发行自己的代币


ERC-20标准简述

在上一小节中&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值