Web3js

如何從網站獲取 const 函式的返回值?

  • August 1, 2017

好的,所以我的問題是我的網站是使用 3rd 方服務託管的,所以我無法在與我的網站相同的伺服器上執行 geth。但是,我也有一個單獨的 VPS,我可以設置 nodejs 和一個 web3js 頁面或 geth 來與我的契約進行互動。

我的目標是在我的合約中呼叫一個常量函式並在我的網站上顯示結果。有沒有辦法讓我從我的網站與我的 VPS 互動並呼叫常量函式?有沒有更好的方法來解決我的問題?

如果我在我的 vps 上執行一個節點,我可以在我的網站上使用 web3js 來呼叫函式嗎?交易呢?

執行託管在 Internet 上某處的 Parity 或 Geth 節點,並將 JSON-RPC 介面公開到 Internet(HTTP 埠 8545)。確保此節點沒有附加任何密鑰,您不需要它們來使用它們。

在您的網站上,您需要通過 JSON-RPC 將 HTTP 發佈到eth_call方法. 您可以在該連結中查看 curl 範例,了解有關如何建構呼叫的詳細資訊。

但是,我建議您使用 web3、ethjs 或 parity.js 之類的幫助程序庫,而不是嘗試手動構造參數。如果您選擇走這條路,您可以在ethjs 文件中看到如何呼叫常量函式的完整範例。只需更改 ABI 以匹配您的方法的 ABI(您可以從諸如 remix 或 Solidity 編譯器輸出之類的工具中獲取)並將 HTTP 地址更改為您的節點的地址。

引用自:https://ethereum.stackexchange.com/questions/23411