【问题标题】:Can I query a Near contract for its method signatures?我可以查询 Near 合约的方法签名吗?
【发布时间】:2021-04-12 14:10:12
【问题描述】:

有没有办法查询给定的 NEAR 合约提供了哪些方法? (例如,这样就可以自动发现某些标准接口。)或者您是否必须在与合约交互之前已经知道方法签名?

【问题讨论】:

    标签: method-signature nearprotocol autodiscovery


    【解决方案1】:

    还没有。目前所有的合约方法都有相同的签名。 () -> () 没有参数,也没有返回任何内容。每个方法都有一个包装函数,用于反序列化来自主机的输入字节;调用方法;并序列化返回值并将字节传回主机。

    这是通过inputvalue_return 完成的。见input.

    计划将二进制文件中方法的实际签名包含在一个特殊部分中,这将解决这个问题。

    【讨论】:

      【解决方案2】:

      目前没有。

      您需要知道哪些合约方法可用才能与部署在 NEAR 上的智能合约进行交互。希望在不久的将来能够添加查询可用方法的功能。

      【讨论】:

        【解决方案3】:

        我想你可以在自己的合约中包含一个方法,以某种有用的格式返回其他方法签名:json 或其他

        您可能必须编写一些单元测试来使用此方法来锻炼所有其他方法,以确保它保持最新

        我想这个接口(方法和单元测试)可以在短期内标准化为 NEP,直到我们的接口变得可发现。任何遵守此 NEP 的合同都必须包含此“经过测试的反射方法”或“文档方法”或其他任何名称

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-07-19
          • 2022-01-16
          • 2017-03-22
          • 2021-06-04
          • 2022-08-21
          • 1970-01-01
          • 2022-06-23
          • 1970-01-01
          相关资源
          最近更新 更多