zoukankan      html  css  js  c++  java
  • 智能合约开发——以太坊 DApp 实现 购买通证token

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

    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属性设置 用于购买股票通证的以太币金额。例如:

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

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

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

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

  • 相关阅读:
    JavaScript
    CSS
    HTML5&CSS
    I2C mux和复杂拓扑
    如何实例化I2C设备
    SMBus 协议
    I2C 协议
    I2C和SMBus简介
    ubuntu20.04系统下更新Raspberry Pi4的DTB
    通过configfs配置的Linux USB gadget
  • 原文地址:https://www.cnblogs.com/jasonnode/p/8623569.html
Copyright © 2011-2022 走看看