# ✅ Checklist Detalhado de Tarefas Pendentes - DEJO Node

Este arquivo será utilizado para acompanhar o progresso detalhado das pendências restantes até a finalização da primeira versão completa do `dejo_node`.

---

## 🧪 Revisão e Correção de Funcionalidades Existentes

- [ ] Verificar se todos os pacotes possuem `go build` e `go test` funcionando
- [ ] Consolidar estrutura de `Block` em `blockchain/block.go`
- [ ] Validar `finality.go` (consensus/simple)
  - [ ] Verificar uso correto de `storage.Storage`
  - [ ] Confirmar estrutura correta do bloco (sem campos desconhecidos)

---

## 🔧 Healthcheck

- [ ] Criar pacote `internal/healthcheck`
  - [ ] Implementar endpoint `/live`
  - [ ] Implementar endpoint `/ready`
  - [ ] Implementar endpoint `/startup`
  - [ ] Incluir integração com `main.go`

---

## 🧠 Mempool

- [ ] Validar se `mempool` realmente existe ou precisa ser recriado
- [ ] Se necessário, recriar:
  - [ ] Estrutura de pool de transações pendentes
  - [ ] Métodos para adicionar, validar e expurgar transações

---

## 🔌 RPC/WebSockets

- [ ] Criar pacote `internal/rpc`
  - [ ] Endpoint para consulta de bloco por hash
  - [ ] Endpoint para envio de nova transação
  - [ ] Suporte WebSocket para eventos em tempo real

---

## 🔐 Security

- [ ] Definir escopo inicial de `security`
  - [ ] Criar proteção básica contra flood (ex.: IP rate limit)
  - [ ] Adicionar logs de requisições suspeitas

---

## 📄 Documentação e Planejamento

- [ ] Atualizar `docs/planning.md` com estado real das fases
- [ ] Atualizar `/docs/tasks_todo.md` a cada entrega
