Vertrag funktioniert im Remix, aber nicht, wenn er im Ropsten-Testnetzwerk bereitgestellt wird

Der Vertrag liegt mit dem Schlüsselwort var in solidity vor. Was soll anstelle des Schlüsselworts var verwendet werden?

Im Remix funktioniert es. Mit Remix habe ich den Vertrag im Ropsten-Testnetzwerk bereitgestellt, aber wenn ich versuche, den Vertrag zu validieren, erhalte ich nicht die erwartete Ausgabe.

Zuerst werde ich Benutzer hinzufügen und dann den Benutzer anzeigen, um zu sehen, wie viele er hat. Benutzer hinzufügen:Benutzer hinzufügen

Benutzer anzeigen:Benutzereingabe anzeigen

Benutzerausgabe anzeigen:Geben Sie hier die Bildbeschreibung ein

In Ropsten kann ich manchmal wegen hohem Gas nicht einsetzen. Manchmal bekomme ich nicht die gleiche Benutzerausgabe wie in Remix. Kann mir jemand helfen, wie ich diesen Smart Contract in einer Testumgebung einsetzen und die gleiche Ausgabe wie im Remix erhalten kann?

Auch in Rinkeby versucht, aber nicht in der Lage, die Ausgabe wie in Remix zu erhalten? irgendetwas stimmt mit meinem Vertrag nicht. Unterhalb wird ausgegeben, was ich im Rinkeby-Testnetzwerk bekomme.Rinkeby ViewBenutzerausgabe

Wenn es nicht klar ist, wo, lassen Sie es mich bitte wissen. Danke.

Hallo, hat das später funktioniert?

Antworten (1)

Ropsten hat einige Probleme:

  • Ein PoW-Testnetz ist so schwer zu warten, weil Sie viel Strom und GPU/CPU aufwenden, um gefälschte Äther zu erhalten, die keinen Wert haben.
  • Aufgrund des Problems von Punkt 1 gibt es nicht viele Miner im Testnetz, die sich korrekt verhalten , und mehrere Angriffe waren erfolgreich, da es nicht so schwer ist, die 51% der Rechenleistung des Testnetzes zu erreichen . Hier haben Sie einen Artikel, in dem Sie einige davon lesen können: https://www.reddit.com/r/ethdev/comments/71dojd/ropsten_is_currently_under_attack/
  • Aus diesem Grund schienen andere Testnetze mit PoA oder PoS Entwicklern das sichere und problemlose Testen ihrer Smart Contracts zu ermöglichen .

Meine Empfehlung lautet also: Testen Sie den Vertrag auf einem anderen Testnet wie Rinkeby (PoS) oder Kovan (PoA) und Sie werden sicher sein, dass das Problem in Ihrer Bereitstellung liegt und kein Testnet-Problem.

Machen Sie sich keine Gedanken über die Vertragsfunktionalität, es wird die gleiche sein , der einzige Unterschied ist, dass die Transaktionen schneller als in Ropsten ablaufen, da der Beweisalgorithmus anders ist.

Hier haben Sie einige Informationen über PoS und PoA, wenn Sie daran interessiert sind:

https://bitfalls.com/2018/02/08/what-is-an-ethereum-testnet-and-how-is-it-used/

Es gibt auch Links zu seinen Wasserhähnen, um gefälschten Ether zu bekommen, um Ihre Verträge zu testen.

Ich hoffe es hilft.

Danke für deinen Beitrag. Ich habe dasselbe im Rinkeby-Testnetzwerk versucht und habe immer noch das gleiche Problem. kann jemand eine Anleitung geben, wenn mein Vertrag falsch ist? oder auf etwas anderes bezogen.
Kannst du den Code des Vertrages posten?
Hallo CPereez, der Code ist unter ethereum.stackexchange.com/questions/48755/… vorhanden . Bitte lassen Sie es mich wissen, wenn Sie Fragen haben.