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.17 kB
Markdown
[](README.md) | [Español](README.es.md) | **[Português](README.pt-br.md)** | [Русский](README.ru.md)
SDK oficial do Node.js para a API do TronZap.
Este SDK permite que você integre facilmente os serviços do TronZap para aluguel de energia TRON.
O TronZap.com permite que você [compre energia TRON](https://tronzap.com/), tornando as transferências de USDT (TRC20) mais baratas ao reduzir significativamente as taxas de transação.
👉 [Registre-se para obter uma chave API](https://tronzap.com) para começar a usar a Tron Energy API e integrá-la através do SDK.
```bash
npm install tronzap-sdk
yarn add tronzap-sdk
pnpm add tronzap-sdk
```
Este SDK foi projetado para funcionar em múltiplas plataformas JavaScript/TypeScript:
- **Node.js**: v16.0.0 ou superior
- **Bun**: v1.0.0 ou superior
- **Deno**: v1.0.0 ou superior
```typescript
import { TronZapClient } from 'tronzap-sdk';
// Inicializar o cliente
const client = new TronZapClient({
apiToken: 'seu_api_token',
apiSecret: 'seu_api_secret'
});
// Obter serviços disponíveis
const services = await client.getServices();
console.log(services);
// Obter saldo da conta
const balance = await client.getBalance();
console.log(balance);
// Estimar quantidade de energia para transferência USDT
const estimate = await client.estimateEnergy(
'ENDERECO_ORIGEM_TRX',
'ENDERECO_DESTINO_TRX',
'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t' // Endereço do contrato USDT
);
console.log(estimate);
// Calcular custo de energia
const calculation = await client.calculate(
'ENDERECO_CARTEIRA_TRON',
65150 // Quantidade recomendada para transferências USDT
);
console.log(calculation);
// Criar transação de energia
const transaction = await client.createEnergyTransaction(
'ENDERECO_CARTEIRA_TRON',
65150, // A partir de 60000
1, // Valores possíveis: 1 ou 24 horas
'meu-tx-id', // ID externo opcional
true // Opcional: ativar endereço se necessário
);
console.log(transaction);
// Verificar status da transação
const status = await client.checkTransaction(transaction.id);
console.log(status);
// Obter informações de recarga direta
const rechargeInfo = await client.getDirectRechargeInfo();
console.log(rechargeInfo);
```
- Suporte completo para TypeScript
- Compatibilidade multiplataforma (Node.js, Bun, Deno)
- Obter serviços disponíveis
- Obter saldo da conta
- Calcular custo de energia
- Criar transações de ativação de endereço
- Criar transações de compra de energia
- Verificar status de transações
- Obter informações de recarga direta
## Requisitos
- Node.js v16.0.0 ou superior, ou
- Bun v1.0.0 ou superior, ou
- Deno v1.0.0 ou superior
## Tratamento de Erros
O SDK lança `TronZapError` quando a API retorna um erro. Cada erro inclui uma propriedade `.code` e `.message` para depuração e tratamento de casos específicos.
### Exemplo
```typescript
import { TronZapClient, TronZapError, ErrorCode } from 'tronzap-sdk';
const client = new TronZapClient({
apiToken: 'seu_api_token',
apiSecret: 'seu_api_secret'
});
try {
const balance = await client.getBalance();
} catch (error) {
if (error instanceof TronZapError) {
switch (error.code) {
case ErrorCode.AUTH_ERROR:
console.error('Erro de autenticação');
break;
case ErrorCode.INVALID_SERVICE_OR_PARAMS:
console.error('Serviço ou parâmetros inválidos');
break;
case ErrorCode.WALLET_NOT_FOUND:
console.error('Carteira interna não encontrada. Entre em contato com o suporte.');
break;
case ErrorCode.INSUFFICIENT_FUNDS:
console.error('Fundos insuficientes');
break;
case ErrorCode.INVALID_TRON_ADDRESS:
console.error('Endereço TRON inválido');
break;
case ErrorCode.INVALID_ENERGY_AMOUNT:
console.error('Quantidade de energia inválida');
break;
case ErrorCode.INVALID_DURATION:
console.error('Duração inválida');
break;
case ErrorCode.TRANSACTION_NOT_FOUND:
console.error('Transação não encontrada');
break;
case ErrorCode.ADDRESS_NOT_ACTIVATED:
console.error('Endereço não ativado');
break;
case ErrorCode.ADDRESS_ALREADY_ACTIVATED:
console.error('Endereço já ativado');
break;
case ErrorCode.INTERNAL_SERVER_ERROR:
console.error('Erro interno do servidor');
break;
default:
console.error(`Erro não tratado ${error.code}: ${error.message}`);
}
} else {
console.error('Erro inesperado:', error);
}
}
```
| Código | Constante | Descrição |
|--------|--------------------------------|-------------|
| 1 | `AUTH_ERROR` | Erro de autenticação - Token API ou assinatura inválidos |
| 2 | `INVALID_SERVICE_OR_PARAMS` | Serviço ou parâmetros inválidos |
| 5 | `WALLET_NOT_FOUND` | Carteira interna não encontrada. Entre em contato com o suporte. |
| 6 | `INSUFFICIENT_FUNDS` | Fundos insuficientes |
| 10 | `INVALID_TRON_ADDRESS` | Endereço TRON inválido |
| 11 | `INVALID_ENERGY_AMOUNT` | Quantidade de energia inválida |
| 12 | `INVALID_DURATION` | Duração inválida |
| 20 | `TRANSACTION_NOT_FOUND` | Transação não encontrada |
| 24 | `ADDRESS_NOT_ACTIVATED` | Endereço não ativado |
| 25 | `ADDRESS_ALREADY_ACTIVATED` | Endereço já ativado |
| 500 | `INTERNAL_SERVER_ERROR` | Erro interno do servidor - Entre em contato com o suporte |
```bash
npm install
npm run build
npm test
npm run lint
npm run format
```
Para suporte, entre em contato conosco no Telegram: [@tronzap_bot](https://t.me/tronzap_bot)
Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICENSE) para mais detalhes.