900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Solidify实现一个智能合约16(创建一个简单的代币)

Solidify实现一个智能合约16(创建一个简单的代币)

时间:2018-12-29 00:41:16

相关推荐

Solidify实现一个智能合约16(创建一个简单的代币)

创建一个工程,新建一个EncryptedToken合约。

代码如下:

pragma solidity ^0.4.4;contract EncryptedToken {uint INITIAL_SUPPLY = 666666; //允许发布的代币数量mapping (address => uint) balances;function EncryptedToken() {balances[msg.sender] = INITIAL_SUPPLY;}//转账到一个指定的地址function transfer(address _to, uint _amount) {assert(balances[msg.sender] >= _amount);balances[msg.sender] -= _amount;balances[_to] += _amount;}//查看地址余额function balanceOf(address _owner) constant returns (uint) {return balances[_owner];}}

然后进行:truffle develop

再编译:compile

接着在项目migrations中创建2_deploy_encryptedToken.js文件。

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

接着部署:migrate

与合约互动

先声明一个变量 contract。

truffle(develop)> let contract

给变量赋值

truffle(develop)> contract = EncryptedToken.deployed().then(instance => contract = instance)

此时contract获得值,进行转账查询等操作。

代币默认创建再第一个地址上:0x627306090abab3a6e1400e9345bc60c78a8bef57,对其进行查询。

Accounts:(0) 0x627306090abab3a6e1400e9345bc60c78a8bef57(1) 0xf17f52151ebef6c7334fad080c5704d77216b732(2) 0xc5fdf4076b8f3a5357c5e395ab970b5b54098fef(3) 0x821aea9a577a9b44299b9c15c88cf3087f3b5544(4) 0x0d1d4e623d10f9fba5db95830f7d3839406c6af2(5) 0x2932b7a2355d6fecc4b5c0b6bd44cc31df247a2e(6) 0x2191ef87e392377ec08e7c08eb105ef5448eced5(7) 0x0f4f2ac550a1b4e2280d04c21cea7ebd822934b5(8) 0x6330a553fc93768f612722bb8c2ec78ac90b3bbc(9) 0x5aeda56215b167893e80b4fe645ba6d5bab767de

truffle(develop)> contract.balanceOf("0x627306090abab3a6e1400e9345bc60c78a8bef57")等价于:truffle(develop)> contract.balanceOf(web3.eth.coinbase)

转账

contract.transfer(web3.eth.accounts[1], 666)

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