美文网首页以太坊
代币开发以太坊代币开发:如何发行代币

代币开发以太坊代币开发:如何发行代币

作者: 以太坊代币开发 | 来源:发表于2018-07-07 11:28 被阅读521次

本文的目的是创建一个我们自己的支持ERC-20标准的代币。

一、关键词

Truffle

Truffle 是当前最活跃的 Ethereum 开发框架,具有调试、部署和测试智能合约等功能。此次建立加密代币的教程就是基于 Truffle 框架的开发。

ganache

在开发阶段需要测试,ganache 可以模拟智能合约所需要的以太坊区块链测试环境。

ganache 有桌面客户端以及命令行工具,本篇教程使用的是命令行工具搭配 Chrome 的 MetaMask 来进行测试。

OpenZeppelin

Zeppelin是一种构建安全智能合约的开源架构,我们使用OpenZeppelin函数库来创建一个简易发币合约。

二、环境配置

$ npm install -g truffle

$ npm install -g ganache-cli

三、初始化项目

$ mkdir coin-workspace

$ cd coin-workspace

$ truffle unbox tutorialtoken

在项目的根目录使用 npm 安装

$ npm install zeppelin-solidity

四、运行ganache

在我们部署智能合约之前,首先需要有一个以太坊区块链测试环境。新开一个命令行工具,输入以下命令:

$ ganache-cli

将会在本地生成以太坊区块链环境,会自动创建 10 个账号(Accounts),以及每个账号对应的私钥(Private Keys),每个账号中拥有 100 个测试用的以太币(Ether),我这里本地监听的端口是8454。

五、创建部署智能合约

1. 我们在contracts目录下新建一个 TutorialToken.sol 的文件(或者也可以用 truffle create contract TutorialToken.sol 命令来建立)。

写入以下内容:

+++++++++++++++++++++++++++++

pragma solidity ^0.4.2; // 指明目前使用的solidity版本,不同版本可能会编译出不同的bytecode

import 'zeppelin-solidity/contracts/token/ERC20/StandardToken.sol';

// contract 关键字类似于其它语言的class。可以理解为TutorialToken继承了Contract类,具有智能合约的特性。is 关键字类型于其它语言的extends,TutorialToken 继承了 StandardToken 的属性及方法。

contract TutorialToken is StandardToken {

    string public name = 'DogToken';     // 设置代币名称

    string public symbol = 'TT';         // 设置代币代号

    uint8 public decimals = 2;           // 设置代币最小交易单位(精度)

    uint public INITIAL_SUPPLY = 10000; // 设置代币发行量

    function TutorialToken() public {

        totalSupply_ = INITIAL_SUPPLY;   

        balances[msg.sender] = INITIAL_SUPPLY;

    }

}

+++++++++++++++++++++++++++++

2. 在 migrations/ 目录下,我们可以看到 truffle 框架提供了方便部署合约的脚本。接下来我们创建 2_deploy_contracts.js 的文件。

写入以下内容:

+++++++++++++++++++++++++++++

var TutorialToken = artifacts.require("TutorialToken");

module.exports = function(deployer) {

    deployer.deploy(TutorialToken);

};

+++++++++++++++++++++++++++++

3. 修改项目根目录的truffle.js文件

+++++++++++++++++++++++++++++

module.exports = {

// See <http://truffleframework.com/docs/advanced/configuration>

  // for more about customizing your Truffle configuration!

  networks: {

    development: {

      host: "localhost",

      port: 8545,

      network_id: "*" // Match any network id

    }

  }

};

+++++++++++++++++++++++++++++

编译和部署智能合约

$ truffle compile

$ truffle migrate

六、安装及配置 MetaMask

MetaMask是一款在谷歌浏览器Chrome上使用的插件类型的以太坊钱包,该钱包不需要下载,只需要在谷歌浏览器添加对应的扩展程序即可,非常轻量级,使用起来也非常方便。

具体安装请自行google

操作流程说明:

1. 安装好后连接本地运行的ganache服务(我是在远程服务器上运行的,然后通过nginx做了个代理)

2. 使用私匙导入功能导入两个ganache生成的账号

3. 然后可以在两个账号之间发送代币

如果您想开发自己的代币,可以加入!

相关文章

  • 代币开发以太坊代币开发:如何发行代币

    本文的目的是创建一个我们自己的支持ERC-20标准的代币。 一、关键词 Truffle Truffle 是当前最活...

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

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

  • 以太坊Solidity开发入门(宗师篇)

    上一篇:以太坊Solidity开发入门(大师篇) 第1章: 以太坊上的代币 让我们来聊聊 代币. 如果你对以太坊的...

  • Paralism自助铸币和以太坊ERC20代币有何不同?

    以太坊ERC20代币是各种埃西欧的鼻祖,实则是基于以太坊之上发行的一种规定了代币总量,特定地址剩余代币数量以及在交...

  • 以太坊代币开发

    本文作者:陈进坚博客地址:https://jian1098.github.ioCSDN博客:https://blo...

  • 通证和代币

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

  • ERC20

    提示:文中出现的代币,或称为令牌,或称为token 以太坊 以太坊是一个分布式的智能合约平台,可以发行代币(Tok...

  • 教你发行ERC20代币

    本文由币乎(bihu.com)内容支持计划奖励 以太坊的出现使得大家可以很方便的以太坊上发行自己的代币,这些代币都...

  • 以太坊发行代币

    学习目的: 1.了解智能合约2.环境搭建3.利用solidity编写hello world合约4.合约部署和互动5...

  • 以太坊智能合约开发之代币合约

    智能合约开发是以太坊编程的核心之一,而代币是区块链应用的关键环节,下面我们来用solidity语言开发一个代币合约...

网友评论

    本文标题:代币开发以太坊代币开发:如何发行代币

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