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

135
Visualizações
Paquete SolanaWeb 3.js TypeError: s.TransactionInstruction no es un constructor

Estoy desarrollando el front-end para un protocolo de préstamo donde los usuarios enumeran NFT para prestar en Solana. Recibo un error en createListing :

 await program.instruction.createListing( listingBump, params, { accounts: { owner: wallet.publicKey, listing: listingPubkey, nftAccount: shipAccount, nftMint: shipMint.publicKey, collateralMint: collateralMint.publicKey, feeDestination: feeDestination, feeMint: atlasMint.publicKey, tokenProgram: TOKEN_PROGRAM_ID, systemProgram: SystemProgram.programId, }, signers: [wallet] });

Este es el error: Error while creating the listing TypeError: s.TransactionInstruction is not a constructor at Object.r [as createListing] (main-packed.js:1175) at Object.createListing (solana.js:915) y esto es la línea que lo provoca (en el paquete):

 var Y = Object.freeze({ __proto__: null, invoke: async function (t, e, n, i) { t = Q(t), i || (i = w()); const s = new s.Transaction(); return s.add(new s.TransactionInstruction({ programId: t, keys: null != e ? e : [], data: n })), await i.send(s); }, getMultipleAccounts: H });

No estoy seguro de qué está provocando el error. Además, se debe tener en cuenta que estoy usando JS simple porque estoy desarrollando en Flutter usando la interoperabilidad Dart-JS. Por lo tanto, me veo obligado a usar el paquete Browserify/Esmify para agrupar todos los paquetes necesarios y exponerlos a la interoperabilidad. Tal vez esto esté relacionado con el problema.

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

0

Recibí este error con ClojureScript y después de rascarme la cabeza durante 3 días encontré una solución.

El cliente anchor-ts utiliza el paquete rollup para agrupar el código TS para el navegador. En el proceso de empaquetado, pasa el código a través de un complemento de minificación/auglificación llamado rollup-plugin-terser .

El terser transforma el código de manera que se reutiliza la variable asignada a la importación de @solana/web3.js .

es decir: algo como esto sucede en la salida final

 var s = require("@solana/web3.js") function x() { var s, a, b; // ----> redefined s ... s.TransactionInstruction() // ----> calls method on original s }

Bifurqué el ancla y me deshice del complemento terser. Eso solucionó el error para mí.

about 4 years ago · Juan Pablo Isaza Relatório

0

¡Seguí la sugerencia de bifurcarlo y eliminar el complemento terser y también funcionó para mí!

Nota: el resumen se introdujo en v0.19.0 , por lo que puede intentar resolver @project-serum/anchor a la versión 0.18.2 y debería funcionar sin necesidad de realizar más cambios.

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