Conheça o onpostt – Protocolo Descentralizado para Publicação de Blocos Assinados em Redes Sociais
Conheça o onpostt – Protocolo Descentralizado para Publicação de Blocos Assinados em Redes Sociais
Olá, devs! 🚀
Quero apresentar o onpostt, um protocolo descentralizado inspirado em conceitos de blockchain e redes como o Bitcoin, mas voltado para publicações em redes sociais e sistemas P2P.
📌 O que é o onpostt?
É um protocolo que utiliza relays WebSocket, blocos assinados criptograficamente e estrutura JSON modular para criar uma rede social ou sistema de comunicação totalmente descentralizado, sem depender de bancos de dados tradicionais ou servidores centralizados.
🔧 Principais Características
✅ Desenvolvido em Node.js
✅ Cada bloco é um arquivo .json, com ID único e pubkey
✅ Totalmente baseado em WebSocket e P2P
✅ Sistema de querys e filtros personalizados
✅ Escalável, leve e fácil de integrar
🔐 Segurança & Privacidade
Blocos são assinados com chave privada
Total controle do usuário sobre seus dados
Comunicação é descentralizada, resistente à censura
Assinaturas digitais garantem autenticidade dos dados
📈 Escalabilidade & Flexibilidade
Estrutura JSON modular
Suporte a múltiplos relays simultâneos
Facilmente integrável com outras soluções Web3 ou apps tradicionais
📚 Como usar?
Inclua a biblioteca no seu projeto:
<script src="onpostt.min.js"></script>
O objeto onpostt oferece métodos para:
🔑 Geração de Chaves
onpostt.generateKeys(); // gera par de chaves onpostt.generateKeysCustom("minha_senha"); // gera com string customizada
✍️ Assinar e Verificar Blocos
onpostt.signBlock(bloco, privateKey); onpostt.verifySignature(pubkey, mensagem, assinatura);
🌐 Conectar a Relays
onpostt.connect(['ws://localhost:3000']);
📤 Enviar um Post
const block = onpostt.createPost("Conteúdo do post", privateKey, "meuapp.com"); onpostt.sendBlock(block, (res) => console.log("Enviado:", res));
🔄 Subscrever a Eventos
onpostt.sub({ mode: 'post', query: [["username", "lanpião.dev"]], app: "mariabonita.com.br" }, (evento) => { console.log("Novo evento:", evento); });
💬 Comunicação Privada
Você pode enviar mensagens privadas criptografadas e assinar digitalmente os blocos com segurança.
onpostt.createMessage("Oi, tudo bem?", pubkeyDestinatario, privateKey, "meuapp");
Só o destinatário com a chave privada correta pode acessar as mensagens!
🧪 Exemplo Prático
Quer ver funcionando? Veja um trecho real de código para criar e enviar um bloco:
`async function post() {
const privateKey = '...';
const pubkey = onpostt.generatePublicKey(privateKey);
const block = {
pubkey,
created_at: Math.floor(Date.now() / 1000),
mode: "post",
query: [["username", "lanpião.dev"]],
content: "Rei do Cangaço",
app: "mariabonita.com.br"
};
const signed = await onpostt.signBlock(block, privateKey);
onpostt.sendBlock(signed, console.log);
}`
🔍 Conclusão
O onpostt é uma alternativa leve, segura e descentralizada para criar interações sociais e mensageiras sem depender de servidores ou plataformas centralizadas.
Se você curte liberdade digital, segurança por padrão e descentralização, dá uma olhada no projeto! 🚀
Ficou curioso? Quer contribuir ou testar?
💬 Comenta aí ou chama no https://github.com/sempicanha/onpostt