Nosso protocolo é uma solução inovadora semelhante a rede Bitcoin, porém utilizando uma abordagem baseada em Transmissão por Relays e Basic BlockChain para rede sociais e outras aplicações. Os dados são armazenados em blocos descentralizados, assinados e criptografados com a chave privada do usuário.
Com a criptografia baseada em chaves privadas, os usuários têm total controle sobre seus dados. A descentralização garante resistência à censura e elimina pontos únicos de falha.
A estrutura modular baseada em JSON permite fácil integração com outras tecnologias e um crescimento escalável sem comprometer a eficiência.
<script src="onpostt.min.js"></script>
onpostt.connect(['ws://localhost:3000', 'ws://localhost:4000']);
async function post() {
var privateKey = '21e28dfffa49daf6373527c579ee16dea1afd7c8a2f95d9eb2e6aeb0a8d6d3d2';
var pubkey = onpostt.generatePublicKey(privateKey);
var block = {
pubkey: pubkey, // Chave pública do usuário
created_at: Math.floor(Date.now() / 1000), // Timestamp atual
mode: "post", // Tipo de evento (1 = Post)
query: [
["username", "lanpião.dev"],
["site", "google.com"]
],
content: 'Rei do Cangaço', // Conteúdo da postagem
app: 'mariabonita.com.br' // Nome do aplicativo que está publicando
};
var BlockSigned = await onpostt.signBlock(block, privateKey);
console.log('Block Assinado:', BlockSigned);
// BlockSigned.content = 'oalr'
onpostt.sendBlock(BlockSigned, function(response) {
console.log('Resposta do relay:', response);
});
}
onpostt.sub({
mode: 'post', // Filtra por tipo de evento
query: [["username", "lanpião.dev"], ["site", "mariabonita.com.br"]], // Filtra por múltiplas chaves no campo 'query'
app: "mariabonita.com.br", // Filtra pelo nome do app
limit: 10, // Limita o número de eventos
offset: 0 // Pula os primeiros 5 eventos
}, function(handleEvent) {
console.log('Eventos lanpião.dev, mariabonita.com.br, app:mariabonita.com.br', handleEvent);
});
onpostt.sub({
mode: 'post', // Filtra por tipo de evento
query: [["username", "lanpião.dev2"], ["site", "mariabonita.com.br"]], // Filtra por múltiplas chaves no campo 'query'
app: "mariabonita.com.br", // Filtra pelo nome do app
limit: 10, // Limita o número de eventos
offset: 0 // Pula os primeiros 5 eventos
}, function(handleEvent) {
console.log('Eventos jackson.dev2:', handleEvent);
});
onpostt.sub({
pubkey: '03dca175856ff79a1eb5d3b368b6840af29c38c36bf3291d07573ddcdf59110523',
mode: 'post', // Filtra por tipo de evento
query: [["username", "lanpião.dev"], ["site", "mariabonita.com.br"]], // Filtra por múltiplas chaves no campo 'query'
app: "jsaplication.com.br", // Filtra pelo nome do app
limit: 10, // Limita o número de eventos
offset: 0 // Pula os primeiros 5 eventos
}, function(handleEvent) {
console.log('Eventos personalizados author:', handleEvent);
});
onpostt.sub({
pubkey: '03dca175856ff79a1eb5d3b368b6840af29c38c36bf3291d07573ddcdf59110523',
mode: 'post', // Filtra por tipo de evento
id:"91707575e4b2b325a67b03a57a8bf1218c7b7ac7399ac5705af5c21dca8de18a",
query: [["username", "lanpião.dev"], ["site", "mariabonita.com.br"]], // Filtra por múltiplas chaves no campo 'query'
app: "mariabonita.com.br", // Filtra pelo nome do app
limit: 10, // Limita o número de eventos
offset: 0 // Pula os primeiros 5 eventos
}, function(handleEvent) {
console.log('Eventos getFile', handleEvent);
});
onpostt.sub({
pubkey: '03dca175856ff79a1eb5d3b368b6840af29c38c36bf3291d07573ddcdf59110523',
// id: "4124e36b3a60e50711419be4c5f2febc565f78b2215ce6ac7a510d40572dd905",
mode: 'post', // Filtra por tipo de evento
query: [["username", "lanpião.dev"], ["site", "mariabonita.com.br"]], // Filtra por múltiplas chaves no campo 'query'
app: "mariabonita.com.br", // Filtra pelo nome do app
limit: 20, // Limita o número de eventos
offset: 5 // Pula os primeiros 5 eventos
}, function(handleEvent) {
console.log('Eventos lite 10, offset 5', handleEvent);
});
[
{
"pubkey": "03dca175856ff79a1eb5d3b368b6840af29c38c36bf3291d07573ddcdf59110523",
"created_at": 1740544911,
"mode": "post",
"query": "[[\"username\",\"jackson.dev\"],[\"site\",\"jsaplication.com.br\"]]",
"content": "Mundo Novo",
"app": "jsaplication.com.br",
"id": "91707575e4b2b325a67b03a57a8bf1218c7b7ac7399ac5705af5c21dca8de18a",
"sig": "3045022069e88ba2ca027545a209037bdcd2260f79a97e6618147a63f463b227e68ad14e022100a3e45c7f7d2b5509e2a6a741a7f0aef928c056e1111ae4e48b45ca2be4e28b45"
}
]