Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

114
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!