es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Estoy teniendo un error: “Bandeja de entrada” – Número inválido de parámetros para “indefinido”. Se esperaba 1 y se recibió 0.

Estoy escribiendo un contrato inteligente simple llamado ‘inbox.sol’. Estoy usando el marco de trabajo de truffle para probar e implementarlo en la red de rinkeby utilizando la API de Infura. Estoy teniendo este error. Por favor ayuda. Soy principiante.

Este es el contrato implementado en migración: Enlace

Este es el código de mi contrato inteligente: Enlace

Este es el error que obtuve: Enlace

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    En primer lugar, el error que estás experimentando sugiere que hay un problema con tu script de implementación en tu archivo 2_deploy_contracts.js. Específicamente, parece que hay un problema con la variable deployer a la que estás tratando de hacer referencia en la línea 3.

    Para solucionar este error, debes asegurarte de que la variable deployer esté correctamente definida dentro de tu archivo 2_deploy_contracts.js. Puedes hacer esto importando la variable deployer desde el módulo truffle y luego usándola para implementar tu contrato inbox en la red Rinkeby a través de Infura.

    Aquí tienes una versión actualizada de tu archivo 2_deploy_contracts.js que debería funcionar:

    const Inbox = artifacts.require("Inbox");
    
    module.exports = async function(deployer, network) {
      if (network === "rinkeby") {
        const infuraKey = "Tu ID de Proyecto Infura Aquí";
        await deployer.deploy(Inbox);
        const inbox = await Inbox.deployed();
        console.log("Contrato implementado en:", inbox.address);
      } else {
        console.log("Este script de implementación es solo para la red Rinkeby");
      }
    };
    

    Ten en cuenta que estamos importando el contrato Inbox desde la carpeta artifacts utilizando artifacts.require(), y luego usando la variable deployer para implementar el contrato en la red Rinkeby. También agregamos una verificación para la red Rinkeby para que el script de implementación solo se ejecute en esa red.

    Asegúrate de reemplazar la variable infuraKey en la declaración if con tu propio ID de proyecto de Infura.

    Después de hacer estos cambios, intenta ejecutar el script de migración nuevamente con la bandera --network rinkeby y verifica si la implementación es exitosa.

Comments are closed.