Go-Ethereum

如何從本地機器訪問部署在 Ropston 網路上的智能合約的 API?

  • April 19, 2019

我想從部署在 Ropsten 網路上的智能合約訪問 API。這個智能合約是由一些外部實體編寫和部署的,它們已經暴露了 API。我知道智能合約地址、solidity 文件(因為原始碼是開放的)、要呼叫的 API。我想知道通過哪種方式可以從本地機器連接 Ropsten 網路並呼叫所需的 API。

他們的文件不清楚,所以即使嘗試了多種選擇,我也無法做到。

請讓我知道是否有任何方法可以做到這一點。讓我知道是否需要任何進一步的資訊

我理解“API”是指合約功能。有幾種方法:

選項 1:MyEtherwallet(或 myCrypto):

查找合約 ABI:

solc --abi contractSourceCode.sol

轉到:https ://www.myetherwallet.com/#contracts

輸入合約地址、合約 ABI 並點擊“訪問”。您將能夠與合約進行互動

選項 2:使用geth和 Infura

在 infura.io 註冊並獲得令牌

使用 Infura 連接到 ropsten

geth attach https://ropsten.infura.io/<your-token>

現在您在 geth 控制台中:

var cont = eth.contract(<contract ABI>).at(<contract address>)

然後,您可以通過以下方式執行合約功能:

cont.functionName()

其中“functionName”是合約具有的任何功能(請注意,寫入cont.和按下tab將自動完成。

還有其他方法,但對我來說,這兩種方法是最簡單的。

如果合約在 etherscan 中得到驗證(正如你提到的它是開放的),那麼你只需轉到“寫合約”部分。並呼叫任何函式。

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