建议和反馈

请填写你的反馈内容

问答 > 以太坊 > 问答详情

如何从不同节点访问合约功能?10LK

我有两个合同说A和B,两个节点在不同的机器Machine1和机器2中运行,具有相同的网络ID,我使用节点url添加了对等体。合同A由机器1部署在区块链上,合同B由机器2部署。现在我想从机器2和机器1访问合同A的功能,并且还从机器2和机器1访问合同B的功能。如何访问功能呢?

2019-08-13
0
请先登陆或注册

区块链技术2019-08-13

要生成Abi goto https://etherchain.org/solc并放置合同代码并获取abi

使用var contract = eth.contract(abi).at(contractaddress)

用ABI和合同地址替换abi和地址。

这将允许您访问合同。


投一票
评论(0)
赞赏(0)
heart2019-08-15

正常访问即可,因为会互相同步,合约地址+abi

投一票
评论(0)
赞赏(0)
nesta2019-08-13

以太坊区块链是一个分布式应用平台。这意味着合同代码未部署到特定节点; 相反,它被部署到一个分布式分类账,每个节点都有一个副本(假设每个节点已与网络的其余部分达成共识)。同样,当您调用契约函数时,函数调用至少在网络中正在主动挖掘(验证事务)的节点上执行。

通过向网络广播交易来创建合同。部署合同上的功能也通过广播交易来调用。

准备创建合同的交易将返回合同的地址。该地址引用区块链上合同的唯一位置; 记录下来。将该事务发送到区块链时,请等待当前块被挖掘。一旦发生这种情况,所有节点都应该在几毫秒内拥有代码的副本,然后可以处理调用该合同中的函数的事务。

创建合同后,准备另一个调用函数的事务,引用您先前记录的合同地址作为事务的接收者。然后,将此事务广播到网络。首先接收事务的节点无关紧要。最后,在事务被挖掘后不久,网络中的所有节点都将具有区块链的更新状态,该状态反映了函数调用产生的任何更改。


投一票
评论(0)
赞赏(0)

求助中

解决了这个问题,预计可以帮助到

  • 0
  • 3
  • 8
  • 4
  • 5
邀请

感谢您的善举,每一次解答会成为新人的灯塔,回答被采纳后获得20算力和相应的LK币奖励