Solidity 如何在没有显式逻辑的情况下调用接口中定义的函数?

问题描述 投票:0回答:1

当我在AggregatorV3接口中没有定义任何逻辑时,这个solidity函数如何返回值

4

 function getVersion() public view returns (uint256) {
        return AggregatorV3Interface(0x694AA1769357215DE4FAC081bf1f309aDC325306).version();
    }

我正在尝试使用 chainlink 合约的聚合器功能,但有点困惑它是如何工作的。

ethereum solidity smartcontracts
1个回答
0
投票

接口定义其他合约必须实现的函数签名(名称、输入类型和返回类型)。它们用于确保合同遵守一组特定的规则或交互。将界面视为必须遵循的工作描述,但没有工作如何完成的详细信息。想想送货司机。必须遵循其工作描述:

  • 获取包裹:领取包裹。

  • 驾车前往地点:驾驶车辆前往送货地点。

  • 交付包裹:移交包裹。

公司并不关心每个司机如何完成这些任务,只要他们做到了。有些司机可能使用汽车,而其他司机可能使用自行车或踏板车。

地址(0x694AA1769357215DE4FAC081bf1f309aDC325306)是合约部署在区块链上的位置。以太坊上的每个智能合约都有一个唯一的地址,就像网站有一个唯一的 URL 一样。

虽然接口本身不提供函数实现,但它告诉您可以在该合约上调用哪些函数以及这些函数期望的参数或返回值类型。界面就像合约的“用户手册”。

© www.soinside.com 2019 - 2024. All rights reserved.