Prueba de solidez: cuáles son las variables y palabras clave aquí

¿Alguien puede ayudarme a entender lo que está pasando aquí? Entiendo que el nombre del contrato es TestAdoption , pero después de eso, ¿cuál es la primera palabra "Adopción"? La segunda palabra "adopción". Reconozco y observo que mi contrato se ha definido como "Adopción", por lo que la primera palabra debe ser ese contrato. Pero entonces, ¿a qué se equipara (establece) la variable?

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

Aquí está el enlace, que he estado estudiando: http://truffleframework.com/tutorials/pet-shop

Adoptiones el tipo de la variable. adoptiones la variable. Adoption(...)convierte el valor en el tipo Adoption. DeployedAddresses.Adoption()es presumiblemente una cosa de Trufa... que debe devolver la dirección del contrato desplegado.

Respuestas (1)

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

La primera palabra clave, Adoption, simplemente declara el tipo de variable (que en este caso es una instancia del contacto de "Adopción" que se ha definido en otro lugar).

El segundo, adoptiones solo nombrar esa variable. Podrías llamarlo cualquier cosa.

Luego, la función Adoption( someAddress )dice "recuperar la instancia implementada del Adoptioncontrato en someAddress.

No estoy seguro de qué hace exactamente esto, DeployedAddresses.Adoption()porque no ha definido DeployedAddresses en ninguna parte de su pregunta. Pero sea lo que sea, devolverá la dirección del Adoptioncontrato desplegado, porque la Adoption()función toma una dirección como argumento.