使用truffle框架编写简单的加密货币
创建项目:$ truffle init 进入truffle控制台:$ truffle develop 编译:compile 部署: migrate 第二次部署:migrate --reset 创建实例:let contract = EncryptedToken.deployed().then(instance => contract = instance);
通过truffle init
mkdir EncryptedToken cd EncryptedToken/ truffle init
在contracts目录下新建EncryptedToken.sol文件代码,执行下面命令创建EncryptedToken.sol
合约。
truffle create contract EncryptedToken
将下面的合约代码拷贝,替换EncryptedToken.sol
文件的代码。
pragma solidity ^0.4.4;contract EncryptedToken { uint256 INITIAL_SUPPLY = 888888; //提供币的总量 mapping (address => uint256) balances; constructor() public { balances[msg.sender] = INITIAL_SUPPLY; } // 转账到一个指定的地点 function transfer(address _to,uint256 _amount) public { assert(balances[msg.sender] > _amount); balances[msg.sender] -= _amount; balances[_to] += _amount; } //查看指定地址的余额 function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; }} }
在migrations目录下新建2_deloy_encryptedtoken.js文件,代码如下:
var EncryptedToken = artifacts.require("./EncryptedToken.sol"); module.exports = function(deployer) { deployer.deploy(EncryptedToken); };
进入控制台:
truffle develop //进入控制台 compile //编译合约 migrate //部署合约
创建实例:
let contract = EncryptedToken.deployed().then(instance => contract = instance);
查看地址0x627306090abab3a6e1400e9345bc60c78a8bef57和0xf17f52151ebef6c7334fad080c5704d77216b732中的余额:
contract.balanceOf("0x627306090abab3a6e1400e9345bc60c78a8bef57"); contract.balanceOf("0xf17f52151ebef6c7334fad080c5704d77216b732");
转账给888个币给0xf17f52151ebef6c7334fad080c5704d77216b732:
contract.transfer("0xf17f52151ebef6c7334fad080c5704d77216b732",888);
创建项目:$ truffle init
进入truffle控制台:$ truffle develop
编译:compile
部署: migrate
第二次部署:migrate --reset
创建实例:let contract = EncryptedToken.deployed().then(instance => contract = instance);