Flutter加密货币交易插件indodax的使用
Flutter加密货币交易插件indodax的使用
本库实现了一个简单的异步API客户端Indodax。
该库实现了Indodax官方API。
此包包含一组高级函数和类,使得API调用变得简单易用。
欢迎贡献!
使用
公共API
你无需认证即可访问公共API。
获取服务器时间(同步)
import 'package:indodax/indodax.dart';
void main(){
PublicAPI.serverTime.then((t) {
print(t.timeZone);
print(t.time);
});
}
获取服务器时间(异步)
import 'package:indodax/indodax.dart';
Future<void> main() async {
var response = await PublicAPI.serverTime;
print(response.timeZone);
print(response.time);
}
获取汇总信息(异步)
import 'package:indodax/indodax.dart';
Future<void> main() async {
var response = await PublicAPI.summaries;
print(response.prices7d);
print(response.prices24h);
}
私有API
你需要API_KEY
和SECRET_KEY
才能访问私有API。你可以通过访问https://indodax.com/trade_api来获取这些密钥。
获取交易者信息(ujang)
import 'package:indodax/indodax.dart';
Future<void> main() async {
var ujang = PrivateAPI(
key: 'OOZJORLL-XFEC6V3D-EDUZHELU-PHP8YF9F-GSSXV2K6',
secret: 'b11c56f740d358b1640e17beb72bd3c137b58b02170aa4f3cf28327c3f87fb73cc4e6b3085b7f7fb',
);
var infoUjang = await ujang.info;
print(infoUjang);
ujang.close();
}
或者使用有效的auth.json
文件
{
"API": "OOZJORLL-XFEC6V3D-EDUZHELU-PHP8YF9F-GSSXV2K6",
"SECRET": "b11c56f740d358b1640e17beb72bd3c137b58b02170aa4f3cf28327c3f87fb73cc4e6b3085b7f7fb"
}
然后你可以使用保存文件的指定路径。
import 'package:indodax/indodax.dart';
Future<void> main() async {
var ujang = PrivateAPI(authPath: './auth.json');
var infoUjang = await ujang.info;
print(infoUjang);
ujang.close();
}
更多关于Flutter加密货币交易插件indodax的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复
更多关于Flutter加密货币交易插件indodax的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
indodax
是一个印尼的加密货币交易平台。如果你想在 Flutter 应用中集成 indodax
的交易功能,你可以通过以下几种方式实现:
1. 使用 Indodax 官方 API
Indodax 提供了公开的 API,开发者可以通过这些 API 获取市场数据、账户信息以及执行交易操作。以下是一个简单的指南,演示如何在 Flutter 中使用 indodax
API:
步骤 1: 获取 API 密钥
- 登录你的 Indodax 账户。
- 进入 API 管理页面,生成 API 密钥(API Key 和 Secret Key)。
步骤 2: 安装 HTTP 请求库
在 pubspec.yaml
中添加 http
依赖:
dependencies:
flutter:
sdk: flutter
http: ^0.15.0
运行 flutter pub get
安装依赖。
步骤 3: 编写代码调用 API
以下是使用 Indodax API 获取账户余额的示例代码:
import 'dart:convert';
import 'dart:io';
import 'package:http/http.dart' as http;
import 'package:crypto/crypto.dart';
class IndodaxApi {
final String apiKey;
final String secretKey;
IndodaxApi(this.apiKey, this.secretKey);
Future<Map<String, dynamic>> getAccountInfo() async {
final url = Uri.parse('https://indodax.com/tapi');
final method = 'getInfo';
final params = {
'method': method,
'nonce': DateTime.now().millisecondsSinceEpoch.toString(),
};
// 生成签名
final signature = generateSignature(params);
final response = await http.post(
url,
headers: {
'Key': apiKey,
'Sign': signature,
'Content-Type': 'application/x-www-form-urlencoded',
},
body: params,
);
if (response.statusCode == 200) {
return jsonDecode(response.body);
} else {
throw Exception('Failed to fetch account info');
}
}
String generateSignature(Map<String, dynamic> data) {
final queryString = Uri(queryParameters: data).query;
final hmacSha512 = Hmac(sha512, utf8.encode(secretKey));
final digest = hmacSha512.convert(utf8.encode(queryString));
return digest.toString();
}
}
调用示例:
void main() async {
final indodax = IndodaxApi('your_api_key', 'your_secret_key');
final accountInfo = await indodax.getAccountInfo();
print(accountInfo);
}