SDK库
TronZap为多种编程语言提供官方SDK库,帮助您轻松集成我们的API。这些SDK处理身份验证、API调用和错误处理,让您专注于构建应用程序。
可用SDK
我们目前为以下语言提供SDK:
PHP SDK
bash
composer require tron-energy-market/tronzap-sdk-phpNode.js SDK
此SDK设计用于跨多个JavaScript/TypeScript平台:
- Node.js: v16.0.0或更高版本
- Bun: v1.0.0或更高版本
- Deno: v1.0.0或更高版本
bash
npm install tronzap-sdk
# 或
yarn add tronzap-sdk
# 或
pnpm add tronzap-sdkPython SDK
bash
pip install tronzap-sdkGo SDK
要求: Go 1.21或更高版本, 无第三方依赖.
bash
go get github.com/tron-energy-market/tronzap-sdk-goJava SDK
要求: Java 17或更高版本.
xml
<dependency>
<groupId>com.tronzap</groupId>
<artifactId>tronzap-java</artifactId>
<version>1.0.0</version>
</dependency>kotlin
implementation("com.tronzap:tronzap-java:1.0.0").NET (C#) SDK
要求: .NET 8或更高版本.
bash
dotnet add package Tronzap.SdkRuby SDK
要求: Ruby 3.3或更高版本.
ruby
# 将gem添加到您的Gemfile
gem "tronzap-sdk"bash
# 或直接安装
gem install tronzap-sdkRust SDK
要求: Rust 1.85或更高版本, Tokio运行时.
toml
[dependencies]
tronzap-sdk = "1.0"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }基本用法
所有SDK都提供了与TronZap API交互的相似接口。以下是一些基本示例:
php
<?php
use TronZap\Client;
use TronZap\Exception\TronZapException;
// 初始化客户端
$apiToken = 'your_api_token';
$apiSecret = 'your_api_secret';
$client = new Client($apiToken, $apiSecret);
try {
// 获取可用服务
$services = $client->getServices();
// 创建能量交易
$transaction = $client->createEnergyTransaction(
'TRX_ADDRESS', // 波场钱包地址
65000, // 能量数量
1, // 持续时间(小时)
'my-tx-id', // 外部ID(可选)
false // 不激活地址(可选)
);
// 检查交易状态
$status = $client->checkTransaction($transaction['result']['transaction_id']);
} catch (TronZapException $e) {
echo "错误: " . $e->getMessage() . " (代码: " . $e->getCode() . ")\n";
}javascript
import { TronZapClient, TronZapError } from 'tronzap-sdk';
// 初始化客户端
const client = new TronZapClient({
apiToken: 'your_api_token',
apiSecret: 'your_api_secret'
});
async function main() {
try {
// 获取可用服务
const services = await client.getServices();
console.log(services);
// 创建能量交易
const transaction = await client.createEnergyTransaction(
'TRON_WALLET_ADDRESS',
65150,
1,
'my-tx-id', // 可选外部ID
true // 可选:如需要则激活地址
);
console.log(transaction);
// 检查交易状态
const status = await client.checkTransaction(transaction.result.transaction_id);
console.log(status);
} catch (error) {
if (error instanceof TronZapError) {
console.error(`TronZap API错误: ${error.message} (代码: ${error.code})`);
} else {
// 在访问其属性之前对错误进行类型检查
if (error instanceof Error) {
console.error(`一般错误: ${error.message}`);
} else {
console.error('发生未知错误:', error);
}
}
}
}
main();python
from tronzap_sdk import TronZapClient, TronZapError
# 初始化客户端
api_token = 'your_api_token'
api_secret = 'your_api_secret'
client = TronZapClient(api_token, api_secret)
try:
# 获取可用服务
services = client.get_services()
# 创建能量交易
transaction = client.create_energy_transaction(
address='TRX_ADDRESS', # 波场钱包地址
energy_amount=65000, # 能量数量
duration=1, # 持续时间(小时)
external_id='my-tx-id', # 外部ID(可选)
activate_address=False # 不激活地址(可选)
)
# 检查交易状态
status = client.check_transaction(transaction['result']['transaction_id'])
except TronZapError as e:
print(f"错误: {e.message} (代码: {e.code})")go
package main
import (
"context"
"errors"
"fmt"
"log"
tronzap "github.com/tron-energy-market/tronzap-sdk-go"
)
func main() {
// 初始化客户端
client := tronzap.NewClient("your_api_token", "your_api_secret")
ctx := context.Background()
// 获取可用服务
services, err := client.GetServices(ctx)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", services)
// 创建能量交易
tx, err := client.CreateEnergyTransaction(ctx, tronzap.EnergyTransactionRequest{
Address: "TRX_ADDRESS", // 波场钱包地址
Energy: 65000, // 能量数量
Duration: 1, // 持续时间(小时)
ExternalID: "my-tx-id", // 外部ID(可选)
ActivateAddress: false, // 不激活地址(可选)
})
var apiErr *tronzap.APIError
if errors.As(err, &apiErr) {
log.Fatalf("错误: %s (代码: %d)", apiErr.Message, apiErr.Code)
} else if err != nil {
log.Fatal(err)
}
// 检查交易状态
status, err := client.CheckTransaction(ctx, tronzap.CheckTransactionRequest{ID: tx.ID})
if err != nil {
log.Fatal(err)
}
fmt.Println(status.Status)
}java
import com.tronzap.sdk.TronzapClient;
import com.tronzap.sdk.exception.ApiException;
import com.tronzap.sdk.exception.TronzapException;
import com.tronzap.sdk.request.CheckTransactionRequest;
import com.tronzap.sdk.request.EnergyTransactionRequest;
import com.tronzap.sdk.response.Services;
import com.tronzap.sdk.response.Transaction;
public class Example {
public static void main(String[] args) {
// 初始化客户端
TronzapClient client = TronzapClient.builder()
.apiToken("your_api_token")
.apiSecret("your_api_secret")
.build();
try {
// 获取可用服务
Services services = client.getServices();
System.out.println(services);
// 创建能量交易
Transaction tx = client.createEnergyTransaction(
EnergyTransactionRequest.builder("TRX_ADDRESS", 65000) // 波场钱包地址, 能量数量
.duration(1) // 持续时间(小时)
.externalId("my-tx-id") // 外部ID(可选)
.activateAddress(false) // 不激活地址(可选)
.build());
// 检查交易状态
Transaction status = client.checkTransaction(CheckTransactionRequest.byId(tx.id()));
System.out.println(status.status());
} catch (ApiException e) {
System.err.println("错误: " + e.getMessage() + " (代码: " + e.getCode() + ")");
} catch (TronzapException e) {
System.err.println("错误: " + e.getMessage());
}
}
}csharp
using Tronzap.Sdk;
using Tronzap.Sdk.Exceptions;
using Tronzap.Sdk.Requests;
using Tronzap.Sdk.Responses;
// 初始化客户端
var client = new TronzapClient(new TronzapClientOptions
{
ApiToken = "your_api_token",
ApiSecret = "your_api_secret",
});
try
{
// 获取可用服务
ServiceRates services = await client.GetServicesAsync();
Console.WriteLine(services);
// 创建能量交易
Transaction tx = await client.CreateEnergyTransactionAsync(new EnergyTransactionRequest
{
Address = "TRX_ADDRESS", // 波场钱包地址
Energy = 65000, // 能量数量
Duration = 1, // 持续时间(小时)
ExternalId = "my-tx-id", // 外部ID(可选)
ActivateAddress = false, // 不激活地址(可选)
});
// 检查交易状态
Transaction status = await client.CheckTransactionAsync(CheckTransactionRequest.ById(tx.Id));
Console.WriteLine(status.Status);
}
catch (TronzapApiException e)
{
Console.Error.WriteLine($"错误: {e.Message} (代码: {e.Code})");
}
catch (TronzapException e)
{
Console.Error.WriteLine($"错误: {e.Message}");
}ruby
require "tronzap"
# 初始化客户端
client = Tronzap::Client.new(
api_token: "your_api_token",
api_secret: "your_api_secret"
)
begin
# 获取可用服务
services = client.get_services
p services
# 创建能量交易
transaction = client.create_energy_transaction(
address: "TRX_ADDRESS", # 波场钱包地址
energy: 65000, # 能量数量
duration: 1, # 持续时间(小时)
external_id: "my-tx-id", # 外部ID(可选)
activate_address: false # 不激活地址(可选)
)
# 检查交易状态
status = client.check_transaction(id: transaction.id)
puts status.status
rescue Tronzap::ApiError => e
warn "错误: #{e.message} (代码: #{e.code})"
rescue Tronzap::Error => e
warn "错误: #{e.message}"
endrust
use tronzap_sdk::requests::{CheckTransactionRequest, EnergyTransactionRequest};
use tronzap_sdk::{TronzapClient, TronzapError};
async fn run() -> Result<(), TronzapError> {
// 初始化客户端
let client = TronzapClient::new("your_api_token", "your_api_secret")?;
// 获取可用服务
let services = client.get_services().await?;
println!("{services:?}");
// 创建能量交易
let request = EnergyTransactionRequest::new("TRX_ADDRESS", 65000) // 波场钱包地址, 能量数量
.duration(1) // 持续时间(小时)
.external_id("my-tx-id") // 外部ID(可选)
.activate_address(false); // 不激活地址(可选)
let tx = client.create_energy_transaction(&request).await?;
// 检查交易状态
let status = client
.check_transaction(&CheckTransactionRequest::by_id(tx.id))
.await?;
println!("{}", status.status);
Ok(())
}
#[tokio::main]
async fn main() {
match run().await {
Ok(()) => {}
Err(TronzapError::Api(e)) => {
eprintln!("错误: {} (代码: {:?})", e.message(), e.code())
}
Err(e) => eprintln!("错误: {e}"),
}
}功能特性
我们的所有SDK都提供以下功能:
- 身份验证:自动生成API签名以确保请求安全
- 服务信息:获取可用服务和定价
- 能量交易:创建能量购买交易
- 带宽和资源包:购买带宽,或在一笔交易中同时购买能量和带宽
- 能量估算和地址信息:估算USDT转账所需能量,获取地址资源和余额
- AML检查:对地址和交易进行风险筛查
- 地址激活:创建地址激活交易
- 交易状态:检查您的交易状态
- 账户管理:获取账户余额和使用信息
文档
有关每个SDK的完整文档,请参考其各自的GitHub仓库。
