如何使用 Solana 的 web3.js sdk 传输 SOL?

问题描述

如何使用用于 Solana 的 web3.js sdk 传输 SOL?

解决方法

var web3 = require("@solana/web3.js");
// Address: 9vpsmXhZYMpvhCKiVoX5U8b1iKpfwJaFpPEEXF7hRm9N
const DEMO_FROM_SECRET_KEY = new Uint8Array([
    37,21,197,185,105,201,212,148,164,108,251,159,174,252,43,246,225,156,38,203,99,42,244,73,143,34,239,15,222,217,91,132,167,60,17,211,120,243,113,76,127,190,18,121,93,189,55,165,129,196,104,25,157,209,168,149,]);
(async () => {
    // Connect to cluster
    var connection = new web3.Connection(web3.clusterApiUrl("devnet"));
    // Construct a `Keypair` from secret key
    var from = web3.Keypair.fromSecretKey(DEMO_FROM_SECRET_KEY);
    // Generate a new random public key
    var to = web3.Keypair.generate();
    // Add transfer instruction to transaction
    var transaction = new web3.Transaction().add(
        web3.SystemProgram.transfer({
            fromPubkey: from.publicKey,toPubkey: to.publicKey,lamports: web3.LAMPORTS_PER_SOL / 100,})
    );
    // Sign transaction,broadcast,and confirm
    var signature = await web3.sendAndConfirmTransaction(
        connection,transaction,[from]
    );
    console.log("SIGNATURE",signature);
    console.log("SUCCESS");
})();