Flutter Solana RPC交互插件solana_rpc_sdk_flutter的使用

Pub

通过Dart SDK访问Solana RPC API,风格完全模仿了原始设计,易于使用,并帮助您的Flutter应用程序连接到Solana区块链!

功能 #

Solana RPC API 的Dart SDK版本。

开始使用 #

安装

用法 #

// 初始化SolanaRpcApi实例
final api = SolanaRpcApi(clusterApiUrl(Cluster.mainnetBeta), '7jrFHLtDxAqPsc3S7nd3F1wAc99xqkD9wuQ38JtdMoej');

// 获取指定账户的所有Token账户 final tokenAccountsByOwner = await api.getTokenAccountsByOwner();

// 打印结果 print(tokenAccountsByOwner);

更多示例见 [https://github.com/Circelpod/solana_rpc_sdk_flutter]

额外信息 #

TODO: 告诉用户更多关于该包的信息:在哪里可以找到更多信息,如何为该包做贡献,如何提交问题,他们可以从包作者那里期待什么响应等。

待办事项 #

  • ✅ 获取账户信息
  • ✅ 获取余额
  • [] 获取区块
  • [] 获取区块高度
  • [] 获取区块生产情况
  • [] 获取区块承诺
  • [] 获取区块范围内的区块
  • [] 获取区块时间
  • [] 获取集群节点
  • [] 获取epoch信息
  • [] 获取epoch计划
  • [] 获取消息费用
  • [] 获取第一个可用区块
  • [] 获取创世哈希
  • [] 获取健康状态
  • [] 获取最高快照槽
  • [] 获取身份
  • [] 获取通货膨胀治理者
  • [] 获取通货膨胀率
  • [] 获取通货膨胀奖励
  • [] 获取最大账户
  • [] 获取最新区块哈希
  • [] 获取领导者计划
  • [] 获取最大重传槽
  • [] 获取最大碎片插入槽
  • [] 获取租期豁免的最小余额
  • [] 获取多个账户
  • [] 获取程序账户
  • [] 获取最近性能样本
  • [] 获取地址的签名
  • [] 获取签名状态
  • [] 获取槽位
  • [] 获取槽位领导
  • [] 获取槽位领导列表
  • [] 获取质押激活情况
  • ✅ 获取供应量
  • ✅ 获取Token账户余额
  • [] 获取由委托人管理的Token账户
  • ✅ 获取由所有者管理的Token账户
  • [] 获取最大的Token账户
  • [] 获取Token供应量
  • ✅ 获取交易
  • ✅ 获取交易数量
  • ✅ 获取版本
  • ✅ 获取投票账户
  • [] 验证区块哈希是否有效
  • ✅ 获取最低账本槽位
  • ✅ 请求空投
  • [] 发送交易
  • [] 模拟交易

发布 #

dart pub publish --dry-run

更多关于Flutter Solana RPC交互插件solana_rpc_sdk_flutter的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter Solana RPC交互插件solana_rpc_sdk_flutter的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


solana_rpc_sdk_flutter 是一个用于在 Flutter 应用中与 Solana 区块链进行交互的插件。它允许开发者通过 Solana 的 JSON-RPC API 与区块链进行通信,执行诸如查询账户余额、发送交易、获取区块信息等操作。

安装

首先,你需要在 pubspec.yaml 文件中添加 solana_rpc_sdk_flutter 依赖:

dependencies:
  flutter:
    sdk: flutter
  solana_rpc_sdk_flutter: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来安装依赖。

基本使用

  1. 初始化 RPC 客户端

    首先,你需要初始化一个 SolanaRpcClient 实例,指定 Solana 节点的 RPC URL。

    import 'package:solana_rpc_sdk_flutter/solana_rpc_sdk_flutter.dart';
    
    void main() {
      final rpcClient = SolanaRpcClient('https://api.mainnet-beta.solana.com');
    }
    
  2. 查询账户余额

    你可以使用 getBalance 方法来查询指定账户的余额。

    void fetchBalance() async {
      final balance = await rpcClient.getBalance('your_account_address_here');
      print('Account Balance: $balance');
    }
    
  3. 获取最新区块信息

    你可以使用 getLatestBlockhash 方法来获取最新的区块哈希。

    void fetchLatestBlockhash() async {
      final blockhash = await rpcClient.getLatestBlockhash();
      print('Latest Blockhash: $blockhash');
    }
    
  4. 发送交易

    你可以使用 sendTransaction 方法来发送一个已签名的交易。

    void sendTransaction() async {
      final signedTransaction = 'your_signed_transaction_here';
      final txId = await rpcClient.sendTransaction(signedTransaction);
      print('Transaction ID: $txId');
    }
    
  5. 查询交易状态

    你可以使用 getTransaction 方法来查询指定交易的详细信息。

    void fetchTransaction() async {
      final transaction = await rpcClient.getTransaction('your_transaction_id_here');
      print('Transaction Details: $transaction');
    }
    

高级功能

  1. 自定义 RPC 请求

    你可以使用 request 方法发送自定义的 RPC 请求。

    void customRequest() async {
      final response = await rpcClient.request('getAccountInfo', ['your_account_address_here']);
      print('Account Info: $response');
    }
    
  2. 批量请求

    你可以使用 batchRequest 方法发送多个 RPC 请求。

    void batchRequests() async {
      final responses = await rpcClient.batchRequest([
        {'method': 'getBalance', 'params': ['your_account_address_here']},
        {'method': 'getLatestBlockhash', 'params': []},
      ]);
      print('Batch Responses: $responses');
    }
    

错误处理

在进行 RPC 调用时,可能会遇到各种错误(例如网络错误、无效的参数等)。建议你在调用时使用 try-catch 块来捕获并处理这些错误。

void fetchBalance() async {
  try {
    final balance = await rpcClient.getBalance('your_account_address_here');
    print('Account Balance: $balance');
  } catch (e) {
    print('Error fetching balance: $e');
  }
}
回到顶部