Solidity Test - das sind die Variablen und Schlüsselwörter hier drüben

Kann mir jemand helfen zu verstehen, was hier passiert? Ich verstehe, dass der Vertragsname TestAdoption ist , aber danach – was ist das erste Wort „Adoption“? Das zweite Wort „Adoption“. Ich bestätige und nehme zur Kenntnis, dass mein Vertrag als "Adoption" definiert wurde - das erste Wort sollte also dieser Vertrag sein. Aber womit wird dann die Variable gleichgesetzt (gesetzt)?

contract TestAdoption {
  Adoption adoption = Adoption(DeployedAddresses.Adoption());
  }

Hier ist der Link, den ich studiert habe: http://truffleframework.com/tutorials/pet-shop

Adoptionist der Typ der Variablen. adoptionist die Variable. Adoption(...)wandelt den Wert in den Typ um Adoption. DeployedAddresses.Adoption()ist vermutlich ein Truffle-Ding ... das die Adresse des bereitgestellten Vertrags zurückgeben muss.

Antworten (1)

Adoption adoption = Adoption(DeployedAddresses.Adoption());

Das erste Schlüsselwort, Adoption, deklariert nur den Typ der Variablen (in diesem Fall eine Instanz des Kontakts „Adoption“, der an anderer Stelle definiert wurde).

Die zweite, adoption, benennt nur diese Variable. Man könnte es alles nennen.

Dann sagt die Funktion Adoption( someAddress ): „Die bereitgestellte Instanz des AdoptionVertrags abrufen unter someAddress.

Ich bin mir nicht sicher, was das genau bewirkt, DeployedAddresses.Adoption()da Sie in Ihrer Frage nirgendwo DeployedAddresses definiert haben. Was auch immer es ist, es wird die Adresse des bereitgestellten AdoptionVertrags zurückgegeben, da die Adoption()Funktion eine Adresse als Argument akzeptiert.