【Solana】一文搞懂Solana 交易为什么又快又便宜

一文搞懂Solana 交易为什么又快又便宜

SOL区块链特点

Solana 区块链是一个高性能、低费用的公共区块链平台,专注于提供快速的交易处理和支持去中心化应用(DApps)的开发:

  1. 并行事务处理 意思是,可以同时处理多个事务。另一种方法是以太坊使用的“单线程”模型。因此,以太坊本质上是按顺序处理交易,一个接着一个。在 Solana 中,可以同时处理许多交易。
  2. 交易速度Solana 的目标是在 0.4 秒内确认交易。它通过所谓的“乐观确认”来做到这一点。因此,它不会等待所有网络验证器确认交易(在其他网络中可能需要很多分钟),而是认为 66%(三分之二)“足够好”。
  3. 本地费用市场 为什么用“本地”这个词?在以太坊中,NFT 大幅下跌或其他高需求事件可能会导致整个网络拥堵并增加每个人的费用。这可能会导致人们在一段时间内不想使用网络。在 Solana 中,拥塞可以仅限于正在经历高需求或需要的特定帐户(本地!)

Solana代币发行

这里推荐使用机器人一键发行Token链接直达,也可以使用js库来实现Solana 测试网络(devnet)上实现转账功能可以使用 @solana/web3.js 库来执行这些操作 代码片段.

// An highlighted block
const web3 = require('@solana/web3.js');

async function transferSOL(senderSecretKeyHex, recipientPublicKeyString, amount) {
    // 连接到 Solana devnet
    const connection = new web3.Connection(web3.clusterApiUrl('devnet'));

    // 将16进制字符串的私钥转换为 Uint8Array
    const senderSecretKey = Uint8Array.from(Buffer.from(senderSecretKeyHex, 'hex'));
    const senderKeypair = web3.Keypair.fromSecretKey(senderSecretKey);

    // 获取接收者的公钥
    const recipientPublicKey = new web3.PublicKey(recipientPublicKeyString);

    // 检查账户余额
    const senderBalance = await connection.getBalance(senderKeypair.publicKey);
    console.log("Sender's current balance:", senderBalance / web3.LAMPORTS_PER_SOL, 'SOL');

    // 确保账户有足够的余额
    if (senderBalance < amount * web3.LAMPORTS_PER_SOL) {
        console.log('Insufficient balance.');
        return;
    }

    // 创建转账交易
    const transaction = new web3.Transaction().add(
        web3.SystemProgram.transfer({
            fromPubkey: senderKeypair.publicKey,
            toPubkey: recipientPublicKey,
            lamports: amount * web3.LAMPORTS_PER_SOL,
        }),
    );

    // 签署并发送交易
    const signature = await web3.sendAndConfirmTransaction(
        connection,
        transaction,
        [senderKeypair],
    );

    console.log('Transfer successful, transaction signature:', signature);
}

// 提供您的16进制私钥和接收者的公钥地址
const senderSecretKeyHex = 'YOUR_PRIVATE_KEY_HEX';
const recipientPublicKeyString = 'RECIPIENT_PUBLIC_KEY';
const amount = 0.1; // 转账数量 (SOL)

transferSOL(senderSecretKeyHex, recipientPublicKeyString, amount).catch(console.error);

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我爱喝健力宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值