首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回值的应付函数:这个例子什么时候实用?

返回值的应付函数:这个例子什么时候实用?
EN

Ethereum用户
提问于 2020-01-20 09:00:36
回答 1查看 103关注 0票数 2

引用书中的一个例子:

代码语言:javascript
复制
contract StockPriceOracle {
  uint quoteFee = 500;
  mapping (string => uint) private stockPrices;

  //...

  function getStockPrice(string _stockTicker) payable returns (uint _stockPrice) {
    if (msg.value == quoteFee) {
      //...
      _stockPrice = stockPrices[_stockTicker];
    } else {
      revert();
    }
  }
}

有一个返回值的payable函数。如果我错了,请纠正我,但据我所知,这个例子没有任何实际意义。为了使调用者能够检索所需的信息(股票价格),函数必须发出一个事件。或者,上面的代码实际上是实用的吗?

EN

回答 1

Ethereum用户

回答已采纳

发布于 2020-01-20 09:05:03

为了使调用者能够检索所需的信息(股票价格),函数必须发出一个事件。

例如,对于非链式来电者来说是这样的:

  • Web3.js脚本
  • Web3.py脚本
  • MyEtherWallet
  • 混炼

或者,上面的代码实际上是实用的吗?

是的,它(返回的值)对于链上调用者是实用的,例如:

  • 同一合同中的一种功能
  • 其他合同中的一种功能

请注意,函数的访问级别(public/private/external/internal)在限制此处允许哪些调用方类型方面也发挥了作用。

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/79123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档