Dapps

如何只用字節碼和 ABI 測試別人的 ETH 合約?

  • May 6, 2020

如果我只有別人的 ETH 合約字節碼 ABI,我該如何測試它的功能?

您必須學習web3.jsweb3.py才能使用 abi 和字節碼與合約進行互動。您還需要知道該合約的方法或變數才能使用或呼叫它們,否則您需要查看 abi 以查看方法和變數。

字節碼包含所有功能。ABI 告訴函式名稱是什麼以及它們的簽名是什麼。因此,將這兩者結合起來,您可以呼叫真正的合約——如果您只是要呼叫合約的話。

因此,您需要的是一個本地區塊鏈(例如 Ganache)實例,您可以在其中部署字節碼。之後,使用 ABI,您可以呼叫合約並對其進行測試。

本地實例的問題在於您沒有與原始合約相同的狀態 - 但如果您只有字節碼和 ABI,您無論如何都不知道狀態。您將需要所有交易來計算目前狀態。但是,根據您的要求,您可以使用空(預設)狀態測試契約。

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