Dapp开发以太坊- Ethereum

以太坊开发(六)使用Browser-solidity编写基于账户

2018-02-28  本文已影响394人  yuyangray
pragma solidity 0.4.9;
contract Token {
  mapping (address => uint) public balancesOf;
  function Token() {
    balancesOf[msg.sender] = 10000;
  }
}
pragma solidity 0.4.20;

contract Token {

    mapping(address => uint) public balancesOf;
    // 设置一个owner, 保存下创建合约的msg.sender, 记录下创建者的地址
    address public owner;

    function Token(){
        owner = msg.sender;
        balancesOf[msg.sender] = 10000;
    }

    function transfer(address to, uint value){
        //避免转移出去的代币超过当前的存货
        if(balancesOf[msg.sender] < value){
            throw;
        }
        //避免自己调用自己,或者递归调用
        if(balancesOf[to] + value < balancesOf[to]){
            throw;
        }
        balancesOf[msg.sender] -= value;
        balancesOf[to] += value;
    }

    // 给合约的owner增加我们定义的代币。从而让其方便的分给别人
    function mint(uint amount){
        balancesOf[owner] += amount;
    }
}

在Browser-solidity上运行:

第一个红框处,Token at表示的是智能合约的地址。点击owner显示的是创建合约的账户地址。

将账户地址复制粘贴到红框处查看余额。注意一定要加"",否则显示余额为0。

  1. 输入金额点击mint为账户增加5000余额。
  2. 查看余额:15000。
  3. 向账户"0xccccc"转账7000。
  4. 查看余额:8000.

参考:区块链学堂(14):Browser-solidity 5–Token基于账户的代币合约
作者:以太中文网

上一篇 下一篇

猜你喜欢

热点阅读