Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

192
Visualizações
Cómo implementar múltiples contratos con Truffle

Intento implementar múltiples contratos en Truffle para aprender cómo funciona.

Este es el código:

 //SPDX-License-Identifier: MIT pragma solidity 0.8.11; contract first{ string public name; string public symbol; uint public totalSupply; mapping(address=>uint) public balances; function setAll(string memory _name, string memory _symbol, uint _totalSupply)public virtual{ name = _name; symbol = _symbol; totalSupply = _totalSupply; } function mint()public{ balances[tx.origin] += 1; totalSupply -= 1; } } contract second { string public name; string public symbol; uint public totalAmount; address public _first; constructor(address fiirst){ _first = fiirst; } function set(string memory _name, string memory _symbol, uint _totalAmount)public{ first _fir = first(address(_first)); _fir.setAll(_name, _symbol, _totalAmount); _fir.mint(); _totalAmount -= 1; name = _name; symbol = _symbol; totalAmount =_totalAmount; } }

Esto es deployment_contratos.js:

 const first = artifacts.require("first"); module.exports = function (deployer) { deployer.deploy(first, "BABACOIN", "BAB", 3000); }; const second = artifacts.require("second"); module.exports = function (deployer) { const addContract = first.address; deployer.deploy(second, addContract); };

¿Cómo puedo pasar la dirección del primer contrato para implementar el segundo?

Intenté first.address pero obtengo un error.

Una vez que implemento el contrato, ¿cómo puedo establecer una dirección de Ganache diferente para interactuar con el contrato en la consola de Truffle?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puedes intentar usar:

 const first = artifacts.require("first"); const second = artifacts.require("second"); module.exports = async function (deployer) { await deployer.deploy(first, "BABACOIN", "BAB", 3000); await deployer.deploy(second, first.address); };

Las declaraciones a continuación se tomaron de MDN Web Docs: Facilitar la programación asíncrona con async y await .

Aquí, la palabra clave async se agrega a las funciones para indicarles que devuelvan una promesa en lugar de devolver directamente el valor.

Puedes leer sobre promesa aquí - Promesa .

await se puede colocar delante de cualquier función asíncrona basada en promesas para pausar el código en esa línea hasta que se cumpla la promesa y luego devolver el valor resultante.

Es por eso que el código funciona ahora.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda