Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

153
Vistas
¿Cómo transferir ERC20 a contrato desplegado con trufa?

Estoy usando trufa para implementar un conjunto de contratos inteligentes.

Estos contratos deben financiarse con un token ERC20 (LINK). La cuenta que está implementando los contratos tiene LINK y debe transferir una cantidad al contrato.

 const DemoNFT = artifacts.require("./DemoNFT.sol"); const IdentityProvider = artifacts.require("./IdentityProvider.sol"); const Web3 = require("web3"); const allConfigs = require("../config.json"); const linkABI = require("../abi/link.abi"); module.exports = async function(deployer, network) { const config = allConfigs[network.replace(/-fork$/, '')] || allConfigs.default; const provider = await IdentityProvider.deployed(); const linkToken = new web3.eth.Contract(linkABI, config.token); for (let i = 0; i < config.nfts.length; i++) { const settings = config.nfts[i]; await deployer.deploy(DemoNFT, settings.name, settings.symbol); const nft = await DemoNFT.deployed(); await nft.setupVerification(provider.address, config.token, config.oracle, config.jobId, Web3.utils.toBN(config.fee)); await linkToken.methods.transfer(nft.address, Web3.utils.toBN(config.fee).muln(10)).send(); } };

Llamar a esto da como resultado un error, indicando que no se ha proporcionado ninguna dirección para send() y que no hay una dirección predeterminada.

 Replacing 'DemoNFT' ------------------- > block number: 33383565 > block timestamp: 1661007148 > account: 0x7775fccbfa977fEA0676CD9e2768A19008d47C7F > balance: 100.946846325862723725 > gas used: 5022789 (0x4ca445) > gas price: 2 gwei > value sent: 0 ETH > total cost: 0.010045578 ETH Error: No "from" address specified in neither the given options, nor the default options.

Configuré una semilla para el proveedor en truffle.js, lo que da como resultado esta dirección.

 provider: function() { return new HDWalletProvider( process.env.MNEMONIC, `https://rinkeby.infura.io/v3/${process.env.INFURA_ID}` ) },

Sin embargo, web3.eth.getCoinbase() (y web3.eth.getAccounts() ) devuelve una dirección completamente diferente.

¿Cómo puedo transferir tokens desde la billetera configurada para el proveedor al contrato recién implementado en este script de migración de trufas?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Creo que esto podría causar problemas:

 const DemoNFT = artifacts.require("./DemoNFT.sol");

está pasando la ubicación relativa del archivo pero debería pasar el nombre del contrato

 const DemoNFT = artifacts.require("nameOfSolidityContract");

si su nombre es DemoNFT

 artifacts.require("DemoNFT")

De los documentos:

El nombre especificado debe coincidir con el nombre de la definición del contrato dentro de ese archivo fuente. No pase el nombre del archivo de origen, ya que los archivos pueden contener más de un contrato.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda