Abi

ABI 的字節碼版本

  • April 5, 2021

我想知道除了 ABI 的 Json 表示之外,是否還有相同介面的字節編碼和緊湊版本。Json 是人類可讀的,但在某些情況下它只是一種矯枉過正。

出於某些目的,擁有更緊湊的 ABI 格式是有意義的,例如,如果您希望將其編碼為 URL 參數,就像在 Ethereum Event Scan 的此連結中一樣:

https://ethereum-event-scan-stg.cert4trust.de/?abi=eJylkzFPwzAQhf%2FLzZmQYMhaBpZuiKWK0NW5BkvuObLPCVHV%2F44DjZ20QlRhtP383b3n8%2B4EmtsgHspdVUCLA%2B4NQXlA46kALyi0DYJ7bbQMUAJbnkQFyNBGLSjLXlxQYh2cixNgFA1HG3zipBpjuZo%2BqZ4dCTlG8%2FrDwrp25H2EMx7HjXfbM7lcbBKMhf5gxaY0NxnVkfPacmZdBOcqSTbZyrPlmUfqiOXf7kJcPzw%2B5ZaUDRGbqkznd5i7DUo5wvEJ1kT1Cy1euKUt0hKHSjbX2pzW92xgXJQx1nlWmdKQJNAlDhtkFum6CO8a505Tn%2B8eAisZJ2TZ%2BfUz59aZ%2Bhf0H29oAm2RsSE3WVm4WP21ckfVF9GqRcY%3D&contract=0x73b69304Ea866a8d4baE183d8728BFf35AD4d19B&provider=https:%2F%2Fleopold-node3-rpc-stg.cert4trust.de&refresh=true&dark=true

讀取參數api可以分兩步:

  1. 解碼base64
  2. 解壓

您可以在 typescript here中找到用於編碼和解碼 ABI 的範例實現

人們使用的一般約定只是刪除 ABI 的 JSON 版本上的空白,如果有幫助,將其全部放在一行上。

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