Biblioteki SDK
TronZap zapewnia oficjalne biblioteki SDK dla wielu języków programowania, aby pomóc w łatwej integracji z naszym API. Te SDK-i obsługują uwierzytelnianie, wywołania API i obsługę błędów, pozwalając skupić się na budowaniu aplikacji.
Dostępne SDK
Obecnie oferujemy SDK dla następujących języków:
PHP SDK
composer require tron-energy-market/tronzap-sdk-phpNode.js SDK
To SDK jest zaprojektowane do pracy na wielu platformach JavaScript/TypeScript:
- Node.js: v16.0.0 lub wyższy
- Bun: v1.0.0 lub wyższy
- Deno: v1.0.0 lub wyższy
npm install tronzap-sdk
# lub
yarn add tronzap-sdk
# lub
pnpm add tronzap-sdkPython SDK
pip install tronzap-sdkGo SDK
Wymagania: Go 1.21 lub wyższy, brak zależności zewnętrznych.
go get github.com/tron-energy-market/tronzap-sdk-goJava SDK
Wymagania: Java 17 lub wyższy.
<dependency>
<groupId>com.tronzap</groupId>
<artifactId>tronzap-java</artifactId>
<version>1.0.0</version>
</dependency>implementation("com.tronzap:tronzap-java:1.0.0").NET (C#) SDK
Wymagania: .NET 8 lub wyższy.
dotnet add package Tronzap.SdkRuby SDK
Wymagania: Ruby 3.3 lub wyższy.
# Dodaj gem do swojego Gemfile
gem "tronzap-sdk"# lub zainstaluj go bezpośrednio
gem install tronzap-sdkRust SDK
Wymagania: Rust 1.85 lub wyższy, środowisko uruchomieniowe Tokio.
[dependencies]
tronzap-sdk = "1.0"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }Podstawowe użycie
Wszystkie SDK zapewniają podobny interfejs do interakcji z API TronZap. Oto kilka podstawowych przykładów:
<?php
use TronZap\Client;
use TronZap\Exception\TronZapException;
// Inicjalizacja klienta
$apiToken = 'twoj_token_api';
$apiSecret = 'twoj_sekret_api';
$client = new Client($apiToken, $apiSecret);
try {
// Pobierz dostępne usługi
$services = $client->getServices();
// Utwórz transakcję energii
$transaction = $client->createEnergyTransaction(
'ADRES_TRX', // Adres portfela TRON
65000, // Ilość energii
1, // Czas trwania (godziny)
'moj-tx-id', // Zewnętrzne ID (opcjonalne)
false // Nie aktywuj adresu (opcjonalne)
);
// Sprawdź status transakcji
$status = $client->checkTransaction($transaction['result']['transaction_id']);
} catch (TronZapException $e) {
echo "Błąd: " . $e->getMessage() . " (Kod: " . $e->getCode() . ")\n";
}import { TronZapClient, TronZapError } from 'tronzap-sdk';
// Inicjalizacja klienta
const client = new TronZapClient({
apiToken: 'twoj_token_api',
apiSecret: 'twoj_sekret_api'
});
async function main() {
try {
// Pobierz dostępne usługi
const services = await client.getServices();
console.log(services);
// Utwórz transakcję energii
const transaction = await client.createEnergyTransaction(
'ADRES_PORTFELA_TRON',
65150,
1,
'moj-tx-id', // Opcjonalne zewnętrzne ID
true // Opcjonalne: aktywuj adres jeśli potrzeba
);
console.log(transaction);
// Sprawdź status transakcji
const status = await client.checkTransaction(transaction.result.transaction_id);
console.log(status);
} catch (error) {
if (error instanceof TronZapError) {
console.error(`Błąd API TronZap: ${error.message} (Kod: ${error.code})`);
} else {
// Sprawdź typ błędu przed dostępem do jego właściwości
if (error instanceof Error) {
console.error(`Błąd ogólny: ${error.message}`);
} else {
console.error('Wystąpił nieznany błąd:', error);
}
}
}
}
main();from tronzap_sdk import TronZapClient, TronZapError
# Inicjalizacja klienta
api_token = 'twoj_token_api'
api_secret = 'twoj_sekret_api'
client = TronZapClient(api_token, api_secret)
try:
# Pobierz dostępne usługi
services = client.get_services()
# Utwórz transakcję energii
transaction = client.create_energy_transaction(
address='ADRES_TRX', # Adres portfela TRON
energy_amount=65000, # Ilość energii
duration=1, # Czas trwania (godziny)
external_id='moj-tx-id', # Zewnętrzne ID (opcjonalne)
activate_address=False # Nie aktywuj adresu (opcjonalne)
)
# Sprawdź status transakcji
status = client.check_transaction(transaction['result']['transaction_id'])
except TronZapError as e:
print(f"Błąd: {e.message} (Kod: {e.code})")package main
import (
"context"
"errors"
"fmt"
"log"
tronzap "github.com/tron-energy-market/tronzap-sdk-go"
)
func main() {
// Inicjalizacja klienta
client := tronzap.NewClient("your_api_token", "your_api_secret")
ctx := context.Background()
// Pobierz dostępne usługi
services, err := client.GetServices(ctx)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", services)
// Utwórz transakcję energii
tx, err := client.CreateEnergyTransaction(ctx, tronzap.EnergyTransactionRequest{
Address: "TRX_ADDRESS", // Adres portfela TRON
Energy: 65000, // Ilość energii
Duration: 1, // Czas trwania (godziny)
ExternalID: "my-tx-id", // Zewnętrzne ID (opcjonalne)
ActivateAddress: false, // Nie aktywuj adresu (opcjonalne)
})
var apiErr *tronzap.APIError
if errors.As(err, &apiErr) {
log.Fatalf("Błąd: %s (Kod: %d)", apiErr.Message, apiErr.Code)
} else if err != nil {
log.Fatal(err)
}
// Sprawdź status transakcji
status, err := client.CheckTransaction(ctx, tronzap.CheckTransactionRequest{ID: tx.ID})
if err != nil {
log.Fatal(err)
}
fmt.Println(status.Status)
}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) {
// Inicjalizacja klienta
TronzapClient client = TronzapClient.builder()
.apiToken("your_api_token")
.apiSecret("your_api_secret")
.build();
try {
// Pobierz dostępne usługi
Services services = client.getServices();
System.out.println(services);
// Utwórz transakcję energii
Transaction tx = client.createEnergyTransaction(
EnergyTransactionRequest.builder("TRX_ADDRESS", 65000) // Adres portfela TRON, Ilość energii
.duration(1) // Czas trwania (godziny)
.externalId("my-tx-id") // Zewnętrzne ID (opcjonalne)
.activateAddress(false) // Nie aktywuj adresu (opcjonalne)
.build());
// Sprawdź status transakcji
Transaction status = client.checkTransaction(CheckTransactionRequest.byId(tx.id()));
System.out.println(status.status());
} catch (ApiException e) {
System.err.println("Błąd: " + e.getMessage() + " (Kod: " + e.getCode() + ")");
} catch (TronzapException e) {
System.err.println("Błąd: " + e.getMessage());
}
}
}using Tronzap.Sdk;
using Tronzap.Sdk.Exceptions;
using Tronzap.Sdk.Requests;
using Tronzap.Sdk.Responses;
// Inicjalizacja klienta
var client = new TronzapClient(new TronzapClientOptions
{
ApiToken = "your_api_token",
ApiSecret = "your_api_secret",
});
try
{
// Pobierz dostępne usługi
ServiceRates services = await client.GetServicesAsync();
Console.WriteLine(services);
// Utwórz transakcję energii
Transaction tx = await client.CreateEnergyTransactionAsync(new EnergyTransactionRequest
{
Address = "TRX_ADDRESS", // Adres portfela TRON
Energy = 65000, // Ilość energii
Duration = 1, // Czas trwania (godziny)
ExternalId = "my-tx-id", // Zewnętrzne ID (opcjonalne)
ActivateAddress = false, // Nie aktywuj adresu (opcjonalne)
});
// Sprawdź status transakcji
Transaction status = await client.CheckTransactionAsync(CheckTransactionRequest.ById(tx.Id));
Console.WriteLine(status.Status);
}
catch (TronzapApiException e)
{
Console.Error.WriteLine($"Błąd: {e.Message} (Kod: {e.Code})");
}
catch (TronzapException e)
{
Console.Error.WriteLine($"Błąd: {e.Message}");
}require "tronzap"
# Inicjalizacja klienta
client = Tronzap::Client.new(
api_token: "your_api_token",
api_secret: "your_api_secret"
)
begin
# Pobierz dostępne usługi
services = client.get_services
p services
# Utwórz transakcję energii
transaction = client.create_energy_transaction(
address: "TRX_ADDRESS", # Adres portfela TRON
energy: 65000, # Ilość energii
duration: 1, # Czas trwania (godziny)
external_id: "my-tx-id", # Zewnętrzne ID (opcjonalne)
activate_address: false # Nie aktywuj adresu (opcjonalne)
)
# Sprawdź status transakcji
status = client.check_transaction(id: transaction.id)
puts status.status
rescue Tronzap::ApiError => e
warn "Błąd: #{e.message} (Kod: #{e.code})"
rescue Tronzap::Error => e
warn "Błąd: #{e.message}"
enduse tronzap_sdk::requests::{CheckTransactionRequest, EnergyTransactionRequest};
use tronzap_sdk::{TronzapClient, TronzapError};
async fn run() -> Result<(), TronzapError> {
// Inicjalizacja klienta
let client = TronzapClient::new("your_api_token", "your_api_secret")?;
// Pobierz dostępne usługi
let services = client.get_services().await?;
println!("{services:?}");
// Utwórz transakcję energii
let request = EnergyTransactionRequest::new("TRX_ADDRESS", 65000) // Adres portfela TRON, Ilość energii
.duration(1) // Czas trwania (godziny)
.external_id("my-tx-id") // Zewnętrzne ID (opcjonalne)
.activate_address(false); // Nie aktywuj adresu (opcjonalne)
let tx = client.create_energy_transaction(&request).await?;
// Sprawdź status transakcji
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!("Błąd: {} (Kod: {:?})", e.message(), e.code())
}
Err(e) => eprintln!("Błąd: {e}"),
}
}Funkcje
Wszystkie nasze SDK zapewniają następujące funkcje:
- Uwierzytelnianie: Automatyczne generowanie podpisów API dla bezpiecznych żądań
- Informacje o usługach: Pobieranie dostępnych usług i cen
- Transakcje energii: Tworzenie transakcji do zakupu energii
- Przepustowość i pakiety zasobów: Zakup przepustowości lub energii i przepustowości w jednej transakcji
- Szacowanie energii i informacje o adresie: Szacowanie energii dla przelewu USDT oraz pobieranie zasobów i sald adresu
- Kontrole AML: Ocena ryzyka adresów i transakcji
- Aktywacja adresu: Tworzenie transakcji do aktywacji adresu
- Status transakcji: Sprawdzanie statusu transakcji
- Zarządzanie kontem: Pobieranie salda konta i informacji o użyciu
Dokumentacja
Pełną dokumentację każdego SDK znajdziesz w odpowiednich repozytoriach GitHub.
