Skip to content

SDK Библиотеки ​

TronZap предоставляет официальные SDK библиотеки для нескольких языков программирования, чтобы помочь вам легко интегрироваться с нашим API. Эти SDK обрабатывают аутентификацию, API-вызовы и обработку ошибок, позволяя вам сосредоточиться на разработке вашего приложения.

Доступные SDK ​

В настоящее время мы предлагаем SDK для следующих языков:

PHP SDK ​

bash
composer require tron-energy-market/tronzap-sdk-php

Смотреть PHP SDK на GitHub

Node.js SDK ​

Этот SDK разработан для работы на нескольких платформах JavaScript/TypeScript:

  • Node.js: версии 16.0.0 и выше
  • Bun: версии 1.0.0 и выше
  • Deno: версии 1.0.0 и выше
bash
npm install tronzap-sdk
# или
yarn add tronzap-sdk
# или
pnpm add tronzap-sdk

Смотреть Node.js SDK на GitHub

Python SDK ​

bash
pip install tronzap-sdk

Смотреть Python SDK на GitHub

Go SDK ​

Требования: Go 1.21 и выше, без сторонних зависимостей.

bash
go get github.com/tron-energy-market/tronzap-sdk-go

Смотреть Go SDK на GitHub

Java 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")

Смотреть Java SDK на GitHub

.NET (C#) SDK ​

Требования: .NET 8 и выше.

bash
dotnet add package Tronzap.Sdk

Смотреть .NET SDK на GitHub

Ruby SDK ​

Требования: Ruby 3.3 и выше.

ruby
# Добавьте gem в ваш Gemfile
gem "tronzap-sdk"
bash
# или установите его напрямую
gem install tronzap-sdk

Смотреть Ruby SDK на GitHub

Rust SDK ​

Требования: Rust 1.85 и выше, среда выполнения Tokio.

toml
[dependencies]
tronzap-sdk = "1.0"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }

Смотреть Rust SDK на GitHub

Базовое использование ​

Все SDK предоставляют схожий интерфейс для взаимодействия с API TronZap. Вот несколько базовых примеров:

php
<?php
use TronZap\Client;
use TronZap\Exception\TronZapException;

// Инициализация клиента
$apiToken = 'ваш_api_token';
$apiSecret = 'ваш_api_secret';
$client = new Client($apiToken, $apiSecret);

try {
    // Получение доступных сервисов
    $services = $client->getServices();

    // Создание транзакции энергии
    $transaction = $client->createEnergyTransaction(
        'TRX_АДРЕС',   // TRON адрес кошелька
        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(
      'TRX_АДРЕС',   // TRON адрес кошелька
      65000,         // Количество энергии
      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: ${error.message} (Code: ${error.code})`);
    } else {
      if (error instanceof Error) {
        console.error(`General error: ${error.message}`);
      } else {
        console.error('An unknown error occurred:', error);
      }
    }
  }
}

main();
python
from tronzap_sdk import TronZapClient, TronZapError

# Инициализация клиента
api_token = 'ваш_api_token'
api_secret = 'ваш_api_secret'
client = TronZapClient(api_token, api_secret)

try:
    # Получение доступных сервисов
    services = client.get_services()

    # Создание транзакции энергии
    transaction = client.create_energy_transaction(
        address='TRX_АДРЕС',      # TRON адрес кошелька
        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", // TRON адрес кошелька
		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) // TRON адрес кошелька, Количество энергии
                            .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",   // TRON адрес кошелька
        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",   # TRON адрес кошелька
    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}"
end
rust
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) // TRON адрес кошелька, Количество энергии
        .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 подписей для безопасных запросов
  • Информация о сервисах: Получение доступных сервисов и цен
  • Транзакции энергии: Создание транзакций для покупки энергии
  • Пропускная способность и пакеты ресурсов: Покупка bandwidth, или энергии и bandwidth в одной транзакции
  • Оценка энергии и информация об адресе: Расчёт энергии для перевода USDT, получение ресурсов и балансов адреса
  • AML-проверки: Проверка адресов и транзакций на риски
  • Активация адреса: Создание транзакций для активации адреса
  • Статус транзакции: Проверка статуса ваших транзакций
  • Управление аккаунтом: Получение информации о балансе и использовании аккаунта

Документация ​

Для полной документации по каждому SDK, пожалуйста, обратитесь к соответствующим репозиториям на GitHub.

Tron Energy API Documentation