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

127
Views
¿Cómo enviar solana a través de mi aplicación en vanilla js?

Intentando hacer una función simple de envío y recepción en Solana con vainilla JS.

A continuación se muestra mi función de envío que funciona bien, y ahora quiero una función de recepción. Donde el proveedor obtendría Solana transferida de mi billetera de tesorería.

No estoy seguro de qué enfoque debería tener, solo estoy comenzando. ¿Hay alguna manera de simplemente mover las cosas en esta función? ¿O tengo que tener un enfoque totalmente diferente?

¡Gracias!

 async function transferSOL() { // Detecing and storing the phantom wallet of the user (creator in this case) var provider = phantom; // Establishing connection var connection = new web3.Connection( web3.clusterApiUrl('devnet'), ); var transaction = new web3.Transaction().add( web3.SystemProgram.transfer({ fromPubkey: provider.publicKey, toPubkey: treasuryWallet.publicKey, lamports: 0.1 * web3.LAMPORTS_PER_SOL - 100 }), ); // Setting the variables for the transaction transaction.feePayer = await provider.publicKey; let blockhashObj = await connection.getRecentBlockhash(); transaction.recentBlockhash = await blockhashObj.blockhash; // Request creator to sign the transaction (allow the transaction) let signed = await provider.signTransaction(transaction); let signature = await connection.sendRawTransaction(signed.serialize()); await connection.confirmTransaction(signature); }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Si desea transferir de su tesorería al usuario, entonces debe firmar para treasuryWallet de alguna manera. En su caso, parece que ya tiene el par de llaves disponible en su aplicación, por lo que simplemente puede hacer lo siguiente:

 var transaction = new web3.Transaction().add( web3.SystemProgram.transfer({ toPubkey: provider.publicKey, fromPubkey: treasuryWallet.publicKey, lamports: 0.1 * web3.LAMPORTS_PER_SOL - 100 }), ); // Setting the variables for the transaction transaction.feePayer = treasuryWallet.publicKey; let blockhashObj = await connection.getRecentBlockhash(); transaction.recentBlockhash = await blockhashObj.blockhash; // Request creator to sign the transaction (allow the transaction) transaction.sign(treasuryWallet); let signature = await connection.sendRawTransaction(transaction.serialize()); await connection.confirmTransaction(signature);

Tenga en cuenta que esto es muy inseguro! Todos los que usan su aplicación web tienen acceso completo a los fondos del tesoro si el par de llaves está expuesto, ya que pueden firmar todas las transacciones que quieran con él.

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!