600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 学习区块链(十)--基于truffle和testrpc创建加密数字货币

学习区块链(十)--基于truffle和testrpc创建加密数字货币

时间:2018-10-25 19:28:41

相关推荐

学习区块链(十)--基于truffle和testrpc创建加密数字货币

在前面的章节中,我们主要进行了两个步骤:搭建了truffle和testrpc环境;学习了sodility的语法和以太坊的基本概念。

有了这两部分知识,我们很容易开发一款基于testrpc的测试加密数字货币:

一 首先新建一个dapp2文件夹

mkdir dapp2

二 truffle初始化

truffle init

三 创建合约myToken

truffle create contract myToken

四 编写业务代码

cd contract;

vim myToken.sol;

pragma solidity ^0.4.4;contract EncryptedToken {//storage变量永久存储在区块链上uint256 INITIAL_SUPPLY = 10000;//地址到账户余额的映射mapping(address => uint256) balances;//构造函数,合约部署的时候只执行一次,将function EncryptedToken() {balances[msg.sender] = INITIAL_SUPPLY;}// 转账到⼀个指定的地址function transfer(address _to, uint256 _amount) {assert(balances[msg.sender] > _amount);balances[msg.sender] -= _amount;balances[_to] += _amount;}// 查看指定地址的余额function balanceOf(address _owner) constant returns (uint256) {return balances[_owner];}}

五 配置部署文件

编辑migrations/1_initial_migration.js部署脚本,将我们刚才创建的Hello_mshk_top.sol文件设置到发布配置文件中,内容如下:

var myToken= artifacts.require('./myToken.sol');module.exports = function(deployer) {deployer.deploy(myToken);}

六 到truffle.js配置网络相关

module.exports = {networks: {development: {host: "localhost",port: 8545,network_id: "*"}}};

七 编译部署

退到dapp2目录下

truffle compiletruffle deply

八 测试合约

truffle console;//开启控制台

web3.eth.coinbase;//查看合约拥有者帐号token数量web3.eth.accounts[0];web3.eth.accounts[1];

accounts[0]和coinbase是一个账户

然后调用合约contract的查询余额方法balancesOf:

然后调用合约contract的转账方法transfer向accounts[1]转账8888个token:

然后查询accounts[1]的余额,发现从0变成8888个token了:

九 总结

在这篇文章中,只是简单介绍了代币系统的逻辑,并没有对安全进行相关操作,比如:余额不够

的处理、地址合不合法的处理等等。我想有了前面学习的基础应该很容易看懂这里面的操作逻辑。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。