tronzap-sdk
Version:
Official Node.js SDK for the TronZap API. TronZap is a platform for renting energy on the TRON blockchain. Buy TRON energy for cheap USDT transfers on TronZap.com
203 lines (162 loc) • 6.15 kB
Markdown
[](README.md) | **[Español](README.es.md)** | [Português](README.pt-br.md) | [Русский](README.ru.md)
SDK oficial de Node.js para la API de TronZap.
Este SDK te permite integrar fácilmente los servicios de TronZap para el alquiler de energía TRON.
TronZap.com te permite [comprar energía TRON](https://tronzap.com/), haciendo que las transferencias de USDT (TRC20) sean más baratas al reducir significativamente las tarifas de transacción.
👉 [Regístrate para obtener una clave API](https://tronzap.com) para comenzar a usar la Tron Energy API e integrarla a través del SDK.
```bash
npm install tronzap-sdk
yarn add tronzap-sdk
pnpm add tronzap-sdk
```
Este SDK está diseñado para funcionar en múltiples plataformas JavaScript/TypeScript:
- **Node.js**: v16.0.0 o superior
- **Bun**: v1.0.0 o superior
- **Deno**: v1.0.0 o superior
```typescript
import { TronZapClient } from 'tronzap-sdk';
// Inicializar el cliente
const client = new TronZapClient({
apiToken: 'tu_api_token',
apiSecret: 'tu_api_secret'
});
// Obtener servicios disponibles
const services = await client.getServices();
console.log(services);
// Obtener saldo de la cuenta
const balance = await client.getBalance();
console.log(balance);
// Estimar cantidad de energía para transferencia USDT
const estimate = await client.estimateEnergy(
'DIRECCION_ORIGEN_TRX',
'DIRECCION_DESTINO_TRX',
'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t' // Dirección del contrato USDT
);
console.log(estimate);
// Calcular costo de energía
const calculation = await client.calculate(
'DIRECCION_BILLETERA_TRON',
65150 // Cantidad recomendada para transferencias USDT
);
console.log(calculation);
// Crear transacción de energía
const transaction = await client.createEnergyTransaction(
'DIRECCION_BILLETERA_TRON',
65150, // Desde 60000
1, // Valores posibles: 1 o 24 horas
'mi-tx-id', // ID externo opcional
true // Opcional: activar dirección si es necesario
);
console.log(transaction);
// Verificar estado de la transacción
const status = await client.checkTransaction(transaction.id);
console.log(status);
// Obtener información de recarga directa
const rechargeInfo = await client.getDirectRechargeInfo();
console.log(rechargeInfo);
```
- Soporte completo para TypeScript
- Compatibilidad multiplataforma (Node.js, Bun, Deno)
- Obtener servicios disponibles
- Obtener saldo de cuenta
- Calcular costo de energía
- Crear transacciones de activación de dirección
- Crear transacciones de compra de energía
- Verificar estado de transacciones
- Obtener información de recarga directa
## Requisitos
- Node.js v16.0.0 o superior, o
- Bun v1.0.0 o superior, o
- Deno v1.0.0 o superior
## Manejo de Errores
El SDK lanza `TronZapError` cuando la API devuelve un error. Cada error incluye una propiedad `.code` y `.message` para depuración y manejo de casos específicos.
### Ejemplo
```typescript
import { TronZapClient, TronZapError, ErrorCode } from 'tronzap-sdk';
const client = new TronZapClient({
apiToken: 'tu_api_token',
apiSecret: 'tu_api_secret'
});
try {
const balance = await client.getBalance();
} catch (error) {
if (error instanceof TronZapError) {
switch (error.code) {
case ErrorCode.AUTH_ERROR:
console.error('Error de autenticación');
break;
case ErrorCode.INVALID_SERVICE_OR_PARAMS:
console.error('Servicio o parámetros inválidos');
break;
case ErrorCode.WALLET_NOT_FOUND:
console.error('Billetera interna no encontrada. Contacta a soporte.');
break;
case ErrorCode.INSUFFICIENT_FUNDS:
console.error('Fondos insuficientes');
break;
case ErrorCode.INVALID_TRON_ADDRESS:
console.error('Dirección TRON inválida');
break;
case ErrorCode.INVALID_ENERGY_AMOUNT:
console.error('Cantidad de energía inválida');
break;
case ErrorCode.INVALID_DURATION:
console.error('Duración inválida');
break;
case ErrorCode.TRANSACTION_NOT_FOUND:
console.error('Transacción no encontrada');
break;
case ErrorCode.ADDRESS_NOT_ACTIVATED:
console.error('Dirección no activada');
break;
case ErrorCode.ADDRESS_ALREADY_ACTIVATED:
console.error('Dirección ya activada');
break;
case ErrorCode.INTERNAL_SERVER_ERROR:
console.error('Error interno del servidor');
break;
default:
console.error(`Error no manejado ${error.code}: ${error.message}`);
}
} else {
console.error('Error inesperado:', error);
}
}
```
| Código | Constante | Descripción |
|--------|--------------------------------|-------------|
| 1 | `AUTH_ERROR` | Error de autenticación - Token API o firma inválidos |
| 2 | `INVALID_SERVICE_OR_PARAMS` | Servicio o parámetros inválidos |
| 5 | `WALLET_NOT_FOUND` | Billetera interna no encontrada. Contacta a soporte. |
| 6 | `INSUFFICIENT_FUNDS` | Fondos insuficientes |
| 10 | `INVALID_TRON_ADDRESS` | Dirección TRON inválida |
| 11 | `INVALID_ENERGY_AMOUNT` | Cantidad de energía inválida |
| 12 | `INVALID_DURATION` | Duración inválida |
| 20 | `TRANSACTION_NOT_FOUND` | Transacción no encontrada |
| 24 | `ADDRESS_NOT_ACTIVATED` | Dirección no activada |
| 25 | `ADDRESS_ALREADY_ACTIVATED` | Dirección ya activada |
| 500 | `INTERNAL_SERVER_ERROR` | Error interno del servidor - Contacta a soporte |
```bash
npm install
npm run build
npm test
npm run lint
npm run format
```
Para soporte, contáctanos en Telegram: [@tronzap_bot](https://t.me/tronzap_bot)
Este proyecto está licenciado bajo la Licencia MIT - ver el archivo [LICENSE](LICENSE) para más detalles.