我想知道是否可以在智能契约中查询(发现)智能契约。例如,我希望找到一个具有某些名称和/或参数的智能契约,然后调用它。这有可能吗?
发布于 2017-04-24 10:33:39
契约可以调用另一个任意的契约,知道它的地址和要调用的函数的函数签名。
还可以订立一个合同,作为其他合同的数据库,并在发送某种搜索参数时返回合同地址和函数签名。
这两件事合在一起将满足所述的要求。然而,我不知道有谁会做后一件事,我无法想象它会有多大的用处。
对于采用已知参数的未指定合同来说,一种常见的模式是:
例如,合同可能允许您为任何ERC20令牌出售歌曲。( ERC令牌是一个契约,具有与ERC20 20令牌标准匹配的接口。)卖方将查找合同地址,以获取他们想要出售的歌曲,以便使用他们选择的网站,并将其传递给卖方合同,以及歌曲ID和该标记中的价格。稍后,当买方出现时,卖方合同将调用其预期的接口,在本例中为transferFrom()方法,以完成销售的付款。
这种模式之所以有效,是因为用户能够浏览互联网,并使用常识来决定使用什么是好合同(在本例中是象征性的),因此他们不需要智能契约才能为他们服务。
https://ethereum.stackexchange.com/questions/15460
复制相似问题