Gibt es mit web3.js eine Möglichkeit, einen Vertrag abi json zu erhalten, wobei nur die Vertragsadresse bekannt ist?
Ich kann keinen Link mehr finden, in dem sie erklären, wie das geht. In diesem Beitrag antwortete der Typ und sagte, dass es eine Möglichkeit gibt, dies zu tun, aber es ist nicht so gut dokumentiert.
Wie kann ich das machen?
a) Sie kennen den Quellcode von Smart-Contract
programmgesteuert: siehe den Link zum Kern von Ivans Antwort
manuell: mit Remix
b) Sie kennen den Quellcode nicht, aber Smart-Contract wurde in einem der Explorer verifiziert
Verwenden Sie dann die Block-Explorer-Suche, um ABI von Smart-Contract zu erhalten. Sie können beispielsweise den verifizierten Quellcode von Smart-Contracts in BlockScout , Etherscan , Etherchain lesen
c) Sie kennen den Quellcode nicht && Vertrag ist nicht verifiziert
Sie können den Smart-Contracts-Decompiler von Panoramix verwenden , um eine partielle ABI des Smart-Contracts zu erhalten
Weitere Informationen zum Kommentar von o0ragman0o finden Sie in diesem Dokument:
https://solidity.readthedocs.io/en/v0.5.2/metadata.html
Es beschreibt, wie Vertragsmetadaten in Swarm veröffentlicht werden sollten, um eine zentralisierte (dh Etherscan) Verwaltung/Zugriff auf Vertragsmetadaten (einschließlich ABI) zu vermeiden.
Ich habe die gleiche Frage vor. Im Moment ist das nicht möglich, nur Sie können es mit Solc kompilieren. Hier ist ein Beispiel: https://gist.github.com/tomconte/4edb83cf505f1e7faf172b9252fff9bf
du kannst die abi dann immer solc aus einer datei oder direkt aufrufen. Quelle: Solcjs
o0ragman0o
o0ragman0o