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

116
Visualizações
Error de transferencia usando Phantom Wallet al usar la función signAndSendTransaction

¿Alguien sabe lo que está mal con este código?

 await window.solana.connect(); let fromWallet = window.solana.publicKey; let toWallet = new PublicKey("<KEY>"); let transaction = new Transaction(); transaction.add( SystemProgram.transfer({ fromPubKey: fromWallet, toPubKey: toWallet, lamports: LAMPORTS_PER_SOL }) ); transaction.feePayer = fromWallet; const connection = new Connection(clusterApiUrl('devnet'), 'confirmed'); let bk = await connection.getLatestBlockhash(); transaction.recentBlockhash = bk.blockhash; const signature = await window.solana.signAndSendTransaction(await transaction); await connection.confirmTransaction(signature); console.log(signature);

Lanza un error en la línea.

 const signature = await window.solana.signAndSendTransaction(await transaction)

Algo sobre convertir undefined a base58.

Revisé las llaves, ambas están bien.

Aquí está el registro de errores:

 vue.runtime.esm.js?2b0e:1897 TypeError: Cannot read properties of undefined (reading 'toBase58') at eval (index.browser.esm.js?64b9:2451:1) at Array.sort (<anonymous>) at Transaction.compileMessage (index.browser.esm.js?64b9:2450:1) at Transaction._compile (index.browser.esm.js?64b9:2563:1) at Transaction.serializeMessage (index.browser.esm.js?64b9:2585:1) at ia (inpage.js:141:130205) at inpage.js:141:137033 at c (inpage.js:2:47880) at Generator._invoke (inpage.js:2:47668) at Generator.next (inpage.js:2:48309)

¿Algunas ideas?

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

0

Oh querido señor,

Solucioné el problema cambiando el código:

 transaction.add( SystemProgram.transfer({ fromPubKey: fromWallet, toPubKey: toWallet, lamports: LAMPORTS_PER_SOL }) );

a lo siguiente:

 const instruction = SystemProgram.transfer({ fromPubkey: fromWallet, toPubkey: toWallet, lamports: LAMPORTS_PER_SOL, }); transaction.add(instruction);

Todavía no entiendo por qué funciona, pero bueno, resolvió mi problema.

about 4 years ago · Juan Pablo Isaza Relatório

0

El error TypeError: Cannot read properties of undefined (reading 'toBase58') generalmente significa que hay una PublicKey no válida en alguna parte.

Suponiendo que la conexión a la billetera sea correcta, probablemente haya un problema con la línea:

 let toWallet = new PublicKey("<KEY>");

Primero, asegúrese de que el resultado de esa llamada sea correcto, registrándolo, es decir:

 console.log(toWallet.toBase58());

Si eso funciona, es probable que haya un problema con la conexión de la billetera.

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