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

How can i access the function of contract from different nodes?

我有两个合同,比如 A 和 B,两个节点 运行 在不同的机器 Machine1 和 Machine 2 中具有相同的网络 ID,我已经使用节点 url 添加了对等点。合约 A 由 machine1 在区块链上部署,合约 B 由 machine2.Now 部署 我想从机器 2 和机器 1 访问合约 A 的功能,并从机器 2 和机器 1.How 访问合约 B 的功能可以我访问功能

要生成 Abi 转到 https://etherchain.org/solc 并放置你的合约代码并获取 abi

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

用合约的ABI和地址替换abi和address。

这将允许您访问合同。

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

合约是通过向网络广播交易创建的。部署合约上的函数也可以通过广播交易来调用。

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

创建合约后,准备另一个调用函数的交易,引用您之前记录的合约地址作为交易的接收者。然后,将此交易广播到网络。哪个节点先收到交易并不重要。最终,在交易被挖掘后不久,网络中的所有节点都将更新区块链状态,以反映函数调用导致的任何变化。