Wie verwende ich die Bibliothek mit 1 Datei auf Browser-Stabilität?

Ich nutze Browser Solidity. Jetzt möchte ich diesen C-Vertrag erstellen.Geben Sie hier die Bildbeschreibung ein

Aber auf der rechten Seite des Bildes wird die Meldung „Bereitstellen und Liken erforderlicher Bibliotheken“ angezeigt. Ich habe Math Library bereits erstellt und kann Math Library erstellen, aber ich nehme diese Nachricht entgegen.

Was mache ich, um einen C-Vertrag für die Browsersolidität zu erstellen?

Nachtrag: Das ist meiner Meinung nach die Ursache im Bytecode.Geben Sie hier die Bildbeschreibung ein

Es gibt "__Math:Math_______________________________" im Bytecode. Ich denke, ich sollte diesen Text durch die Adresse der Math Library ersetzen, aber ich kann den Bytecode bei der Browsersolidität nicht ändern. Weiß jemand wie man es löst?

Antworten (1)

Ich habe dein Beispiel nachgebaut und es funktioniert gut für mich. Ich habe die folgenden Varianten getestet, um sie ohne Erfolg zu reproduzieren. Beachten Sie, dass ich dasselbe (73__Math:Math_____________________________6377) in meinem Bytecode habe.

  • Benennen Sie die Datei nicht Math, um Verwechslungen mit dem Namen der Bibliothek zu vermeiden.
  • anderes Pragma haben
  • Ändern von Funktions- und Vertragsnamen
  • Ändern der Compiler-Version

Also bei mir funktioniert alles einwandfrei.

Versuchen Sie also Folgendes:

  • Schließen Sie Ihren Browser und löschen Sie Ihren Cache und versuchen Sie es erneut: Der Solidity-Browser hat einige Angewohnheiten, nicht vollständig stabil zu sein
  • Gehen Sie in den Konsolenmodus und führen Sie die Kompilierung direkt mit solc aus, um zu überprüfen, ob das Problem nicht in Ihrem Code und nicht in der Solidität liegt
  • Entfernen Sie nach und nach Elemente des Codes (Stück für Stück) und versuchen Sie jedes Mal, den Vertrag neu zu kompilieren und zu erstellen, um festzustellen, welcher Codeabschnitt das Problem verursacht.

Jetzt, da ich die Grundlagen der Solidität gelernt habe, verwende ich persönlich den Browser nicht mehr (nur für schnelle Tests), sondern ich verwende die XCode IDE von Mac OS mit dem benutzerdefinierten Solc Builder.

Viel Glück und lass uns die Ergebnisse wissen.

Es ist mir gelungen. Ich kann diesen Vertrag mit Browser-Festigkeit im Web verwenden. Ich kann diesen Vertrag mit Browser Solidity auf dem PC nicht verwenden. Wenn ich Browser Solidity auf dem PC verwende, erhalte ich eine Fehlermeldung „TypeError: undefined is not an object (evaluating ‚address.toString‘)“. Vielleicht ist das die Ursache, aber ich kann es jetzt nicht lösen.