5967820 on Nostr: #tuxdobananil #explains #nips #nip-01 # NIP-01: O BĆ”sico do Nostr š ## VisĆ£o ...
#tuxdobananil #explains #nips #nip-01
# NIP-01: O BĆ”sico do Nostr š
## VisĆ£o Geral
NIP-01 estabelece o fundamento do protocolo Nostr, detalhando como eventos e assinaturas devem ser gerenciados em uma rede descentralizada. Ć essencial para garantir que todos sigam um padrĆ£o coerente, promovendo interoperabilidade e seguranƧa.
### šļø Eventos e Assinaturas
- Cada usuĆ”rio possui um par de chaves, seguindo o padrĆ£o de assinaturas Schnorr na curva `secp256k1`.
- Os eventos sĆ£o a unidade bĆ”sica de dados, contendo metadados como a chave pĆŗblica do criador, timestamp, tipo de evento (kind), tags e conteĆŗdo, todos verificados por uma assinatura digital.
### š·ļø Tags
- Utilizadas para categorizar e facilitar a busca de eventos, permitindo referĆŖncias a outros eventos, usuĆ”rios e URLs de relays recomendados.
- TrĆŖs tags padrĆ£o: `e` para eventos, `p` para usuĆ”rios e `a` para eventos substituĆveis ou parametrizados.
### š¢ Kinds
- Define a natureza e a interpretaĆ§Ć£o do conteĆŗdo dos eventos, como metadados do usuĆ”rio ou notas de texto.
- Inclui convenƧƵes para faixas de `kinds`, diferenciando eventos regulares, substituĆveis, efĆŖmeros e substituĆveis parametrizados.
### š” ComunicaĆ§Ć£o Cliente-Relay
- Os relays expƵem endpoints de WebSocket para conexƵes de clientes, suportando envio de eventos e criaĆ§Ć£o de assinaturas para recebimento de novos eventos.
#### Mensagens do Cliente para o Relay:
- `["EVENT", <evento JSON>]`: Publicar eventos.
- `["REQ", <id da subscriĆ§Ć£o>, <filtros>]`: Solicitar eventos e inscrever-se para atualizaƧƵes.
- `["CLOSE", <id da subscriĆ§Ć£o>]`: Encerrar subscriƧƵes anteriores.
#### Mensagens do Relay para o Cliente:
- `["EVENT", <id da subscriĆ§Ć£o>, <evento JSON>]`: Envio de eventos solicitados.
- `["OK", <id do evento>, <true|false>, <mensagem>]`: ConfirmaĆ§Ć£o ou negaĆ§Ć£o de eventos publicados.
- `["EOSE", <id da subscriĆ§Ć£o>]`: Indica o fim dos eventos armazenados.
- `["CLOSED", <id da subscriĆ§Ć£o>, <mensagem>]`: SubscriĆ§Ć£o encerrada pelo servidor.
- `["NOTICE", <mensagem>]`: Mensagens de erro ou avisos.
## ConclusĆ£o
NIP-01 Ć© o alicerce do Nostr, definindo o fluxo bĆ”sico e estruturas para uma comunicaĆ§Ć£o eficaz e segura dentro da rede. Sua implementaĆ§Ć£o correta Ć© crucial para a operaĆ§Ć£o e expansĆ£o da rede Nostr.
Published at
2024-03-26 22:03:37Event JSON
{
"id": "99d732a5ecaa296f751e4a1a9d23a2cb4749573e943cf9f184423c64da8bae1c",
"pubkey": "e12c1dd7fc1e5a6efa017760a3fb3977ee4b7fc519bbcea3e73f13742184b557",
"created_at": 1711490617,
"kind": 1,
"tags": [
[
"t",
"tuxdobananil"
],
[
"t",
"explains"
],
[
"t",
"nips"
],
[
"t",
"nip"
]
],
"content": "#tuxdobananil #explains #nips #nip-01\n\n# NIP-01: O BĆ”sico do Nostr š\n\n## VisĆ£o Geral\n\nNIP-01 estabelece o fundamento do protocolo Nostr, detalhando como eventos e assinaturas devem ser gerenciados em uma rede descentralizada. Ć essencial para garantir que todos sigam um padrĆ£o coerente, promovendo interoperabilidade e seguranƧa.\n\n### šļø Eventos e Assinaturas\n\n- Cada usuĆ”rio possui um par de chaves, seguindo o padrĆ£o de assinaturas Schnorr na curva `secp256k1`.\n- Os eventos sĆ£o a unidade bĆ”sica de dados, contendo metadados como a chave pĆŗblica do criador, timestamp, tipo de evento (kind), tags e conteĆŗdo, todos verificados por uma assinatura digital.\n\n### š·ļø Tags\n\n- Utilizadas para categorizar e facilitar a busca de eventos, permitindo referĆŖncias a outros eventos, usuĆ”rios e URLs de relays recomendados.\n- TrĆŖs tags padrĆ£o: `e` para eventos, `p` para usuĆ”rios e `a` para eventos substituĆveis ou parametrizados.\n\n### š¢ Kinds\n\n- Define a natureza e a interpretaĆ§Ć£o do conteĆŗdo dos eventos, como metadados do usuĆ”rio ou notas de texto.\n- Inclui convenƧƵes para faixas de `kinds`, diferenciando eventos regulares, substituĆveis, efĆŖmeros e substituĆveis parametrizados.\n\n### š” ComunicaĆ§Ć£o Cliente-Relay\n\n- Os relays expƵem endpoints de WebSocket para conexƵes de clientes, suportando envio de eventos e criaĆ§Ć£o de assinaturas para recebimento de novos eventos.\n\n#### Mensagens do Cliente para o Relay:\n\n- `[\"EVENT\", \u003cevento JSON\u003e]`: Publicar eventos.\n- `[\"REQ\", \u003cid da subscriĆ§Ć£o\u003e, \u003cfiltros\u003e]`: Solicitar eventos e inscrever-se para atualizaƧƵes.\n- `[\"CLOSE\", \u003cid da subscriĆ§Ć£o\u003e]`: Encerrar subscriƧƵes anteriores.\n\n#### Mensagens do Relay para o Cliente:\n\n- `[\"EVENT\", \u003cid da subscriĆ§Ć£o\u003e, \u003cevento JSON\u003e]`: Envio de eventos solicitados.\n- `[\"OK\", \u003cid do evento\u003e, \u003ctrue|false\u003e, \u003cmensagem\u003e]`: ConfirmaĆ§Ć£o ou negaĆ§Ć£o de eventos publicados.\n- `[\"EOSE\", \u003cid da subscriĆ§Ć£o\u003e]`: Indica o fim dos eventos armazenados.\n- `[\"CLOSED\", \u003cid da subscriĆ§Ć£o\u003e, \u003cmensagem\u003e]`: SubscriĆ§Ć£o encerrada pelo servidor.\n- `[\"NOTICE\", \u003cmensagem\u003e]`: Mensagens de erro ou avisos.\n\n## ConclusĆ£o\n\nNIP-01 Ć© o alicerce do Nostr, definindo o fluxo bĆ”sico e estruturas para uma comunicaĆ§Ć£o eficaz e segura dentro da rede. Sua implementaĆ§Ć£o correta Ć© crucial para a operaĆ§Ć£o e expansĆ£o da rede Nostr.",
"sig": "b8ad79527d3c10a160d25c4eb03dae8e7ea4614e60578b50a2b34e93aebc8913135ce27a3b801b02db59bd8abf350617a3a99f392a94277b61337be9da344dd7"
}