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
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 Adoption
Vertrags 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 Adoption
Vertrags zurückgegeben, da die Adoption()
Funktion eine Adresse als Argument akzeptiert.
Benutzer19510
Adoption
ist der Typ der Variablen.adoption
ist die Variable.Adoption(...)
wandelt den Wert in den Typ umAdoption
.DeployedAddresses.Adoption()
ist vermutlich ein Truffle-Ding ... das die Adresse des bereitgestellten Vertrags zurückgeben muss.