2015-10-07 52 views
2

我有兩個合同說A和B,兩個節點運行在不同的機器Machine1和Machine2具有相同的網絡ID,我已經添加節點使用節點url。合同A由機器1部署在區塊鏈中,合同B由機器2部署。現在我想從機器2和機器1訪問合同A的功能,並從機器2和機器1訪問合同B的功能。如何訪問功能如何從不同的節點訪問合同的功能?

回答

1

要生成阿比轉到https://etherchain.org/solc,把你的合同代碼,並獲得ABI

使用VAR合同= eth.contract(ABI)。在(contractaddress)

替換ABI,並與ABI和地址地址的合同。

這將允許您訪問合同。

1

以太坊區塊鏈是一個分佈式應用程序平臺。這意味着合同代碼不會部署到特定節點;而是將其部署到每個節點都有副本的分佈式賬本(假設每個節點已與其餘網絡達成共識)。同樣,當您調用合約函數時,至少在您的網絡中正在積極挖掘(驗證事務)的那些節點上執行函數調用。

通過向網絡廣播交易創建合同。部署合同的功能也通過廣播交易來調用。

準備創建合同的交易將返回合同的地址。該地址引用區塊鏈上合同的唯一位置;把它記錄下來。當您將該交易發送到區塊鏈時,請等待當前區塊被挖掘。一旦發生這種情況,所有節點都應在幾毫秒內擁有代碼副本,然後處理那些調用該合同中函數的事務。

創建合同後,請準備另一個調用函數的交易,並將之前記錄的合同地址稱爲交易的接收方。然後,將此事務廣播到網絡。首先哪個節點接收事務並不重要。最終,在交易開始後不久,網絡中的所有節點都將具有更新的區塊鏈狀態,以反映由函數調用導致的任何更改。

相關問題