En la documentación de Truffle, se dice DeployedAddresses.sol
cómo Truffle identifica y almacena las direcciones de los contratos publicados en la cadena de bloques a través de truffle migrate
.
¿Cómo funciona este archivo y qué aspecto tiene? Si publico un Adoption
contrato, ¿cómo sabe Truffle que la palabra Adoption
en truffle console
se refiere a ese contrato?
Buena pregunta Por lo que yo sé. Truffle almacenará la dirección de su contrato en el archivo build/contacts/[CONTRACT.json]
Truffle mapeará la dirección del contrato bajo el objeto json de red con índice.
"networks": {
"1": {
"events": {},
"links": {},
"address": "0x77685437e762aaa90d4b6924aa9445c1198013f1"
}
},
"schemaVersion": "1.0.1",
"updatedAt": "2018-02-16T10:49:18.298Z"
}
Si elimina el archivo json, creará un nuevo archivo json con una nueva identificación de contrato.
Cuando ejecutas migrate/console, truffle referirá tu archivo [CONTRACT.json] con la red y la dirección correspondientes.
Truffle requiere que defina Migraciones creando un implementador para el contrato de Adopciones.
Por ejemplomigrations/2_deploy_contracts.js
var Adoption = artifacts.require("Adoption");
module.exports = function(deployer) {
deployer.deploy(Adoption);
};
Construir el contrato con truffle build
también crea un archivo JSON build/contracts/Adoption.json
que contiene todos los metadatos requeridos.
DeployedAddresses.sol se crea en tiempo de ejecución por truffle cuando ejecuta pruebas.
Consulte también: https://github.com/trufflesuite/truffle/issues/471#issuecomment-315166855
mandar vaze
kiecodes