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)

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值