主页 > 怎么看出来imtoken真伪 > 以太坊(九)truffle ganache加密代币开发

以太坊(九)truffle ganache加密代币开发

怎么看出来imtoken真伪 2023-03-22 07:26:46

2021-06-07

上一章,我们讲解了宠物店开发的实际操作。 相信大家已经了解了整体的开发流程。 接下来说一下现在流行的代币;

在本章中,我们将使用 truffle + ganache 来实现可以存储在以太坊钱包中的加密代币。

如果你已经根据前面的章节学会了一些操作,相信这一章对你来说是非常简单的。 您已经设置了基本环境。 你需要知道的是令牌是什么以及如何转换它;

1.创建项目我们可以直接应用已经集成了create-react-app的名为react-box的模板,可以直接用于开发react web,节省项目搭建的时间。

1.1 mkdir xiliangMaCoin

1.2 松露拆箱反应盒

以太坊(9)truffle ganache 加密代币开发,以及代币在钱包的基础操作--mac

2.开发准备打开终端,启动Ganache,继续通过Ganache模拟以太坊区块链测试环境。 创建的代币如果想通过以太坊钱包进行转账和收款,就必须兼容以太坊的ERC20标准。 ERC20 定义了支持钱包所必需的合约接口。 在本文中,我们将安装 OpenZeppelin 以简化加密钱包开发过程。 OpenZeppelin 是一组函数库,可以为我们编写加密合约提供便利。 同时还提供了兼容ERC20的智能合约安装zeppelin-solidity

npm 安装 zeppelin-solidity

以太坊(9)truffle ganache 加密代币开发,以及代币在钱包的基础操作--mac

node_modules中最后一个文件夹是zeppelin-solidity的内容

以太坊(9)truffle ganache 加密代币开发,以及代币在钱包的基础操作--mac

3.准备代码

在 contracts/ 目录下创建 xiliangMaCoin.sol 文件:

truffle创建合约xiliangMaCoin,替换为以下内容

pragma solidity ^0.4.4;
import "zeppelin-solidity/contracts/token/ERC20/StandardToken.sol";
contract xiliangMaCoin is StandardToken {
  string public name = "xiliangMaCoin"; //代币名称
  string public symbol = "XLMC"; //代币简称
  uint8 public decimals = 4;
  uint256 public INITIAL_SUPPLY = 5000000; //发行总量
  function xiliangMaCoin() {
    balances[msg.sender] = INITIAL_SUPPLY;
  }
}

我们在继承 StandardToken 合约的同时,还支持 ERC20 标准规定的以下功能。

函数法

总供应量()

代币发行总量(这个版本的ERC20好像没有这个功能)

余额(A)

查询账户A下代币数量

转移(A,X)

发送 x 代币到账户 A

转移自(A,X)

从账户 A 中取出 x 个代币

批准(A,X)

同意账户A从我的账户中提取代币

津贴(A,B)

查询B账户可以从A账户提现多少代币

主要解释是uint8 public decimals = 4;

这里设置参数的目的是为了指定这个token的一些特性。 以人民币为例,人民币名称为RMB,美元代号为¥。 如果你拿100元找零,你能找的最小零钱是一分钱,也就是0.0001元。 因为1元可以分到小数点后4位(0.0001),所以最小交易单位(小数)为4。

这里,加密后的代币名为BloggerCoin(部落币)以太坊的代币开发,代币符号为BLC,最小分割单位为4(最低可找到0.0001部落币)。

以下是人民币、比特币、以太坊、Hordecoin的对比表,供参考:

名称符号小数

人民币

¥

4个

比特币

比特币

8个

以太坊

以太币

18

博客币

基本信用证

4个

4.编译、部署、验证

4.1 vim 迁移/2_deploy_contracts.js

以太坊(9)truffle ganache 加密代币开发,以及代币在钱包的基础操作--mac

4.2 truffle编译

4.3 松露迁移

4.4 truffle console(经过测试可以看到自己的token已经创建了,一共500000,分配给了主账户以太坊的代币开发,因为他是部署合约的账户)

xiliangMadeMacBook-Pro:xiliangMaCoin xiliangMa$ 松露控制台

松露(开发)> var xiliangMaCoinTest

不明确的

松露(开发)> xiliangMaCoin.deployed().then(function(instance){xiliangMaCoinTest = instance})

不明确的

松露(开发)> xiliangMaCoinTest.balanceOf(web3.eth.accounts[0])

BigNumber { s: 1, e: 6, c: [ 5000000 ] }

松露(开发)> web3.eth.accounts[0]

'0x6268a45a404f24196c5efbbcd9d4e7a3e48ebdca'

转发100,000个代币到账户'0xB603e062e5E99529C4A4389eA7DD9A21A5D597Ca';

松露(开发)> xiliangMaCoinTest.transfer('0xB603e062e5E99529C4A4389eA7DD9A21A5D597Ca', 100000);

{ tx: '0x0e48e3caa985981af1eda2cbf97f5e9e71151f3cb5f2686dbb457b0ab25e8a29',

收据:

{ transactionHash: '0x0e48e3caa985981af1eda2cbf97f5e9e71151f3cb5f2686dbb457b0ab25e8a29',

交易指数:0,

blockHash: '0x4332bf2929821b9eeb8268dc2a96c180c9ecc3a16f7e3040148bf330fb6dfeb0',

块数:11,

使用的气体:51697,

累计使用气体:51697,

合同地址:空,

日志:[ [对象] ],

状态:'0x01',

logsBloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000010000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000002400000000000000000100000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000002000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000004000000000000' },

日志:

[{ 日志索引:0,

交易指数:0,

transactionHash: '0x0e48e3caa985981af1eda2cbf97f5e9e71151f3cb5f2686dbb457b0ab25e8a29',

blockHash: '0x4332bf2929821b9eeb8268dc2a96c180c9ecc3a16f7e3040148bf330fb6dfeb0',

块数:11,

地址:'0x078975013d1f2267ba751199d39f40e57cd7bce2',

类型:'开采',

事件:'转移',

参数:[对象] } ] }

查看代币

松露(开发)>xiliangMaCoinTest.balanceOf('0xB603e062e5E99529C4A4389eA7DD9A21A5D597Ca')

BigNumber { s: 1, e: 5, c: [ 100000 ] }

5.用钱包倒代币(可以用mist,我这里用metaMask)

5.1 产检合约地址

松露(开发)> xiliangMaCoinTest.address

'0x078975013d1f2267ba751199d39f40e57cd7bce2'

5.2 打开metamask,点击add token 添加token,会自动读取合约的参数;

以太坊(9)truffle ganache 加密代币开发,以及代币在钱包的基础操作--mac

以太坊(9)truffle ganache 加密代币开发,以及代币在钱包的基础操作--mac

好吧,现在你可以跟别人吹牛说你用token了。。。哈哈,你可以用mist弄以太坊钱包,界面比较直观,这里做一个基本的演示;

本章结束,下章见;

分类:

技术要点:

相关文章: