美文网首页
发ERC20代币如此简单,你还敢乱买吗?

发ERC20代币如此简单,你还敢乱买吗?

作者: 海之方 | 来源:发表于2018-07-14 00:03 被阅读51次

说来,楼主进入币圈也快一年了。

身为程序员的我,在年初学习了智能合约编程,同时也知道当下绝大部分代币都是基于以太坊的ERC20代币。

按理说我早该研究下发币的合约,更别提自己有些数字货币的投资,买的币种就是ERC20的代币。

原因没别的,就一个字,

但从本质上来说是出于认知上的懒惰而跳跃性假设,总以这事不“重要”,++投资最重要的是看人++来推脱?

而最近接二连三爆出的大佬们的录音和撕逼过程,让我大跌眼镜的同时,也在重新建立对数字货币投资的底层认知

这不,在看了发ERC20代币合约后,我重新建立的认知就是其实一切ERC20代币都是空气币,你所相信的只是项目方背书。

为什么这么说呢?

那实在是因为写个发币合约,实在是太简单了。

不信,那直接上代码吧。

pragma solidity ^0.4.11;

contract XXToken {

    string public name = "xx";      //  token name
    string public symbol = "xxx";           //  token symbol
    uint256 public decimals = 6;            //  token digit

    mapping (address => uint256) public balanceOf;  //balance of each address
    mapping (address => mapping (address => uint256)) public allowance;

    uint256 public totalSupply = 0;
    bool public stopped = false;

    uint256 constant valueFounder = 100000000000000000; // token amount
    address owner = 0x0;

    modifier isOwner {
        assert(owner == msg.sender);
        _;
    }

    modifier validAddress {
        assert(0x0 != msg.sender);
        _;
    }

    function XXToken(address _addressFounder) {
        owner = msg.sender;
        totalSupply = valueFounder;
        balanceOf[_addressFounder] = valueFounder;
        Transfer(0x0, _addressFounder, valueFounder);
    }

    function transfer(address _to, uint256 _value)  validAddress returns (bool success) {
        require(balanceOf[msg.sender] >= _value);
        require(balanceOf[_to] + _value >= balanceOf[_to]);
        balanceOf[msg.sender] -= _value;
        balanceOf[_to] += _value;
        Transfer(msg.sender, _to, _value);
        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value)  validAddress returns (bool success) {
        require(balanceOf[_from] >= _value);
        require(balanceOf[_to] + _value >= balanceOf[_to]);
        require(allowance[_from][msg.sender] >= _value);
        balanceOf[_to] += _value;
        balanceOf[_from] -= _value;
        allowance[_from][msg.sender] -= _value;
        Transfer(_from, _to, _value);
        return true;
    }

    function approve(address _spender, uint256 _value)  validAddress returns (bool success) {
        require(_value == 0 || allowance[msg.sender][_spender] == 0);
        allowance[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

区区60多行的代码,可以发出价值数亿美元的代币,这真的是含金量最高的代码了,泪感以前写的那些代码都太廉价了。

我知道对于非程序员来说,还是一脸蒙逼,甚至觉得写代码的真是高深莫测。

但是楼主想和你说,其实真没有。一切的核心就在于这行代码:

    mapping (address => uint256) public balanceOf;  //balance of each address

大家可以把address理解为账户,uint256理解为账户余额,所有持有这个代币账户的数量都存在这个balanceOf里,它和我们理解的银行的储蓄账户从功能上来说是一样的。

持币数量的数据共识则是由以太坊这个通用状态机来保证的。

从这点来看以太坊是很牛逼,以太坊上的ERC20代币合约本质上就是一个应用。

纯粹从代码上来说,你持有的ERC20代币和积分其实区别不大,无非是数字是不可篡改而已。

我们相信这个代币,一方面是相信以太坊保证数据不可篡改;另一方面相信的就是项目方的信用背书了,但这个背书是很骨感的。

即使项目方是真的想做事,但是事情也不一定做成呀?

即使事情做成了,但这件事是否真的能带来愿景里许诺的价值、获得市场的认可,充满了很多的不确定性?

是投资还是投机?请仔细思考,不要自欺欺人。

有些匆忙,先写到这里。

最后,如果你想查看一个项目的发币合约,可以访问https://etherscan.io/tokens,然后按照如下步骤就可以看到代码了。

1.png
2.png 3.png

相关文章

  • 发ERC20代币如此简单,你还敢乱买吗?

    说来,楼主进入币圈也快一年了。 身为程序员的我,在年初学习了智能合约编程,同时也知道当下绝大部分代币都是基于以太坊...

  • ETH以太坊ERC20代币创建一键发行与代币增发

    ERC20代币和如何创建你的代币 ERC20代币介绍 ERC20是用于在以太坊网络上创建代币的提案且广泛采用的标准...

  • ERC20代币钱包开发

    ERC20代币钱包开发,ERC20代币钱包开发【欧生 137-6067-4940 可微电】ERC20代币定制开发 ...

  • 创建自己的数字货币(代币)进行ico

    ERC20 Token ERC20和代币经常一同出现, ERC20是以太坊定义的一个代币标准。要求我们在实现代币的...

  • 手把手教你发行代币

    哈耶克的理想 ERC20代币 目前,应用最广泛的代币(区块链货币)是在以太坊上发行的ERC20代币。ERC20可以...

  • WMM 科普 | ERC20

    市场上绝大部分的通证都是基于基于ERC20发行的,那么究竟什么是ERC20呢?为什么要基于ERC20发行代币呢?今...

  • 以太坊根据ERC20标准开发代币

    以太坊ERC20代币开发首先需要对以太坊,代币,ERC20,智能合约等以太坊代币开发中的基本概念有了解。根据我们的...

  • 以太坊-ERC20标准

    目前以太坊上有24351个代币的智能合约,这2万多个代币都会遵寻ERC20标准, ERC20标准涵盖了哪些内容? ...

  • 通证和代币

    通证和代币 1.Token 是代币吗? 因为以太坊的 ERC20 协议,人们都可以在以太坊上发行自己的 token...

  • 教你如何一步步创建ERC20代币

    看这篇文章需要对以太坊,智能合约,代币等概念有基本的了解。 什么是ERC20 可以把ERC20简单理解成以太坊上的...

网友评论

      本文标题:发ERC20代币如此简单,你还敢乱买吗?

      本文链接:https://www.haomeiwen.com/subject/swkepftx.html