Flutter巴比伦网关API访问插件unofficial_babylon_gateway_api的使用
使用Flutter访问巴比伦网关API插件unofficial_babylon_gateway_api
简介
unofficial_babylon_gateway_api
是一个用于访问巴比伦网关API的Dart包。它允许客户端高效查询RadixDLT账本的当前状态和历史状态,并智能处理交易提交。此插件主要用于钱包和浏览器开发,以及前端去中心化应用的轻量级查询。
安装与使用
在pubspec.yaml
中添加依赖项
从pub.dev
安装
如果希望从pub.dev
安装此包,请在pubspec.yaml
文件中添加以下内容:
dependencies:
unofficial_babylon_gateway_api: 1.0.0
然后执行flutter pub get
以下载并安装包。
从GitHub安装
如果此包已发布到GitHub,请在pubspec.yaml
文件中添加以下内容:
dependencies:
unofficial_babylon_gateway_api:
git:
url: https://github.com/GIT_USER_ID/GIT_REPO_ID.git
#ref: main
同样执行flutter pub get
以完成安装。
本地开发
如果正在本地开发此包,可以将其路径添加到pubspec.yaml
中:
dependencies:
unofficial_babylon_gateway_api:
path: /path/to/unofficial_babylon_gateway_api
开始使用
首先确保您的项目满足以下要求:
- Dart 2.15.0 或更高版本,或者 Flutter 2.8.0 或更高版本。
- 安装了Dio 5.0.0 或更高版本(https://pub.dev/packages/dio)。
接着按照以下步骤初始化并调用API:
// 导入包
import 'package:unofficial_babylon_gateway_api/unofficial_babylon_gateway_api.dart';
void main() async {
// 初始化API实例
final api = UnofficialBabylonGatewayApi().getStateApi();
// 创建请求对象(例如获取授权存款人列表)
final StateAccountAuthorizedDepositorsPageRequest stateAccountAuthorizedDepositorsPageRequest =
StateAccountAuthorizedDepositorsPageRequest(); // 示例请求对象
try {
// 调用API方法
final response = await api.accountAuthorizedDepositorsPage(stateAccountAuthorizedDepositorsPageRequest);
print('响应结果: $response');
} catch on DioException (e) {
// 捕获异常并打印错误信息
print('调用失败: $e\n');
}
}
API文档
以下是部分API端点及其描述的表格:
Class | Method | HTTP 请求方式 | 描述 |
---|---|---|---|
<em>StateApi</em> |
<strong>accountAuthorizedDepositorsPage</strong> |
POST /state/account/page/authorized-depositors | 获取账户的授权存款人列表 |
<em>StateApi</em> |
<strong>accountLockerVaultsPage</strong> |
POST /state/account-locker/page/vaults | 获取账户保管库的页面 |
<em>StateApi</em> |
<strong>accountLockersTouchedAt</strong> |
POST /state/account-lockers/touched-at | 获取账户保管库最近触碰的时间 |
<em>StateApi</em> |
<strong>accountResourcePreferencesPage</strong> |
POST /state/account/page/resource-preferences | 获取账户资源偏好设置 |
<em>StateApi</em> |
<strong>entityFungibleResourceVaultPage</strong> |
POST /state/entity/page/fungible-vaults/ | 获取全局实体可替代资源保管库的页面 |
<em>StateApi</em> |
<strong>entityFungiblesPage</strong> |
POST /state/entity/page/fungibles/ | 获取全局实体可替代资源余额的页面 |
<em>StateApi</em> |
<strong>entityMetadataPage</strong> |
POST /state/entity/page/metadata | 获取实体元数据的页面 |
<em>StateApi</em> |
<strong>entityNonFungibleIdsPage</strong> |
POST /state/entity/page/non-fungible-vault/ids | 获取保管库中非可替代资源ID的页面 |
<em>StateApi</em> |
<strong>entityNonFungibleResourceVaultPage</strong> |
POST /state/entity/page/non-fungible-vaults/ | 获取全局实体非可替代资源保管库的页面 |
<em>StateApi</em> |
<strong>entityNonFungiblesPage</strong> |
POST /state/entity/page/non-fungibles/ | 获取全局实体非可替代资源余额的页面 |
注意: 所有API的URI都是相对的,基准地址为https://mainnet.radixdlt.com
。
示例代码
以下是一个完整的示例代码,展示如何使用unofficial_babylon_gateway_api
插件来获取授权存款人列表:
import 'package:flutter/material.dart';
import 'package:unofficial_babylon_gateway_api/unofficial_babylon_gateway_api.dart';
import 'package:dio/dio.dart'; // 需要导入dio包
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('巴比伦网关API示例'),
),
body: Center(
child: ElevatedButton(
onPressed: () async {
// 初始化API实例
final api = UnofficialBabylonGatewayApi().getStateApi();
// 创建请求对象
final StateAccountAuthorizedDepositorsPageRequest request =
StateAccountAuthorizedDepositorsPageRequest();
try {
// 调用API方法
final response = await api.accountAuthorizedDepositorsPage(request);
print('响应结果: $response');
} catch (e) {
// 捕获异常并打印错误信息
if (e is DioException) {
print('调用失败: ${e.message}');
} else {
print('未知错误: $e');
}
}
},
child: Text('测试API'),
),
),
),
);
}
}
更多关于Flutter巴比伦网关API访问插件unofficial_babylon_gateway_api的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复