Siehe Vertragscode in Meta Mask oder/und Ganache

Ich habe einen Mustervertrag in meinem Browser eingerichtet Ganacheund bereitgestellt. Meta MaskFolgen Sie einfach den Schritten unter https://truffleframework.com/tutorials/pet-shop .

Soweit ich herausgefunden habe, Ethereumsollte ich (als Benutzer) den Vertrag sehen können, bevor ich eine Transaktion bestätige.

Nun zurück zur Lernumgebung ( Gancheund Meta Mask):

  • Ist es möglich, Meta Maskden aktuellen Vertrag einzusehen?
  • Ist es möglich, Ganacheden aktuellen Vertrag einzusehen?

Antworten (1)

Wenn Sie den Vertragsquellcode meinen, ist er nicht über Metamask oder Ganache verfügbar.

Schauen Sie hier: Sondervorgang: Vertragserstellung

Wenn Sie eine Transaktion einreichen, um einen Vertrag auf der Blockchain zu erstellen, senden Sie nur den kompilierten Bytecode des Vertrags. Dies reicht aus, damit die Ethereum Virtual Machine versteht, was zu tun ist, wenn das Programm ausgeführt wird, ist aber nicht für Menschen lesbar.

Dienste von Drittanbietern wie Etherscan.io bieten Benutzern die Möglichkeit, den Quellcode für einen bestimmten Vertrag einzufügen und zu überprüfen, ob er mit dem Bytecode übereinstimmt, aber dies ist alles außerhalb der Blockchain.

Abgesehen davon haben Sie bei der Interaktion mit einem Vertrag nur Zugriff auf die Vertrags-ABI , die für Menschen lesbar ist, aber nicht das spezifische Innenleben der Funktionen definiert.