首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在智能契约中查询智能契约?

是否可以在智能契约中查询智能契约?
EN

Ethereum用户
提问于 2017-04-24 06:51:31
回答 1查看 309关注 0票数 2

我想知道是否可以在智能契约中查询(发现)智能契约。例如,我希望找到一个具有某些名称和/或参数的智能契约,然后调用它。这有可能吗?

EN

回答 1

Ethereum用户

发布于 2017-04-24 10:33:39

契约可以调用另一个任意的契约,知道它的地址和要调用的函数的函数签名。

还可以订立一个合同,作为其他合同的数据库,并在发送某种搜索参数时返回合同地址和函数签名。

这两件事合在一起将满足所述的要求。然而,我不知道有谁会做后一件事,我无法想象它会有多大的用处。

对于采用已知参数的未指定合同来说,一种常见的模式是:

  • 定义一个接口(一个函数签名),并使您的合同能够为某些特定的任务调用它。
  • 允许用户指定地址并将其作为参数传递给您的契约,并让您的契约使用预期的接口在指定的地址调用另一个契约。

例如,合同可能允许您为任何ERC20令牌出售歌曲。( ERC令牌是一个契约,具有与ERC20 20令牌标准匹配的接口。)卖方将查找合同地址,以获取他们想要出售的歌曲,以便使用他们选择的网站,并将其传递给卖方合同,以及歌曲ID和该标记中的价格。稍后,当买方出现时,卖方合同将调用其预期的接口,在本例中为transferFrom()方法,以完成销售的付款。

这种模式之所以有效,是因为用户能够浏览互联网,并使用常识来决定使用什么是好合同(在本例中是象征性的),因此他们不需要智能契约才能为他们服务。

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

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

复制
相关文章

相似问题

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