# 🌐 **Documentação da API - DEJO Node**

## 📌 **Visão Geral**
O **DEJO Node** expõe uma API RPC/WebSockets para permitir **interação com a blockchain**, incluindo envio de transações, consulta de blocos e eventos em tempo real.

---

## **1️⃣ Endpoints REST**

### **1.1 - Consultar um Bloco**
**GET /block/{id}**
- Retorna informações sobre um bloco específico.

📌 **Exemplo de resposta:**
```json
{
  "blockHeight": 10234,
  "hash": "0xa7b9c...",
  "previousHash": "0x9f8a...",
  "timestamp": 1712456789,
  "transactions": ["0xabc123", "0xdef456"]
}
```

### **1.2 - Enviar uma Transação**
**POST /tx**
- Envia uma nova transação para a rede.

📌 **Exemplo de requisição:**
```json
{
  "from": "0x123...",
  "to": "0xabc...",
  "value": 100,
  "gas": 21000,
  "signature": "0x9f8a..."
}
```

📌 **Exemplo de resposta:**
```json
{
  "status": "pending",
  "txHash": "0xdef789..."
}
```

### **1.3 - Consultar Status de uma Transação**
**GET /tx/{hash}**
- Retorna o status de uma transação específica.

📌 **Exemplo de resposta:**
```json
{
  "txHash": "0xdef789...",
  "status": "confirmed",
  "blockHeight": 10235
}
```

---

## **2️⃣ WebSockets para Eventos em Tempo Real**

### **2.1 - Subscribing em Novos Blocos**
**WS /events**
- Notifica sempre que um novo bloco é minerado.

📌 **Exemplo de mensagem recebida:**
```json
{
  "event": "newBlock",
  "blockHeight": 10236,
  "hash": "0xbbc345..."
}
```

### **2.2 - Subscribing em Transações Confirmadas**
**WS /events**
- Notifica quando uma transação específica é confirmada.

📌 **Exemplo de mensagem recebida:**
```json
{
  "event": "txConfirmed",
  "txHash": "0xdef789...",
  "blockHeight": 10235
}
```

---

📌 **Este documento será atualizado conforme novos endpoints forem adicionados.**

🚀 **DEJO Node: API eficiente para interação com a blockchain!** 🔥