智能合约开发——以太坊 DApp 实现 购买通证token

合约的buy()方法用于提供购买股票的接口。注意关键字payable,有了它买股票的人才能够付钱给你。 接收钱没有比这个再简单的了!web

function buy() payable public returns (uint) {
  uint tokensToBuy = msg.value / tokenPrice;    
  require(tokensToBuy <= balanceTokens);        
  voterInfo[msg.sender].voterAddress = msg.sender;    
  voterInfo[msg.sender].tokensBought += tokensToBuy;  
  balanceTokens -= tokensToBuy;                
  return tokensToBuy;                          
}

当用户(或程序)调用合约的buy()方法时,须要在请求消息里利用value属性设置 用于购买股票通证的以太币金额。例如:ui

contract.buy({
  value:web3.toWei('1','ether'), 
  from:web3.eth.accounts[1]      
})

在合约的payable方法实现代码中使用msg.value来读取用户支付的以太币数额。 基于用户支付额和股票通证单价,就能够计算出购买数量,并将这些通证赋予购买人, 购买人的帐户地址能够经过msg.sender获取。code

推荐这个,适合新手的以太坊DApp开发教程:教程

http://www.dwz.cn/7zBqC2token

相关文章
相关标签/搜索