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

128
Visualizações
¿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 Respostas
Responde à pergunta

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 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