GTokenTool全网最好的代币发行工具平台
当前位置:首页 >> solana教程 >> Solana Dev 101 - 如何创建 Solana 交易

Solana Dev 101 - 如何创建 Solana 交易

admin solana教程 115

介绍

GM!在这篇博客中,我们将研究如何在 Solana 上使用 Javascript 创建和发送交易,这是 Solana Dev 101 系列的一部分。这是一本适合初学者的指南,所以如果您是 Solana 或区块链技术的新手,也不必担心。

Solana Dev 101 - 如何创建 Solana 交易


如果您有任何疑问,请随时加入  Helius Discord或在 Twitter 上标记 Helius  寻求帮助。


先决条件

首先,我们需要在机器上安装 Node.js 和 npm。如果需要,你可以在这里下载。


我们还需要安装 Solana web3.js 库,这是一套旨在与 Solana 区块链交互的 JavaScript 工具和库。


您可以使用终端运行以下代码来通过 npm 安装它:


代码

npm install @solana/web3.js


步骤 1:设置连接

首先,让我们创建与 Solana 集群的连接。我们将使用 Helius 连接到 devnet 集群。您需要创建一个 Helius 帐户和 API 密钥,您可以通过在此处注册免费获得。


代码

const solanaWeb3 = require('@solana/web3.js');

const connection = new solanaWeb3.Connection('<https://rpc-devnet.helius.xyz/?api-key=><api_key>','confirmed',);


第 2 步:创建新钱包

现在我们需要一个钱包来发送交易。钱包只是一对公钥和私钥,可以轻松创建。公钥就是您的钱包地址,然后您的私钥用于签署交易。您可以在此处阅读有关公钥加密的更多信息。


我们可以创建一个新的文件系统钱包,此钱包的密钥对将存储在您的本地机器上。如果您已经安装了 Solana CLI 工具,您可以在终端中运行以下命令来获取新钱包。


代码

solana-keygen new


如果没有,则需要安装 Solana CLI 工具套件。您可以在 Solana 文档中获取有关如何执行此操作的更多信息:https ://docs.solana.com/cli/install-solana-cli-tools


警告

您绝不应该与任何人分享您的私钥。


然后我们可以将这个钱包拉入我们的代码中:


代码

const sender=solanaWeb3.Keypair.fromSecretKey(new Uint8Array([61,23,....,60,49]));


您可以从上一步创建的 json 文件系统钱包中复制您的密钥并使用它。


步骤 3:向钱包注资

要发送交易,我们需要在钱包中存入一些 SOL。Solana 上的每笔交易都需要支付少量费用才能处理。


为了测试目的,我们将使用Solana 的水龙头为我们的钱包提供资金。前往solfaucet.com并输入您刚刚创建的钱包的公钥并请求一些 SOL。


步骤 4:创建交易

现在我们有了一个充值钱包,我们可以创建一个交易了。在这个例子中,我们将创建交易并将转账指令添加到此交易中。我们将使用它来将 0.1 SOL 转移到我们选择的钱包。


交易可以做很多事情,具体取决于您给出的指令,在这个例子中,我们将与转账指令一起发送 SOL。


代码

// Set up the address to send to

const receiver = new solanaWeb3.PublicKey("86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY");


// Create a transaction    

const transaction = new solanaWeb3.Transaction().add(solanaWeb3.SystemProgram.transfer({

fromPubkey: sender.publicKey,toPubkey: receiver,

lamports: solanaWeb3.LAMPORTS_PER_SOL * 0.01,}),);


‍在上面的代码中,我们使用自己选择的钱包创建了一个新的 PublicKey 对象。创建交易需要 PublicKey 对象,而不仅仅是地址。转账指令也需要 3 个参数:


fromPubkey:发送者账户的公钥。

toPubkey:接收方账户的公钥。

lamports:需要转移的 lamport 数量(Solana 中最小的货币单位)。solanaWeb3.LAMPORTS_PER_SOL表示 1 SOL。


步骤 5:签署并发送交易

一旦创建了交易,我们将需要签署该交易并将其发送到网络。


Solana Web3 库有一个名为 的功能sendAndConfirmTransaction(),可以让我们轻松完成所有这些操作。


该sendAndConfirmTransaction方法将交易发送到网络,等待确认,并返回交易的签名。


代码

// Sign and confirm the transaction      

const signature = await solanaWeb3.sendAndConfirmTransaction(connection,transaction,[sender],);      

console.log('Transaction: ', signature);


该sendAndConfrimTransaction方法采用三个参数:


connection:这是我们使用 Helius RPC 连接创建的 Solana 网络连接对象。此参数指定将通过哪个连接发送和确认交易。

transaction:这个就是我们刚刚做的包含转账指令的交易对象。

[sender]:这是一个包含交易所有签名者账户的数组。在本例中,它包含一个元素sender,代表签署并授权交易的账户。

我们开始吧!


我们刚刚使用 JavaScript 在 Solana 上创建并发送了一个交易。


您可以使用 node sendTransaction.js 来运行脚本。


结论

得益于 Solana 全面的 JavaScript 库,使用 JavaScript 在 Solana 上创建和发送交易是一个简单的过程。只需几行代码,我们就可以与 Solana 区块链进行交互,这为我们打开了一个充满可能性的世界。


这是一个基本的示例,重点介绍了创建和发送交易的结构和流程,实际应用程序可能涉及更复杂的交易并需要额外的安全措施。

作者:GTokenTool一键发币平台

交流群:https://t.me/+Kz4u3xoDpFo3ZWY1

同类推荐