Este repositório contém a suíte completa de exploradores de blocos da rede Planet One (PLO). A suíte é dividida em dois componentes principais que trabalham de forma coordenada:
- Planet One Explorer (Frontend): Uma aplicação web moderna, rápida e esteticamente premium construída em React, TypeScript, Vite e Tailwind CSS.
- Planet One Full Explorer (Indexador e API): Um backend robusto e leve construído em PHP e SQLite, responsável por indexar toda a blockchain em banco de dados relacional SQL, fornecer APIs REST completas e uma interface de terminal técnica.
O frontend é a interface premium do usuário para inspecionar blocos, transações de usuários, contratos inteligentes (Ride), balanços de endereços, validadores/consenso e transações pendentes em tempo real (Mempool).
- Design Premium & Glassmorphic: Interface visual impecável compatível com os modos Light e Dark.
- Barra de Dados Unificada (Sleek Data Bar): Exibição simétrica em 6 colunas de estatísticas de rede em tempo real.
- Seção de Transações Pendentes (Mempool): Monitoramento em tempo real de transações na fila do nó aguardando inclusão em novos blocos.
- Integração de APIs Inteligente: Consome gRPC/RPC diretamente do nó da rede e possui fallback automático para a API do Full Explorer SQL para pesquisas retroativas, contagens de endereços e transações totais.
- Mapeador EVM/PLO: Conversor visual de endereços de formato PLO/Bech32 para EVM/Hexadecimal para interações de contratos inteligentes.
- Visualização de Contratos Inteligentes: Interface dedicada para verificar scripts Ride instalados e suas chamadas de função.
- Node.js (v18+) e npm ou bun instalados.
-
Entre na pasta do explorer:
cd explorer -
Instale as dependências:
npm install
-
Inicie o servidor de desenvolvimento Vite local:
npm run dev
A aplicação estará disponível em
http://localhost:5173. -
Para compilar o bundle estático de produção:
npm run build
Localizado em ./fullexplorer, o Full Explorer é um daemon de indexação on-chain extremamente rápido e leve baseado em PHP e SQLite. Ele escuta cada bloco gerado pelo nó da blockchain, normaliza, analisa e popula tabelas SQL locais.
- Indexação Incremental de Alta Velocidade: Sincroniza blocos inteiros em frações de segundos.
- API REST Nativa: Fornece endpoints rápidos para consultar estatísticas de endereços ativos, ranking de moedas em circulação, transações, blocos de forma detalhada e transações internas.
- Baixo Consumo de Recursos: Sem necessidade de dependências pesadas, utilizando apenas SQLite como base de dados relacional.
- PHP (v7.4 - v8.3) instalado.
- Extensões do PHP habilitadas:
sqlite3,curl,json,mbstring.
-
Para instalar e configurar o ambiente de forma automática pela primeira vez:
npm run setup:fullexplorer
-
Para iniciar o indexador e o servidor local de desenvolvimento na porta
8000:npm run start:fullexplorer
- O servidor web PHP estará ativo em
http://localhost:8000fornecendo as APIs de dados históricos. - O daemon de sincronização em segundo plano estará ativado populando o arquivo de banco de dados SQLite.
- O servidor web PHP estará ativo em
-
Para ler os logs de sincronização local do Full Explorer:
npm run logs:fullexplorer
Dentro do diretório explorer, os seguintes comandos estão prontos para uso através do seu gerenciador de pacotes:
| Comando | Descrição |
|---|---|
npm run dev |
Inicia o servidor local de desenvolvimento do frontend React/Vite. |
npm run build |
Compila o frontend de produção otimizado na pasta dist/. |
npm run start:explorer |
Executa o script interativo de inicialização do frontend. |
npm run setup:fullexplorer |
Instala dependências do Composer e inicializa pastas para o Full Explorer. |
npm run start:fullexplorer |
Executa o painel interativo para iniciar o indexador e servidor PHP localmente. |
npm run logs:fullexplorer |
Monitora em tempo real a sincronização e logs do indexador de blocos do Full Explorer. |
npm run preview |
Inicia um servidor local para visualizar a build de produção compilada. |
O build estático gerado por npm run build pode ser servido por qualquer servidor web moderno de arquivos estáticos como Nginx, Apache ou Firebase Hosting.
- Firebase Hosting: Já vem pré-configurado. Para publicar, basta executar
npx firebase deploycaso as credenciais estejam ativas.
Para servir a API do Full Explorer no subdomínio fullexplorer.planetone.io utilizando PHP-FPM, adicione o seguinte bloco no seu Nginx:
server {
listen 80;
listen [::]:80;
server_name fullexplorer.planetone.io;
root /home/diegooris/Documentos/planetone/explorer/fullexplorer;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php-fpm.sock; # ajuste para sua versão do PHP
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location /var {
deny all;
return 403;
}
}Crie o arquivo /etc/systemd/system/planetone-indexer.service para manter o indexador ativo em segundo plano sincronizando blocos ininterruptamente:
[Unit]
Description=Planet One Archival Indexer Service
After=network.target
[Service]
Type=simple
User=diegooris
WorkingDirectory=/home/diegooris/Documentos/planetone/explorer/fullexplorer
ExecStart=/usr/bin/php /home/diegooris/Documentos/planetone/explorer/fullexplorer/w8_updater.php
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=planetone-indexer
[Install]
WantedBy=multi-user.targetAtive e inicie o serviço:
sudo systemctl daemon-reload
sudo systemctl enable planetone-indexer.service
sudo systemctl start planetone-indexer.serviceLicença de Uso - Planet One Explorer Suite (Estudo e Transparência)
Copyright (c) 2026 Diego Henrique Roa Antunes (Diego Oris). Todos os direitos reservados.
O código-fonte desta suíte de exploradores de blocos é disponibilizado publicamente e deixado em aberto como um compromisso com a transparência total, descentralização e facilidade de auditoria da infraestrutura tecnológica da rede blockchain Planet One (PLO), além de servir de material educativo e de estudo pessoal para desenvolvedores da comunidade.
Ao acessar este repositório, você concorda expressamente com os seguintes termos:
- Transparência e Estudo: Você possui permissão total para ler, depurar, auditar e estudar este código-fonte para fins pessoais, acadêmicos ou de pesquisa.
- Proibição de Comercialização: É estritamente proibida qualquer exploração comercial, licenciamento, sublicenciamento ou venda deste software (completo ou em partes) para fins lucrativos de terceiros.
- Restrição de Uso em Produção: É proibido implantar ou executar este software de forma pública ou em redes concorrentes sem autorização prévia por escrito de Diego Henrique Roa Antunes.
- Modificação e Créditos: Alterações e clonagem do código-fonte para fins públicos exigem a manutenção explícita dos direitos autorais originais, atribuindo os devidos créditos de autoria intelectual ao autor original Diego Henrique Roa Antunes (Diego Oris).
Para obter permissões especiais além destas diretrizes de transparência, entre em contato diretamente com o titular dos direitos autorais.