橘子味的心
使用truffle框架编写简单的加密货币
使用truffle框架编写简单的加密货币
发布于:

创建项目:$ truffle init 进入truffle控制台:$ truffle develop 编译:compile 部署: migrate 第二次部署:migrate --reset 创建实例:let contract = EncryptedToken.deployed().then(instance => contract = instance);

1 创建项目

    通过truffle init

mkdir EncryptedToken
cd EncryptedToken/
truffle init

2 编写代码

    在contracts目录下新建EncryptedToken.sol文件代码,执行下面命令创建EncryptedToken.sol合约。

truffle create contract EncryptedToken

3编写合约代码

    将下面的合约代码拷贝,替换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);
};

4 代码的编译和部署

    进入控制台:

truffle develop //进入控制台
compile         //编译合约
migrate         //部署合约

5 运行合约

    创建实例:

let contract = EncryptedToken.deployed().then(instance => contract = instance);

    查看地址0x627306090abab3a6e1400e9345bc60c78a8bef57和0xf17f52151ebef6c7334fad080c5704d77216b732中的余额:

contract.balanceOf("0x627306090abab3a6e1400e9345bc60c78a8bef57");
contract.balanceOf("0xf17f52151ebef6c7334fad080c5704d77216b732");

    转账给888个币给0xf17f52151ebef6c7334fad080c5704d77216b732:

contract.transfer("0xf17f52151ebef6c7334fad080c5704d77216b732",888);

6 命令总结

创建项目:$ truffle init
进入truffle控制台:$ truffle develop
编译:compile
部署: migrate
第二次部署:migrate --reset
创建实例:let contract = EncryptedToken.deployed().then(instance => contract = instance);


阅读 0

分类

    热门排行