背景: 以太坊专用网络中有四个节点。这些节点通过牢固编写的智能合约进行通信。例如,节点Alice将数据写入名为DataContract的智能合约中并将其发送到以太坊网络。节点Bob会检测到DataContract,并在DataContract中调用函数foo以获取数据。 Foo仅是节点Bob读取数据的固定名称。
我的困惑: 我已经搜索了Internet,但是所有答案都是在阅读合同后写一些代码,这对我来说是不可能的,因为在我的场景节点中,Bob无法手动阅读合同。
所以我的问题如下: 1.节点如何从以太坊网络中检测到新合约? 2.检测到新合同后,节点Bob如何自动调用新合同中的功能?
答案 0 :(得分:0)
您可以在创建新合同NewContract(address)
时生成事件。侦听区块链此类事件的节点将得到通知,并可以在确认后执行操作。
如果合同共享一个公共接口,那么任何客户端都可以调用该合同。例如,如果新合同是ERC20令牌,那么客户可以拨打电话以获取余额或批准转帐。