Linux环境下如何使用JavaScript接入Solana JSON RPC API?
Solana web3.js 连接API使用教程
你不需要使用curl来调用接口,@solana/web3.js 已经封装了全部的JSON-RPC请求逻辑,你只需要初始化Connection实例即可调用文档中的所有方法,具体操作如下:
初始化RPC连接
调用库内置的Connection构造方法,传入对应Solana集群的RPC地址即可完成连接,常用集群分为三类:
- 开发网:用于日常开发测试,可免费领取测试SOL
- 测试网:用于链上功能压力测试,资产无实际价值
- 主网:正式生产环境,交易消耗真实SOL
示例代码:
const solanaWeb3 = require('@solana/web3.js'); // 示例:连接到Solana开发网,第二个参数为默认交易确认级别,可自行调整 const connection = new solanaWeb3.Connection( solanaWeb3.clusterApiUrl('devnet'), 'confirmed' );
调用API方法
完成connection实例初始化后,即可直接调用所有web3.js提供的方法,举几个常用操作示例:
示例1:查询当前链上区块高度
async function queryBlockHeight() { const blockHeight = await connection.getBlockHeight(); console.log('最新区块高度:', blockHeight); } queryBlockHeight();
示例2:生成钱包并查询余额
// 随机生成新的钱包密钥对 const keypair = solanaWeb3.Keypair.generate(); console.log('生成的钱包地址:', keypair.publicKey.toString()); // 查询该地址的SOL余额 async function queryWalletBalance() { const balanceLamports = await connection.getBalance(keypair.publicKey); // 1 SOL = 10^9 lamports const balanceSol = balanceLamports / 1e9; console.log('钱包余额:', balanceSol, 'SOL'); } queryWalletBalance();
补充说明
你之前操作中克隆solana-web3.js仓库的步骤是非必需的,你只需要在自己的项目目录下执行yarn add @solana/web3.js安装依赖即可正常使用,克隆的是库的源代码,日常开发不需要修改。
如果官方公共RPC的请求速率无法满足你的使用需求,也可以替换成自行申请的第三方RPC服务地址,直接将地址字符串传入Connection构造函数即可。
内容的提问来源于stack exchange,提问作者Pro Girl
相关产品推荐
相关产品推荐

