2.区块链—部署智能合约,创建数字货币

主要实现数字货币,也就是代币的基本功能,包含货币的名称,货币总量,货币图标等基本参数,另外就是货币的的交易功能。

   官网的全英文档看得脑袋疼,所以在成功后我从新整理了一下思路。

   实现代币的过程是编写智能合约的过程,当满足设定的条件时会自动执行事件,这个合约可以百度查一下。今天部署的是一个包含基本功能的合约,高级合约代码可在底部查看。

    开始之前需要之前搭建的私链,并且有挖到的以太币,因为部署合约需要消耗以太币。

   

   1.开启私链节点:


2.打开geth客户端:


3.点击右上角contracts(合约)打开部署合约:


4.点击部署新的合约:

合约代码:

pragma solidity 0.4.16;  //(编译版本声明)


/* contract 类似面向对象中的类 */

contract MyToken 

{

/* 设置一个数组存储每个账户的代币信息 */

mapping (address => uint256) public balanceOf;

/* 设置变量 */

/*1. name 代币名称 */

/* 2.symbol 代币图标 */

/* 3.decimals 代币小数点位数 */


string public name;string public symbol;uint8 public decimals;


/* event事件,它的作用是提醒客户端发生了这个事件,你会注意到钱包有时候会在右下角弹出信息 */

event Transfer(address indexed from, address indexed to, uint256 value);


/* 下面这个类似于C++的构造函数,接收用户输入,实现代币的初始化 */

function MyToken(uint256 initialSupply, string tokenName, uint8 decimalUnits, string tokenSymbol) {


    balanceOf[msg.sender] = initialSupply; // Give the creator all initial 

    

    name = tokenName; // 设置代币名称

    symbol = tokenSymbol; // 设置代币的符号

    decimals = decimalUnits; //显示的小数点

}

/* 代币交易的函数 */

function transfer(address _to, uint256 _value) 

{

    /* 检查发送方有没有足够的代币 */

    if (balanceOf[msg.sender] < _value || balanceOf[_to] + _value < balanceOf[_to]) revert();


    /* 交易过程,发送方减去代币,接收方增加代币 */

    balanceOf[msg.sender] -= _value;balanceOf[_to] += _value;


    /* 提醒客户端发生了交易事件 */

    Transfer(msg.sender, _to, _value);

}

}


5.在左边的弹出的设置中填写数字货币信息:

6.点击下面的deploy按钮 进行部署:

7.在弹出的合约确定框中填写自己的以太坊账户密码,然后点击send transaction按钮发送办理:

PS:此处的密码为当初创建账户的时候

personal.newAccount("密码")  //中的密码


8.通常几分钟内合约就验证通过,可以在以太坊钱包“CONTRACTS”页面看到我们建立的测试代币。


高级合约代码:

https://ethereum.org/token

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值