From 0420a87d528246c2094afea2e1d05275cdb64982 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 07:34:06 -0400 Subject: [PATCH 01/22] feat(core): add the secp256k1, hashing and negentropy dependencies --- Cargo.lock | 175 ++++++++++++++++++++++++++++++++ Cargo.toml | 8 ++ crates/nostream-core/Cargo.toml | 9 ++ 3 files changed, 192 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 1f9bfbc8..14b39ade 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -108,6 +108,15 @@ dependencies = [ "serde_core", ] +[[package]] +name = "block-buffer" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa" +dependencies = [ + "hybrid-array", +] + [[package]] name = "bumpalo" version = "3.20.3" @@ -142,6 +151,28 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" +[[package]] +name = "chacha20" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "cipher" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8cf2a2c93cd704877c0858356ed03480ff301ee950b43f1cbe4573b088bfa6c" +dependencies = [ + "block-buffer", + "crypto-common", + "inout", +] + [[package]] name = "clap" version = "4.6.7" @@ -182,12 +213,33 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" +[[package]] +name = "cmov" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c9ea0ac24bc397ab3c98583a3c9ba74fa56b09a4449bbe172b9b1ddb016027a" + [[package]] name = "colorchoice" version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" +[[package]] +name = "const-oid" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" + +[[package]] +name = "cpufeatures" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca28b0ae3115b884660db4118d803791fd6756b6e88f39c0f3f7859060d7566" +dependencies = [ + "libc", +] + [[package]] name = "crossbeam-queue" version = "0.3.14" @@ -203,6 +255,36 @@ version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6" +[[package]] +name = "crypto-common" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453" +dependencies = [ + "hybrid-array", +] + +[[package]] +name = "ctutils" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03bb0e1cc970d482d121d9a1744999169b69a07470b3d644a7894e53fcaf4574" +dependencies = [ + "cmov", +] + +[[package]] +name = "digest" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "ctutils", +] + [[package]] name = "displaydoc" version = "0.2.7" @@ -427,6 +509,30 @@ dependencies = [ "serde_json", ] +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hkdf" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4aaa26c720c68b866f2c96ef5c1264b3e6f473fe5d4ce61cd44bbe913e553018" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6303bc9732ae41b04cb554b844a762b4115a61bfaa81e3e83050991eeb56863f" +dependencies = [ + "digest", +] + [[package]] name = "http" version = "1.5.0" @@ -466,6 +572,15 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" +[[package]] +name = "hybrid-array" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27f864f10dfb56725ce5ce5472bc52252c8f93a4ab86327122cebf62c5f59a17" +dependencies = [ + "typenum", +] + [[package]] name = "hyper" version = "1.12.0" @@ -635,6 +750,15 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "inout" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ce983bb6fb399067d101fbfc9e74174e07e9f29a2bc679efefeb8c645819c3f" +dependencies = [ + "hybrid-array", +] + [[package]] name = "is_terminal_polyfill" version = "1.70.2" @@ -734,6 +858,12 @@ dependencies = [ "windows-sys", ] +[[package]] +name = "negentropy" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3d66662cb5ca384d4991509755ed5a42dd8e31c4282bf881938e506fc3146ec" + [[package]] name = "nostream-admin" version = "0.1.0" @@ -775,7 +905,16 @@ dependencies = [ name = "nostream-core" version = "0.1.0" dependencies = [ + "base64", + "chacha20", + "hex", + "hkdf", + "hmac", + "negentropy", + "secp256k1", "serde", + "serde_json", + "sha2", "thiserror", "tokio", ] @@ -1169,6 +1308,25 @@ version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" +[[package]] +name = "secp256k1" +version = "0.33.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7f404a8dab7a7a5a631e741d8699aa9c8e1d689fc26ccf897c7187565490b69" +dependencies = [ + "rand 0.9.5", + "secp256k1-sys", +] + +[[package]] +name = "secp256k1-sys" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6b2992d4a3cd244539a7d5d0966aadbe5ca7fb868a5d7e38c29499b9e709bbd" +dependencies = [ + "cc", +] + [[package]] name = "serde" version = "1.0.229" @@ -1225,6 +1383,17 @@ dependencies = [ "unsafe-libyaml", ] +[[package]] +name = "sha2" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d7069beb7d6ac7b9acd1039986e73443f24234f41074da099d6f994ac9ad19" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + [[package]] name = "sharded-slab" version = "0.1.7" @@ -1604,6 +1773,12 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "typenum" +version = "1.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" + [[package]] name = "unicode-ident" version = "1.0.27" diff --git a/Cargo.toml b/Cargo.toml index c30bc867..f1617a30 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,8 +11,14 @@ repository = "https://github.com/cameri/nostream" [workspace.dependencies] anyhow = "1" +base64 = "0.22.1" +chacha20 = "0.10.2" clap = { version = "4", features = ["derive"] } heed = "0.20" +hex = "0.4.3" +hkdf = "0.13.0" +hmac = "0.13.0" +negentropy = "0.5.2" nostream-admin = { path = "crates/nostream-admin" } nostream-cli = { path = "crates/nostream-cli" } nostream-config = { path = "crates/nostream-config" } @@ -24,9 +30,11 @@ nostreamd = { path = "crates/nostreamd" } opentelemetry = "0.33.1" opentelemetry-otlp = { version = "0.33.1", default-features = false, features = ["trace", "grpc-tonic"] } opentelemetry_sdk = { version = "0.33.1", default-features = false, features = ["trace", "rt-tokio"] } +secp256k1 = "0.33.1" serde = { version = "1", features = ["derive"] } serde_json = "1" serde_yaml = "0.9" +sha2 = "0.11.1" tempfile = "3" thiserror = "2" tokio = { version = "1", features = ["macros", "net", "rt-multi-thread", "signal", "sync", "time"] } diff --git a/crates/nostream-core/Cargo.toml b/crates/nostream-core/Cargo.toml index f5432506..4323089a 100644 --- a/crates/nostream-core/Cargo.toml +++ b/crates/nostream-core/Cargo.toml @@ -8,7 +8,16 @@ repository.workspace = true description = "Nostr domain types, wire messages and NIP surfaces for the nostream rewrite" [dependencies] +base64.workspace = true +chacha20.workspace = true +hex.workspace = true +hkdf.workspace = true +hmac.workspace = true +negentropy.workspace = true +secp256k1.workspace = true serde.workspace = true +serde_json.workspace = true +sha2.workspace = true thiserror.workspace = true tokio.workspace = true From f038bfa8e9078f0ee1b5adea530537b16cd16a79 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 07:34:08 -0400 Subject: [PATCH 02/22] feat(core): implement the event model, filters, crypto and NIP semantics --- crates/nostream-config/src/settings.rs | 20 +- crates/nostream-core/src/constants.rs | 6 +- crates/nostream-core/src/crypto.rs | 188 ++++- crates/nostream-core/src/error.rs | 24 + crates/nostream-core/src/event.rs | 577 +++++++++++++- crates/nostream-core/src/expiration.rs | 205 +++++ crates/nostream-core/src/filter.rs | 809 +++++++++++++++++++- crates/nostream-core/src/lib.rs | 36 +- crates/nostream-core/src/negentropy.rs | 119 ++- crates/nostream-core/src/nip44.rs | 358 ++++++++- crates/nostream-core/src/pow.rs | 70 +- crates/nostream-core/src/replaceable.rs | 99 +++ crates/nostream-core/src/time.rs | 114 +++ crates/nostream-storage/src/repositories.rs | 4 +- 14 files changed, 2527 insertions(+), 102 deletions(-) create mode 100644 crates/nostream-core/src/expiration.rs create mode 100644 crates/nostream-core/src/replaceable.rs create mode 100644 crates/nostream-core/src/time.rs diff --git a/crates/nostream-config/src/settings.rs b/crates/nostream-config/src/settings.rs index 77b09eb5..7999fa56 100644 --- a/crates/nostream-config/src/settings.rs +++ b/crates/nostream-config/src/settings.rs @@ -11,7 +11,7 @@ //! rejecting unknown keys is the shape validator's job (`crate::validate`), and the typed //! parse runs only after validation. -use nostream_core::{EventStoreBackend, Filter, KindSelector, Pubkey, Secret}; +use nostream_core::{EventStoreBackend, Filter, KindSelector, Secret, SettingsPubkey}; use serde::{Deserialize, Serialize}; use crate::notifications::AdminNotificationsSettings; @@ -110,9 +110,9 @@ pub struct PubkeyLimits { pub min_balance: i64, pub min_leading_zero_bits: u32, #[serde(skip_serializing_if = "Option::is_none")] - pub whitelist: Option>, + pub whitelist: Option>, #[serde(skip_serializing_if = "Option::is_none")] - pub blacklist: Option>, + pub blacklist: Option>, } /// A rate limit with kind selectors (`src/@types/settings.ts` `EventRateLimit`). @@ -170,7 +170,7 @@ pub enum ContentLimitsOrVec { #[serde(rename_all = "camelCase")] pub struct EventWhitelists { #[serde(skip_serializing_if = "Option::is_none")] - pub pubkeys: Option>, + pub pubkeys: Option>, #[serde(skip_serializing_if = "Option::is_none")] pub ip_addresses: Option>, } @@ -186,7 +186,7 @@ pub struct EventRetentionKindLimits { #[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)] pub struct EventRetentionPubkeyLimits { #[serde(skip_serializing_if = "Option::is_none")] - pub whitelist: Option>, + pub whitelist: Option>, } /// `limits.event.retention` (`src/@types/settings.ts` `EventRetentionLimits`). @@ -385,7 +385,7 @@ pub struct EventStoreSettings { #[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)] pub struct FeeScheduleWhitelists { #[serde(skip_serializing_if = "Option::is_none")] - pub pubkeys: Option>, + pub pubkeys: Option>, #[serde(skip_serializing_if = "Option::is_none")] pub event_kinds: Option>, } @@ -632,7 +632,7 @@ pub struct Nip05Settings { pub struct AdminNip98Settings { pub enabled: bool, #[serde(skip_serializing_if = "Option::is_none")] - pub allowed_pubkeys: Option>, + pub allowed_pubkeys: Option>, #[serde(skip_serializing_if = "Option::is_none")] pub max_skew_seconds: Option, } @@ -659,7 +659,7 @@ pub struct AdminSettings { #[serde(rename_all = "camelCase")] pub struct WotSettings { pub enabled: bool, - pub seed_pubkey: Pubkey, + pub seed_pubkey: SettingsPubkey, pub minimum_followers: u32, pub max_depth: u32, pub refresh_interval_hours: u64, @@ -697,7 +697,7 @@ pub struct Nip43Settings { #[serde(skip_serializing_if = "Option::is_none")] pub allow_invite_requests: Option, #[serde(skip_serializing_if = "Option::is_none")] - pub invite_request_whitelist: Option>, + pub invite_request_whitelist: Option>, } /// `nip56` (`src/@types/settings.ts` `Nip56Settings`). @@ -705,7 +705,7 @@ pub struct Nip43Settings { #[serde(rename_all = "camelCase")] pub struct Nip56Settings { pub enabled: bool, - pub trusted_moderators: Vec, + pub trusted_moderators: Vec, pub hide_actionable_reports: bool, } diff --git a/crates/nostream-core/src/constants.rs b/crates/nostream-core/src/constants.rs index 229712f4..d7c934ad 100644 --- a/crates/nostream-core/src/constants.rs +++ b/crates/nostream-core/src/constants.rs @@ -1,6 +1,10 @@ //! Protocol constants. Mirrors `src/constants/base.ts` (the subset the domain types need). -/// The largest integer JavaScript represents exactly; used by the settings defaults. +/// The NIP-62 relay tag value meaning "every relay" (`src/constants/base.ts` `ALL_RELAYS`). +pub const ALL_RELAYS: &str = "ALL_RELAYS"; + +/// The largest integer JavaScript represents exactly; used by the settings defaults and by +/// the negentropy storage seam's timestamp bound. pub const MAX_SAFE_INTEGER: u64 = 9_007_199_254_740_991; /// The NIP-11 `supported_nips` advertisement (`src/constants/base.ts` `SUPPORTED_NIPS` shape). diff --git a/crates/nostream-core/src/crypto.rs b/crates/nostream-core/src/crypto.rs index 22ee480c..9a493ff7 100644 --- a/crates/nostream-core/src/crypto.rs +++ b/crates/nostream-core/src/crypto.rs @@ -1,25 +1,175 @@ -//! Event signing and hashing. Mirrors `src/utils/event.ts` (`verifyEvent`, `getEventHash`). +//! Event signing and hashing. Mirrors `src/utils/event.ts` (`getEventHash`, +//! `isEventIdValid`, `isEventSignatureValid`, `getPublicKey`, `signEvent`). //! -//! Phase 1 carries no crypto dependency on purpose: `secp256k1` versus `k256` and schnorr -//! support is a Phase 2 security decision, recorded in the job's design notes. +//! The id is SHA-256 over the canonical serialization (`src/utils/event.ts:121-125`) and +//! the signature is BIP-340 Schnorr over that id. `secp256k1` appears in no public +//! signature: the wire types here are `nostream-core`'s own. +//! +//! Signing is deterministic (`sign_no_aux_rand`). The capture signs through noble's +//! default random auxiliary data (`@noble/secp256k1` 1.7.1), which makes its signatures +//! non-reproducible; BIP-340 verifies both, so the difference is unobservable on the wire. + +use secp256k1::{Keypair, Parity, PublicKey, SecretKey, XOnlyPublicKey, ecdh, schnorr}; +use sha2::{Digest, Sha256}; use crate::error::CoreError; -use crate::event::{Event, EventId}; - -/// Verifies the Schnorr signature over the canonical serialization. -/// -/// Phase 1 stub — job 005; will verify a Schnorr signature over the canonical event id; see `src/utils/event.ts`. -pub fn verify_event_signature(_event: &Event) -> Result<(), CoreError> { - Err(CoreError::NotImplemented { - module: "core::crypto::verify_event_signature", - }) +use crate::event::{Event, EventId, Pubkey, Signature, canonical_json}; + +/// The id of an event: SHA-256 over `[0, pubkey, created_at, kind, tags, content]` +/// (`getEventHash`, `src/utils/event.ts:121-125`). +pub fn compute_event_id(event: &Event) -> Result { + let digest = Sha256::digest(canonical_json(event)?.as_bytes()); + + let mut id = [0u8; 32]; + id.copy_from_slice(&digest); + + Ok(EventId::from_byte_array(id)) +} + +/// Verifies the BIP-340 signature over the event id (`isEventSignatureValid`, +/// `src/utils/event.ts:131-133`). +pub fn verify_event_signature(event: &Event) -> Result<(), CoreError> { + let public_key = XOnlyPublicKey::from_byte_array(*event.pubkey.as_bytes()) + .map_err(|error| CoreError::InvalidEvent(format!("pubkey: {error}")))?; + + schnorr::Signature::from_byte_array(*event.sig.as_bytes()) + .verify(event.id.as_bytes(), &public_key) + .map_err(|_| CoreError::InvalidSignature) +} + +/// Fills in the event's id and signature from a 32-byte secret key (`signEvent`, +/// `src/utils/event.ts:169-174`; the id first, then the signature over it). +pub fn sign_event(secret_key: &[u8; 32], event: &mut Event) -> Result<(), CoreError> { + let keypair = keypair(secret_key)?; + + event.id = compute_event_id(event)?; + let signature = schnorr::sign_no_aux_rand(event.id.as_bytes(), &keypair); + event.sig = Signature::from_byte_array(*signature.as_byte_array()); + + Ok(()) +} + +/// The x-only public key for a 32-byte secret key (`getPublicKey`, +/// `src/utils/event.ts:159-167`, which drops the compressed key's parity byte). +pub fn public_key(secret_key: &[u8; 32]) -> Result { + let (public_key, _parity) = keypair(secret_key)?.x_only_public_key(); + + Ok(Pubkey::from_byte_array(public_key.to_byte_array())) +} + +/// The x-coordinate of the ECDH shared point, which NIP-44 hashes into the conversation +/// key (`getConversationKey`, `src/utils/nip44.ts:36-42`). The peer's key is the x-only +/// wire form, so it is lifted with even parity, as the capture's `02`-prefixed key is. +pub(crate) fn shared_secret_x(secret_key: &[u8; 32], peer: &Pubkey) -> Result<[u8; 32], CoreError> { + let secret = SecretKey::from_secret_bytes(*secret_key) + .map_err(|error| CoreError::InvalidEvent(format!("secret key: {error}")))?; + let x_only = XOnlyPublicKey::from_byte_array(*peer.as_bytes()) + .map_err(|error| CoreError::InvalidEvent(format!("pubkey: {error}")))?; + let point = PublicKey::from_x_only_public_key(x_only, Parity::Even); + + let point = ecdh::shared_secret_point(&point, &secret); + let mut x = [0u8; 32]; + x.copy_from_slice(&point[..32]); + + Ok(x) } -/// Computes an event id (sha256 over `[0, pubkey, created_at, kind, tags, content]`). -/// -/// Phase 1 stub — job 005; will hash the canonical serialization into an `EventId`; see `src/utils/event.ts`. -pub fn compute_event_id(_event: &Event) -> Result { - Err(CoreError::NotImplemented { - module: "core::crypto::compute_event_id", - }) +fn keypair(secret_key: &[u8; 32]) -> Result { + let secret = SecretKey::from_secret_bytes(*secret_key) + .map_err(|error| CoreError::InvalidEvent(format!("secret key: {error}")))?; + + Ok(Keypair::from_secret_key(&secret)) +} + +#[cfg(test)] +mod tests { + #![allow(clippy::unwrap_used, clippy::expect_used)] + + use super::*; + use crate::event::Kind; + + const ID: &str = "b1601d26958e6508b7b9df0af609c652346c09392b6534d93aead9819a51b4ef"; + const PUBKEY: &str = "22e804d26ed16b68db5259e78449e96dab5d464c8f470bda3eb1a70467f2c793"; + const SIG: &str = "ec8b2bc640c8c7e92fbc0e0a6f539da2635068a99809186f15106174d727456132977c78f3371d0ab01c108173df75750f33d8e04c4d7980bbb3fb70ba1e3848"; + + /// `test/unit/utils/event.spec.ts:265-330`. + fn known_event() -> Event { + Event { + id: ID.parse().unwrap(), + pubkey: PUBKEY.parse().unwrap(), + created_at: 1_648_339_664, + kind: Kind::TEXT_NOTE, + tags: Vec::new(), + content: "learning terraform rn!".to_owned(), + sig: SIG.parse().unwrap(), + } + } + + /// An event whose pubkey is the signer's, with id and signature still to be filled. + fn signed_candidate(secret: &[u8; 32]) -> Event { + Event { + id: crate::event::EventId::from_byte_array([0; 32]), + pubkey: public_key(secret).unwrap(), + created_at: 1_700_000_000, + kind: Kind::TEXT_NOTE, + tags: vec![vec!["t".to_owned(), "nostr".to_owned()]], + content: "signed in the test".to_owned(), + sig: crate::event::Signature::from_byte_array([0; 64]), + } + } + + #[test] + fn known_vector_id_recomputes() { + assert_eq!(compute_event_id(&known_event()).unwrap().to_string(), ID); + } + + #[test] + fn known_vector_signature_verifies() { + assert!(verify_event_signature(&known_event()).is_ok()); + } + + #[test] + fn changed_id_fails_verification() { + let mut event = known_event(); + event.id = "1234567890123456789012345678901234567890123456789012345678901234" + .parse() + .unwrap(); + + assert!(matches!( + verify_event_signature(&event), + Err(CoreError::InvalidSignature) + )); + } + + #[test] + fn signed_event_verifies_itself_and_is_reproducible() { + let secret = [1u8; 32]; + let mut event = signed_candidate(&secret); + let mut again = signed_candidate(&secret); + + sign_event(&secret, &mut event).unwrap(); + sign_event(&secret, &mut again).unwrap(); + + assert_eq!(event.id, again.id); + assert_eq!(event.sig, again.sig); + assert!(verify_event_signature(&event).is_ok()); + } + + #[test] + fn public_key_of_secret_one_is_the_generator() { + let mut secret = [0u8; 32]; + secret[31] = 1; + + assert_eq!( + public_key(&secret).unwrap().to_string(), + "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798" + ); + } + + #[test] + fn an_unreachable_secret_key_is_an_invalid_event() { + let zero = [0u8; 32]; + + assert!(public_key(&zero).is_err()); + } } diff --git a/crates/nostream-core/src/error.rs b/crates/nostream-core/src/error.rs index 84ce18bb..7d7ffeb2 100644 --- a/crates/nostream-core/src/error.rs +++ b/crates/nostream-core/src/error.rs @@ -13,6 +13,30 @@ pub enum CoreError { #[error("invalid event: {0}")] InvalidEvent(String), + /// The event's signature does not verify over its id. + #[error("invalid signature")] + InvalidSignature, + + /// `created_at` is farther ahead of the reference time than the relay allows + /// (`src/handlers/event-message-handler.ts:204-212`). + #[error("rejected: created_at is more than {delta} seconds in the future")] + CreatedAtInFuture { delta: i64 }, + + /// `created_at` is farther behind the reference time than the relay allows + /// (`src/handlers/event-message-handler.ts:214-218`). + #[error("rejected: created_at is more than {delta} seconds in the past")] + CreatedAtInPast { delta: i64 }, + + /// A NIP-44 payload failed its version, size, padding or MAC check. The message is + /// the capture's, verbatim (`src/utils/nip44.ts:116-150`). + #[error("{0}")] + InvalidNip44(String), + + /// NIP-77 storage could not be built from the items offered (negative or + /// out-of-range `created_at`, or a set the storage refused). + #[error("invalid negentropy storage: {0}")] + InvalidNegentropyStorage(String), + /// A wire frame could not be decoded into a known message. #[error("invalid message: {0}")] InvalidMessage(String), diff --git a/crates/nostream-core/src/event.rs b/crates/nostream-core/src/event.rs index e27d9b47..a0d0bde8 100644 --- a/crates/nostream-core/src/event.rs +++ b/crates/nostream-core/src/event.rs @@ -1,17 +1,186 @@ //! Shared domain primitives. Mirrors `src/@types/event.ts`, `src/@types/base.ts`, //! `src/@types/subscription.ts` and `src/constants/base.ts` at the capture commit. -use serde::{Deserialize, Serialize}; +use std::fmt; +use std::str::FromStr; -/// A 32-byte event id, hex encoded (`src/@types/base.ts` `EventId`). -#[derive(Debug, Clone, PartialEq, Eq, Hash, PartialOrd, Ord, Serialize, Deserialize)] -#[serde(transparent)] -pub struct EventId(pub String); +use serde::de::{self, Visitor}; +use serde::{Deserialize, Deserializer, Serialize, Serializer}; + +use crate::constants::ALL_RELAYS; +use crate::error::CoreError; + +/// One 32-byte or 64-byte value carried on the wire as lowercase hex. +/// +/// The length and character checks are the capture's schema checks +/// (`src/schemas/base-schema.ts`: `idSchema`/`pubkeySchema` are 64 hex characters, +/// `signatureSchema` 128, all `^[0-9a-f]+$`), carried by the type so `validate_event` +/// does not have to repeat them. +macro_rules! hex_newtype { + ($(#[$meta:meta])* $name:ident, $bytes:expr, $field:literal) => { + $(#[$meta])* + #[derive(Copy, Debug, Clone, PartialEq, Eq, Hash, PartialOrd, Ord)] + pub struct $name([u8; $bytes]); + + impl $name { + /// The raw bytes. + pub const fn as_bytes(&self) -> &[u8; $bytes] { + &self.0 + } + + /// Wraps a byte array. + pub const fn from_byte_array(bytes: [u8; $bytes]) -> Self { + Self(bytes) + } + + /// Parses the wire form: exact lowercase hex. + fn parse(value: &str) -> Result { + const HEX_LEN: usize = $bytes * 2; + + if value.len() != HEX_LEN { + return Err(CoreError::InvalidEvent(format!( + "{}: expected {HEX_LEN} lowercase hex characters, got {}", + $field, + value.len() + ))); + } + + if !value + .bytes() + .all(|byte| byte.is_ascii_digit() || matches!(byte, b'a'..=b'f')) + { + return Err(CoreError::InvalidEvent(format!( + "{}: must be lowercase hexadecimal", + $field + ))); + } + + let mut bytes = [0u8; $bytes]; + hex::decode_to_slice(value, &mut bytes).map_err(|error| { + CoreError::InvalidEvent(format!("{}: {error}", $field)) + })?; + + Ok(Self(bytes)) + } + } + + impl fmt::Display for $name { + fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result { + const HEX_LEN: usize = $bytes * 2; + + let mut buffer = [0u8; HEX_LEN]; + hex::encode_to_slice(self.0, &mut buffer).map_err(|_| fmt::Error)?; + + match std::str::from_utf8(&buffer) { + Ok(text) => formatter.write_str(text), + Err(_) => Err(fmt::Error), + } + } + } + + impl FromStr for $name { + type Err = CoreError; + + fn from_str(value: &str) -> Result { + Self::parse(value) + } + } + + impl TryFrom<&str> for $name { + type Error = CoreError; -/// A 32-byte public key, hex encoded (`src/@types/base.ts` `Pubkey`). -#[derive(Debug, Clone, PartialEq, Eq, Hash, PartialOrd, Ord, Serialize, Deserialize)] + fn try_from(value: &str) -> Result { + Self::parse(value) + } + } + + impl Serialize for $name { + fn serialize(&self, serializer: S) -> Result { + const HEX_LEN: usize = $bytes * 2; + + let mut buffer = [0u8; HEX_LEN]; + hex::encode_to_slice(self.0, &mut buffer).map_err(serde::ser::Error::custom)?; + + let text = + std::str::from_utf8(&buffer).map_err(serde::ser::Error::custom)?; + + serializer.serialize_str(text) + } + } + + // Borrowed `&'de str` in, fixed array out: no intermediate `String` or `Vec` on + // the accepting path. + impl<'de> Deserialize<'de> for $name { + fn deserialize>(deserializer: D) -> Result { + struct HexVisitor; + + impl Visitor<'_> for HexVisitor { + type Value = $name; + + fn expecting(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result { + const HEX_LEN: usize = $bytes * 2; + write!(formatter, "{HEX_LEN} lowercase hex characters") + } + + fn visit_str(self, value: &str) -> Result { + $name::parse(value).map_err(E::custom) + } + } + + deserializer.deserialize_str(HexVisitor) + } + } + }; +} + +hex_newtype!( + /// A 32-byte event id, lowercase hex on the wire (`src/@types/base.ts` `EventId`). + EventId, + 32, + "id" +); + +hex_newtype!( + /// A 32-byte x-only public key, lowercase hex on the wire + /// (`src/@types/base.ts` `Pubkey`). + Pubkey, + 32, + "pubkey" +); + +hex_newtype!( + /// A 64-byte BIP-340 Schnorr signature, 128 lowercase hex characters on the wire + /// (`src/schemas/base-schema.ts` `signatureSchema`). + Signature, + 64, + "sig" +); + +/// A public key as an operator writes it in settings (`wot.seedPubkey`, +/// `limits.event.pubkey.whitelist`, …). +/// +/// The capture's settings validator never checks pubkey format +/// (`src/utils/settings-config.ts` has no `pubkey` rule), so this type carries no +/// validation: the default is `""` and a user document may hold `abc123`. `Pubkey` +/// stays the validated wire type. The two are deliberately distinct, because one +/// type cannot be both lenient and 32 bytes. +#[derive(Debug, Clone, Default, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)] #[serde(transparent)] -pub struct Pubkey(pub String); +pub struct SettingsPubkey(pub String); + +impl fmt::Display for SettingsPubkey { + fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result { + formatter.write_str(&self.0) + } +} + +impl FromStr for SettingsPubkey { + type Err = std::convert::Infallible; + + fn from_str(value: &str) -> Result { + Ok(Self(value.to_owned())) + } +} /// A Nostr event kind (`src/constants/base.ts` `EventKinds`). #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)] @@ -19,23 +188,139 @@ pub struct Pubkey(pub String); pub struct Kind(pub u64); impl Kind { + /// Kind 0, `EventKinds.SET_METADATA`. pub const METADATA: Self = Self(0); + /// Kind 1, `EventKinds.TEXT_NOTE`. + pub const TEXT_NOTE: Self = Self(1); + /// Kind 3, `EventKinds.CONTACT_LIST`. pub const CONTACT_LIST: Self = Self(3); - pub const DELETION: Self = Self(5); + /// Kind 5, `EventKinds.DELETE`. + pub const DELETE: Self = Self(5); + /// Kind 13, `EventKinds.SEAL` (NIP-17). + pub const SEAL: Self = Self(13); + /// Kind 14, `EventKinds.DIRECT_MESSAGE` (NIP-17). + pub const DIRECT_MESSAGE: Self = Self(14); + /// Kind 15, `EventKinds.FILE_MESSAGE` (NIP-17). + pub const FILE_MESSAGE: Self = Self(15); + /// Kind 41, `EventKinds.CHANNEL_METADATA`. + pub const CHANNEL_METADATA: Self = Self(41); + /// Kind 62, `EventKinds.REQUEST_TO_VANISH` (NIP-62). + pub const REQUEST_TO_VANISH: Self = Self(62); + /// Kind 443, `EventKinds.MARMOT_KEY_PACKAGE_LEGACY`. + pub const MARMOT_KEY_PACKAGE_LEGACY: Self = Self(443); + /// Kind 444, `EventKinds.MARMOT_WELCOME_RUMOR`. + pub const MARMOT_WELCOME_RUMOR: Self = Self(444); + /// Kind 445, `EventKinds.MARMOT_GROUP_EVENT`. + pub const MARMOT_GROUP_EVENT: Self = Self(445); + /// Kind 1059, `EventKinds.GIFT_WRAP` (NIP-17). + pub const GIFT_WRAP: Self = Self(1059); + /// Kind 1984, `EventKinds.REPORT` (NIP-56). pub const REPORT: Self = Self(1984); + /// First DVM job request kind, `EventKinds.DVM_JOB_REQUEST_FIRST` (NIP-90). + pub const DVM_JOB_REQUEST_START: Self = Self(5_000); + /// Last DVM job request kind, `EventKinds.DVM_JOB_REQUEST_LAST` (NIP-90). + pub const DVM_JOB_REQUEST_END: Self = Self(5_999); + /// First replaceable kind, `EventKinds.REPLACEABLE_FIRST` (NIP-16). + pub const REPLACEABLE_START: Self = Self(10_000); + /// Last replaceable kind, `EventKinds.REPLACEABLE_LAST` (NIP-16). + pub const REPLACEABLE_END: Self = Self(19_999); + /// First ephemeral kind, `EventKinds.EPHEMERAL_FIRST` (NIP-16). pub const EPHEMERAL_START: Self = Self(20_000); + /// Last ephemeral kind, `EventKinds.EPHEMERAL_LAST` (NIP-16). pub const EPHEMERAL_END: Self = Self(29_999); + /// First parameterized replaceable kind, + /// `EventKinds.PARAMETERIZED_REPLACEABLE_FIRST` (NIP-33). pub const PARAMETERIZED_REPLACEABLE_START: Self = Self(30_000); + /// Last parameterized replaceable kind, + /// `EventKinds.PARAMETERIZED_REPLACEABLE_LAST` (NIP-33). pub const PARAMETERIZED_REPLACEABLE_END: Self = Self(39_999); + + /// Whether the event replaces the previous event of its key (`isReplaceableEvent`, + /// `src/utils/event.ts:203-210`): kinds 0, 3, 41, 10000..=19999. + pub fn is_replaceable(self) -> bool { + matches!( + self, + Self::METADATA | Self::CONTACT_LIST | Self::CHANNEL_METADATA + ) || (self >= Self::REPLACEABLE_START && self <= Self::REPLACEABLE_END) + } + + /// Whether the event is relayed but never stored (`isEphemeralEvent`, + /// `src/utils/event.ts:212-214`). + pub fn is_ephemeral(self) -> bool { + self >= Self::EPHEMERAL_START && self <= Self::EPHEMERAL_END + } + + /// Whether the event is addressable by its `d` tag + /// (`isParameterizedReplaceableEvent`, `src/utils/event.ts:220-224`). + pub fn is_parameterized_replaceable(self) -> bool { + self >= Self::PARAMETERIZED_REPLACEABLE_START && self <= Self::PARAMETERIZED_REPLACEABLE_END + } + + /// Whether the event is a NIP-90 job request (`isDvmJobRequestEvent`, + /// `src/utils/event.ts:216-218`). + pub fn is_dvm_job_request(self) -> bool { + self >= Self::DVM_JOB_REQUEST_START && self <= Self::DVM_JOB_REQUEST_END + } + + /// Whether the event is a NIP-02 contact list (`isContactListEvent`, + /// `src/utils/event.ts:199-201`). + pub fn is_contact_list(self) -> bool { + self == Self::CONTACT_LIST + } + + /// Whether the event is a NIP-09 deletion request (`isDeleteEvent`, + /// `src/utils/event.ts:226-228`). + pub fn is_delete(self) -> bool { + self == Self::DELETE + } + + /// Whether the event is a NIP-17 gift wrap (`isGiftWrapEvent`, + /// `src/utils/event.ts:288-290`). + pub fn is_gift_wrap(self) -> bool { + self == Self::GIFT_WRAP + } + + /// Whether the event is a NIP-17 seal (`isSealEvent`, `src/utils/event.ts:292-294`). + pub fn is_seal(self) -> bool { + self == Self::SEAL + } + + /// Whether the event is a NIP-17 direct message (`isDirectMessageEvent`, + /// `src/utils/event.ts:296-298`). + pub fn is_direct_message(self) -> bool { + self == Self::DIRECT_MESSAGE + } + + /// Whether the event is a NIP-17 file message (`isFileMessageEvent`, + /// `src/utils/event.ts:300-302`). + pub fn is_file_message(self) -> bool { + self == Self::FILE_MESSAGE + } + + /// Whether the event is a Marmot welcome rumor (`isWelcomeRumorEvent`, + /// `src/utils/event.ts:311-313`). + pub fn is_welcome_rumor(self) -> bool { + self == Self::MARMOT_WELCOME_RUMOR + } + + /// Whether the event is a Marmot group event (`isMarmotGroupEvent`, + /// `src/utils/event.ts:315-317`). + pub fn is_marmot_group_event(self) -> bool { + self == Self::MARMOT_GROUP_EVENT + } } -impl std::fmt::Display for Kind { - fn fmt(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { +impl fmt::Display for Kind { + fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result { write!(formatter, "{}", self.0) } } /// One kind or an inclusive `[first, last]` range (`src/@types/settings.ts` `EventKindsRange`). +/// +/// Settings criteria use it (`isEventKindOrRangeMatch`, `src/utils/event.ts:34-37`); +/// a subscription filter's `kinds` holds numbers only, so a range element never matches +/// there and is unrepresentable in `Filter`. #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] #[serde(untagged)] pub enum KindSelector { @@ -47,7 +332,11 @@ pub enum KindSelector { pub type Tag = Vec; /// A Nostr event (`src/@types/event.ts`). +/// +/// Unknown fields are rejected, matching `eventSchema.strict()` +/// (`src/schemas/event-schema.ts:41`). #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[serde(deny_unknown_fields)] pub struct Event { pub id: EventId, pub pubkey: Pubkey, @@ -55,5 +344,269 @@ pub struct Event { pub kind: Kind, pub tags: Vec, pub content: String, - pub sig: String, + pub sig: Signature, +} + +impl Event { + /// Whether the event asks this relay to delete the requester's data + /// (`isRequestToVanishEvent`, `src/utils/event.ts:230-242`). + /// + /// With no relay URL, any kind-62 event qualifies. With one, the event must name at + /// least one `r` tag and every one of them must be this relay or [`ALL_RELAYS`]. + pub fn is_request_to_vanish(&self, relay_url: Option<&str>) -> bool { + if self.kind != Kind::REQUEST_TO_VANISH { + return false; + } + + let Some(relay_url) = relay_url else { + return true; + }; + + let relays: Vec<&str> = self + .tags + .iter() + .filter(|tag| tag.len() >= 2 && tag[0] == "r") + .map(|tag| tag[1].as_str()) + .collect(); + + !relays.is_empty() + && relays + .iter() + .all(|relay| *relay == relay_url || *relay == ALL_RELAYS) + } + + /// Whether the event carries the NIP-70 `["-"]` tag (`isProtectedEvent`, + /// `src/utils/event.ts:321-323`). The tag name is what counts, at any arity. + pub fn is_protected(&self) -> bool { + self.tags + .iter() + .any(|tag| tag.first().is_some_and(|name| name == "-")) + } +} + +/// The six-element array the event id is hashed over (`serializeEvent`, +/// `src/utils/event.ts:15-22`, `src/@types/event.ts` `CanonicalEvent`). +#[derive(Debug, Clone, PartialEq, Eq, Serialize)] +pub struct CanonicalEvent<'a>( + pub u8, + pub String, + pub i64, + pub u64, + pub &'a [Tag], + pub &'a str, +); + +/// Builds the canonical array for an event: `[0, pubkey, created_at, kind, tags, content]`. +pub fn serialize_event(event: &Event) -> CanonicalEvent<'_> { + CanonicalEvent( + 0, + event.pubkey.to_string(), + event.created_at, + event.kind.0, + &event.tags, + &event.content, + ) +} + +/// The exact bytes `JSON.stringify(serializeEvent(event))` would produce, which the id +/// is the SHA-256 of (`getEventHash`, `src/utils/event.ts:121-125`). +pub fn canonical_json(event: &Event) -> Result { + serde_json::to_string(&serialize_event(event)) + .map_err(|error| CoreError::InvalidEvent(format!("canonical serialization: {error}"))) +} + +#[cfg(test)] +mod tests { + #![allow(clippy::unwrap_used, clippy::expect_used)] + + use super::*; + + const ID: &str = "b1601d26958e6508b7b9df0af609c652346c09392b6534d93aead9819a51b4ef"; + const PUBKEY: &str = "22e804d26ed16b68db5259e78449e96dab5d464c8f470bda3eb1a70467f2c793"; + const SIG: &str = "ec8b2bc640c8c7e92fbc0e0a6f539da2635068a99809186f15106174d727456132977c78f3371d0ab01c108173df75750f33d8e04c4d7980bbb3fb70ba1e3848"; + + fn event() -> Event { + Event { + id: ID.parse().unwrap(), + pubkey: PUBKEY.parse().unwrap(), + created_at: 1_648_339_664, + kind: Kind::TEXT_NOTE, + tags: Vec::new(), + content: "learning terraform rn!".to_owned(), + sig: SIG.parse().unwrap(), + } + } + + fn parse_id(value: &str) -> Result { + EventId::try_from(value) + } + + #[test] + fn id_round_trips_through_hex() { + let id: EventId = ID.parse().unwrap(); + + assert_eq!(id.to_string(), ID); + assert_eq!(id.as_bytes().len(), 32); + assert_eq!(id, EventId::from_byte_array(*id.as_bytes())); + assert_eq!(serde_json::to_string(&id).unwrap(), format!("\"{ID}\"")); + } + + #[test] + fn id_rejects_uppercase_hex() { + let error = parse_id(&ID.to_uppercase()).unwrap_err(); + + assert!(error.to_string().contains("lowercase"), "{error}"); + } + + #[test] + fn id_rejects_63_and_65_character_values() { + assert!(parse_id(&ID[..63]).is_err()); + assert!(parse_id(&format!("{ID}0")).is_err()); + assert!(parse_id(&ID[..64 - 1]).is_err()); + } + + #[test] + fn id_rejects_a_non_hex_character() { + let mutated = format!("{}z", &ID[..63]); + + assert!(parse_id(&mutated).is_err()); + } + + #[test] + fn signature_rejects_127_and_129_character_values() { + assert!(parse_id(&SIG[..127]).is_err()); + assert!(Signature::try_from(format!("{SIG}0").as_str()).is_err()); + assert!(Signature::try_from(&SIG[..127]).is_err()); + } + + #[test] + fn hex_newtypes_reject_a_json_number() { + let document = "{\"id\": 12, \"pubkey\": 13, \"sig\": 14}".to_owned(); + + #[derive(Debug, Deserialize)] + #[allow(dead_code)] + struct Holder { + id: EventId, + pubkey: Pubkey, + sig: Signature, + } + + let error = serde_json::from_str::(&document).unwrap_err(); + + assert!(error.to_string().contains("invalid type"), "{error}"); + } + + #[test] + fn ids_are_serialised_from_a_borrowed_str_buffer() { + let document = format!("{{\"id\":\"{ID}\"}}"); + let parsed: EventId = serde_json::from_str::(&document) + .map(|value| serde_json::from_value(value["id"].clone()).unwrap()) + .unwrap(); + + assert_eq!(parsed.to_string(), ID); + } + + #[test] + fn event_rejects_an_unknown_field() { + let document = format!( + "{{\"id\":\"{ID}\",\"pubkey\":\"{PUBKEY}\",\"created_at\":1,\"kind\":1,\"tags\":[],\"content\":\"\",\"sig\":\"{SIG}\",\"extra\":true}}" + ); + + let error = serde_json::from_str::(&document).unwrap_err(); + + assert!(error.to_string().contains("unknown field"), "{error}"); + } + + #[test] + fn event_round_trips_its_seven_fields_in_order() { + let document = serde_json::to_string(&event()).unwrap(); + let rebuilt: Event = serde_json::from_str(&document).unwrap(); + + assert_eq!(rebuilt, event()); + assert!(document.starts_with(&format!( + "{{\"id\":\"{ID}\",\"pubkey\":\"{PUBKEY}\",\"created_at\"" + ))); + } + + #[test] + fn canonical_json_matches_json_stringify_bytes() { + let mut event = event(); + event.pubkey = PUBKEY.parse().unwrap(); + event.created_at = 1000; + event.kind = Kind::TEXT_NOTE; + event.tags = vec![vec!["e".to_owned(), "AA".to_owned()]]; + event.content = "a\u{1}b\u{1f}c\"d\\e\u{7f}f\u{2028}gšŸ˜€h\n\t".to_owned(); + + assert_eq!( + canonical_json(&event).unwrap(), + "[0,\"22e804d26ed16b68db5259e78449e96dab5d464c8f470bda3eb1a70467f2c793\",1000,1,[[\"e\",\"AA\"]],\"a\\u0001b\\u001fc\\\"d\\\\e\u{7f}f\u{2028}gšŸ˜€h\\n\\t\"]" + ); + } + + #[test] + fn canonical_json_emits_the_six_element_array() { + let mut event = event(); + event.tags = vec![vec!["tag name".to_owned(), "tag content".to_owned()]]; + + assert_eq!( + canonical_json(&event).unwrap(), + "[0,\"22e804d26ed16b68db5259e78449e96dab5d464c8f470bda3eb1a70467f2c793\",1648339664,1,[[\"tag name\",\"tag content\"]],\"learning terraform rn!\"]" + ); + } + + #[test] + fn kind_constants_match_the_capture_enum() { + assert_eq!(Kind::METADATA.0, 0); + assert_eq!(Kind::TEXT_NOTE.0, 1); + assert_eq!(Kind::CONTACT_LIST.0, 3); + assert_eq!(Kind::DELETE.0, 5); + assert_eq!(Kind::SEAL.0, 13); + assert_eq!(Kind::DIRECT_MESSAGE.0, 14); + assert_eq!(Kind::FILE_MESSAGE.0, 15); + assert_eq!(Kind::CHANNEL_METADATA.0, 41); + assert_eq!(Kind::REQUEST_TO_VANISH.0, 62); + assert_eq!(Kind::MARMOT_KEY_PACKAGE_LEGACY.0, 443); + assert_eq!(Kind::MARMOT_WELCOME_RUMOR.0, 444); + assert_eq!(Kind::MARMOT_GROUP_EVENT.0, 445); + assert_eq!(Kind::GIFT_WRAP.0, 1059); + assert_eq!(Kind::REPORT.0, 1984); + assert_eq!(Kind::DVM_JOB_REQUEST_START.0, 5000); + assert_eq!(Kind::DVM_JOB_REQUEST_END.0, 5999); + assert_eq!(Kind::REPLACEABLE_START.0, 10_000); + assert_eq!(Kind::REPLACEABLE_END.0, 19_999); + assert_eq!(Kind::EPHEMERAL_START.0, 20_000); + assert_eq!(Kind::EPHEMERAL_END.0, 29_999); + assert_eq!(Kind::PARAMETERIZED_REPLACEABLE_START.0, 30_000); + assert_eq!(Kind::PARAMETERIZED_REPLACEABLE_END.0, 39_999); + } + + #[test] + fn kind_range_predicates_stop_at_the_boundaries() { + assert!(Kind::REPLACEABLE_START.is_replaceable()); + assert!(Kind::REPLACEABLE_END.is_replaceable()); + assert!(!Kind(9_999).is_replaceable()); + assert!(!Kind(20_000).is_replaceable()); + + assert!(Kind(20_000).is_ephemeral()); + assert!(Kind(29_999).is_ephemeral()); + assert!(!Kind(30_000).is_ephemeral()); + + assert!(Kind(30_000).is_parameterized_replaceable()); + assert!(Kind(39_999).is_parameterized_replaceable()); + assert!(!Kind(40_000).is_parameterized_replaceable()); + + assert!(Kind(5_000).is_dvm_job_request()); + assert!(Kind(5_999).is_dvm_job_request()); + assert!(!Kind(4_999).is_dvm_job_request()); + assert!(!Kind(6_000).is_dvm_job_request()); + } + + #[test] + fn settings_pubkey_keeps_operator_text() { + let parsed: SettingsPubkey = "abc123".parse().unwrap(); + + assert_eq!(parsed.to_string(), "abc123"); + assert_eq!(serde_json::to_string(&parsed).unwrap(), "\"abc123\""); + assert_eq!(SettingsPubkey::default().0, ""); + } } diff --git a/crates/nostream-core/src/expiration.rs b/crates/nostream-core/src/expiration.rs new file mode 100644 index 00000000..14bf5a63 --- /dev/null +++ b/crates/nostream-core/src/expiration.rs @@ -0,0 +1,205 @@ +//! NIP-40 event expiration. Mirrors `getEventExpiration` and `isExpiredEvent` +//! (`src/utils/event.ts:244-276`). +//! +//! The reference time is an argument (`now: i64`), not a clock read: the capture reads the +//! wall clock inside `isExpiredEvent` because it has no caller that can supply one, and +//! this crate's tests and the differential fixture do. + +use crate::event::Event; + +/// The largest expiration the capture stores. `events.expires_at` is a Postgres signed +/// 32-bit integer column, so anything above this would fail the INSERT +/// (`src/utils/event.ts:260-263`). +pub const MAX_EXPIRATION_TIME: u32 = 2_147_483_647; + +/// The event's expiration, when its first `expiration` tag holds a usable value +/// (`getEventExpiration`, `src/utils/event.ts:265-276`). +/// +/// The value is parsed the way `Number(value)` does it: finite, integral, greater than +/// zero and no higher than [`MAX_EXPIRATION_TIME`]. `"a"`, `"0"`, a millisecond-scale +/// timestamp and a value beyond the column bound all yield `None`. +pub fn get_event_expiration(event: &Event) -> Option { + let raw = event + .tags + .iter() + .find(|tag| tag.len() >= 2 && tag[0] == "expiration") + .map(|tag| tag[1].as_str())?; + + let value: f64 = raw.parse().ok()?; + + if value.is_finite() + && value.fract() == 0.0 + && value > 0.0 + && value <= f64::from(MAX_EXPIRATION_TIME) + { + Some(value as u32) + } else { + None + } +} + +/// Whether the event has expired at `now` (`isExpiredEvent`, `src/utils/event.ts:244-258`). +/// +/// An event with no tags, or with no usable expiration, never expires. +pub fn is_expired_event(event: &Event, now: i64) -> bool { + if event.tags.is_empty() { + return false; + } + + match get_event_expiration(event) { + Some(expiration) => i64::from(expiration) <= now, + None => false, + } +} + +#[cfg(test)] +mod tests { + #![allow(clippy::unwrap_used, clippy::expect_used)] + + use super::*; + use crate::event::{EventId, Kind, Pubkey, Signature}; + + fn event_with(tags: Vec>) -> Event { + Event { + id: EventId::from_byte_array([1; 32]), + pubkey: Pubkey::from_byte_array([2; 32]), + created_at: 1_660_896_109, + kind: Kind::TEXT_NOTE, + tags: tags + .into_iter() + .map(|tag| tag.into_iter().map(str::to_owned).collect()) + .collect(), + content: "Hello world".to_owned(), + sig: Signature::from_byte_array([0; 64]), + } + } + + #[test] + fn expiration_of_a_safe_integer_is_returned() { + assert_eq!( + get_event_expiration(&event_with(vec![vec!["expiration", "160000000"]])), + Some(160_000_000) + ); + } + + #[test] + fn expiration_is_none_without_an_expiration_tag() { + assert_eq!(get_event_expiration(&event_with(Vec::new())), None); + } + + #[test] + fn expiration_of_an_unsafe_integer_is_none() { + assert_eq!( + get_event_expiration(&event_with(vec![vec![ + "expiration", + "160000000000000000000" + ]])), + None + ); + } + + #[test] + fn expiration_of_malformed_data_is_none() { + assert_eq!( + get_event_expiration(&event_with(vec![vec!["expiration", "a"]])), + None + ); + } + + #[test] + fn expiration_of_zero_is_none() { + assert_eq!( + get_event_expiration(&event_with(vec![vec!["expiration", "0"]])), + None + ); + } + + #[test] + fn expiration_beyond_the_postgres_int4_maximum_is_none() { + assert_eq!( + get_event_expiration(&event_with(vec![vec!["expiration", "10000000000"]])), + None + ); + } + + #[test] + fn expiration_at_the_maximum_unix_seconds_timestamp_is_none() { + assert_eq!( + get_event_expiration(&event_with(vec![vec!["expiration", "253402300799"]])), + None + ); + } + + #[test] + fn expiration_at_the_column_maximum_is_returned() { + assert_eq!( + get_event_expiration(&event_with(vec![vec!["expiration", "2147483647"]])), + Some(MAX_EXPIRATION_TIME) + ); + } + + #[test] + fn expiration_that_looks_like_milliseconds_is_none() { + assert_eq!( + get_event_expiration(&event_with(vec![vec!["expiration", "1700000000000"]])), + None + ); + } + + #[test] + fn expiration_uses_the_first_expiration_tag() { + assert_eq!( + get_event_expiration(&event_with(vec![ + vec!["delegation", "abc"], + vec!["expiration", "100"], + vec!["expiration", "200"], + ])), + Some(100) + ); + } + + #[test] + fn expiration_ignores_a_tag_without_a_value() { + assert_eq!( + get_event_expiration(&event_with(vec![vec!["expiration"]])), + None + ); + } + + #[test] + fn expired_event_is_false_without_tags() { + assert!(!is_expired_event(&event_with(Vec::new()), i64::MAX)); + } + + #[test] + fn expired_event_is_false_without_an_expiration_tag() { + assert!(!is_expired_event( + &event_with(vec![vec!["e", "aa"]]), + i64::MAX + )); + } + + #[test] + fn expired_event_is_true_past_its_expiration() { + assert!(is_expired_event( + &event_with(vec![vec!["expiration", "100000"]]), + 100_000 + )); + } + + #[test] + fn expired_event_is_false_before_its_expiration() { + assert!(!is_expired_event( + &event_with(vec![vec!["expiration", "100000"]]), + 99_999 + )); + } + + #[test] + fn expired_event_boundary_is_the_expiration_instant() { + let event = event_with(vec![vec!["expiration", "100000"]]); + + assert!(is_expired_event(&event, 100_000)); + assert!(!is_expired_event(&event, 99_999)); + } +} diff --git a/crates/nostream-core/src/filter.rs b/crates/nostream-core/src/filter.rs index 650f45cf..04c9b8de 100644 --- a/crates/nostream-core/src/filter.rs +++ b/crates/nostream-core/src/filter.rs @@ -1,29 +1,52 @@ -//! Subscription filters. Mirrors `src/@types/subscription.ts` and `src/utils/filter.ts`. +//! Subscription filters. Mirrors `src/@types/subscription.ts`, `src/utils/filter.ts` and +//! `src/schemas/filter-schema.ts`. use std::collections::BTreeMap; +use std::fmt; use serde::{Deserialize, Serialize}; +use serde_json::Value; -use crate::event::{EventId, KindSelector, Pubkey}; +use crate::event::{Event, Kind}; /// A subscription id (`src/@types/subscription.ts` `SubscriptionId`). pub type SubscriptionId = String; +/// The geohash alphabet (`src/utils/geohash.ts` `GEOHASH_BASE32`, excludes `a`, `i`, `l`, `o`). +const GEOHASH_BASE32: &str = "0123456789bcdefghjkmnpqrstuvwxyz"; + +/// The filter keys the schema names (`src/schemas/filter-schema.ts` `knownFilterKeys`). +const KNOWN_FILTER_KEYS: [&str; 7] = [ + "ids", "authors", "kinds", "since", "until", "limit", "search", +]; + +/// The largest integer JavaScript represents exactly (`Number.MAX_SAFE_INTEGER`). +const MAX_SAFE_INTEGER: f64 = 9_007_199_254_740_991.0; + /// A Nostr REQ filter (`src/@types/subscription.ts` `SubscriptionFilter`). /// -/// Single-letter tag filters (`#e`, `#p`, …) are carried in `tags`, keyed without the `#`. -#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)] +/// `ids` and `authors` hold hex **prefixes**: the schema admits 4..64 characters +/// (`src/schemas/base-schema.ts:11`), so a validated `EventId`/`Pubkey` cannot carry them, +/// and the matcher compares them as `startsWith` prefixes (`src/utils/event.ts:42,60`). +/// `kinds` holds numbers only: a range element is unrepresentable here because the matcher +/// compares with `Array.includes` on numbers (`src/utils/event.ts:64`) and a range never +/// matched. +/// +/// Tag criteria are carried in `tags`, whose JSON keys are kept **verbatim**, `#` included: +/// `{"#e":["aa"]}` deserialises to `tags["#e"]`, which is what the capture's filter object +/// holds (`src/@types/subscription.ts`) and what round-trips the wire document unchanged. +#[derive(Debug, Clone, Default, PartialEq, Eq, Hash, Serialize, Deserialize)] pub struct Filter { #[serde(skip_serializing_if = "Option::is_none")] - pub ids: Option>, + pub ids: Option>, #[serde(skip_serializing_if = "Option::is_none")] - pub kinds: Option>, + pub kinds: Option>, #[serde(skip_serializing_if = "Option::is_none")] pub since: Option, #[serde(skip_serializing_if = "Option::is_none")] pub until: Option, #[serde(skip_serializing_if = "Option::is_none")] - pub authors: Option>, + pub authors: Option>, #[serde(skip_serializing_if = "Option::is_none")] pub limit: Option, #[serde(skip_serializing_if = "Option::is_none")] @@ -31,3 +54,775 @@ pub struct Filter { #[serde(flatten)] pub tags: BTreeMap>, } + +impl Filter { + /// Whether an event matches every criterion this filter carries + /// (`isEventMatchingFilter`, `src/utils/event.ts:39-119`), in the capture's order. + pub fn matches(&self, event: &Event) -> bool { + if let Some(ids) = &self.ids + && !ids + .iter() + .any(|prefix| hex_prefix_matches(event.id.as_bytes(), prefix)) + { + return false; + } + + if let Some(kinds) = &self.kinds + && !kinds.contains(&event.kind) + { + return false; + } + + if let Some(since) = self.since + && event.created_at < since + { + return false; + } + + if let Some(until) = self.until + && event.created_at > until + { + return false; + } + + if let Some(authors) = &self.authors + && !authors + .iter() + .any(|prefix| hex_prefix_matches(event.pubkey.as_bytes(), prefix)) + { + return false; + } + + for (key, criteria) in &self.tags { + if !is_generic_tag_query(key) { + continue; + } + + let name = &key[1..2]; + let is_geohash = key == "#g"; + + let matched = event.tags.iter().any(|tag| { + if tag.first().map(String::as_str) != Some(name) { + return false; + } + + let Some(value) = tag.get(1) else { + return false; + }; + + criteria + .iter() + .any(|criterion| match criterion.strip_suffix('*') { + Some(prefix) if is_geohash => value.starts_with(prefix), + _ => value == criterion, + }) + }); + + if !matched { + return false; + } + } + + if let Some(search) = &self.search + && !search.is_empty() + { + let content = event.content.to_lowercase(); + let query = search.to_lowercase(); + let mut terms = query.split_whitespace().peekable(); + + if terms.peek().is_none() { + return false; + } + + if !terms.all(|term| content.contains(term)) { + return false; + } + } + + true + } + + /// The number of array-valued criteria this filter carries (`countFilterValues`, + /// `src/utils/filter.ts:9-10`), which NIP-45's `COUNT` bounds. + pub fn value_count(&self) -> usize { + self.ids.as_ref().map_or(0, Vec::len) + + self.authors.as_ref().map_or(0, Vec::len) + + self.kinds.as_ref().map_or(0, Vec::len) + + self.tags.values().map(Vec::len).sum::() + } +} + +/// Whether a string is a single-letter tag query, `#` plus one ASCII letter +/// (`isGenericTagQuery`, `src/utils/filter.ts:4`). Any other key is ignored by the matcher. +pub fn is_generic_tag_query(key: &str) -> bool { + let mut characters = key.chars(); + + matches!(characters.next(), Some('#')) + && characters + .next() + .is_some_and(|letter| letter.is_ascii_alphabetic()) + && characters.next().is_none() +} + +/// Whether the lowercase hex rendering of `bytes` starts with `prefix`. +/// +/// The comparison is on nibbles of the byte array, so no string is built. It is +/// case-sensitive, as `String.prototype.startsWith` on the lowercase id and pubkey is: a +/// criterion carrying any character outside `0-9a-f` cannot match. +fn hex_prefix_matches(bytes: &[u8], prefix: &str) -> bool { + if prefix.len() > bytes.len() * 2 { + return false; + } + + prefix.bytes().enumerate().all(|(index, character)| { + let byte = bytes[index / 2]; + let nibble = if index % 2 == 0 { + byte >> 4 + } else { + byte & 0x0f + }; + + let expected = match character { + b'0'..=b'9' => character - b'0', + b'a'..=b'f' => character - b'a' + 10, + _ => return false, + }; + + nibble == expected + }) +} + +/// One filter-validation finding, rendered `{path}: {message}` (`nostream_config::Issue` +/// has the same shape for settings). +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct FilterIssue { + pub path: String, + pub message: String, +} + +impl fmt::Display for FilterIssue { + fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(formatter, "{}: {}", self.path, self.message) + } +} + +/// Validates a raw filter document and builds the `Filter` (`filterSchema`, +/// `src/schemas/filter-schema.ts:12-44`). +/// +/// The raw document is the input because the schema reports type errors ("Expected array, +/// received null") against a path, which a serde deserialisation deeper in a frame parser +/// cannot phrase. Every message is the one the capture's zod 3 schema emits, verbatim. +pub fn validate_filter(value: &Value) -> Result> { + let Some(object) = value.as_object() else { + return Err(vec![FilterIssue { + path: String::new(), + message: invalid_type("object", value), + }]); + }; + + let mut issues: Vec = Vec::new(); + let mut filter = Filter::default(); + + for (key, field) in object { + match key.as_str() { + "ids" => filter.ids = validate_prefixes("ids", field, &mut issues), + "authors" => filter.authors = validate_prefixes("authors", field, &mut issues), + "kinds" => filter.kinds = validate_kinds("kinds", field, &mut issues), + "since" => filter.since = validate_timestamp("since", field, &mut issues), + "until" => filter.until = validate_timestamp("until", field, &mut issues), + "limit" => filter.limit = validate_limit("limit", field, &mut issues), + "search" => filter.search = validate_search("search", field, &mut issues), + _ => { + if let Some(criteria) = validate_string_array(key, field, &mut issues) { + filter.tags.insert(key.clone(), criteria); + } + } + } + } + + // `superRefine`: unknown keys, then the NIP-12 geohash rule. + for (key, field) in object { + if !KNOWN_FILTER_KEYS.contains(&key.as_str()) && !is_generic_tag_query(key) { + issues.push(FilterIssue { + path: key.clone(), + message: format!("Unknown key: {key}"), + }); + } + + if key == "#g" + && let Value::Array(criteria) = field + { + for (index, criterion) in criteria.iter().enumerate() { + if let Value::String(text) = criterion + && !is_geohash_filter_value(text) + { + issues.push(FilterIssue { + path: format!("#g[{index}]"), + message: "Invalid geohash filter".to_owned(), + }); + } + } + } + } + + if issues.is_empty() { + Ok(filter) + } else { + Err(issues) + } +} + +/// Removes deep-equal duplicates, keeping the first occurrence of each +/// (`uniqWith(equals, message.slice(2))`, `src/handlers/subscribe-message-handler.ts:54`). +pub fn dedupe_filters(filters: Vec) -> Vec { + let mut unique: Vec = Vec::with_capacity(filters.len()); + + for filter in filters { + if !unique.contains(&filter) { + unique.push(filter); + } + } + + unique +} + +/// The REQ handler's normalisation (`src/handlers/subscribe-message-handler.ts:54-58`): +/// dedupe, then drop `search` from every filter when NIP-50 is disabled. Nothing else +/// normalises — no key sorting, no default limit, no prefix lowering. +pub fn normalise_subscription(filters: Vec, search_enabled: bool) -> Vec { + let mut filters = dedupe_filters(filters); + + if !search_enabled { + for filter in &mut filters { + filter.search = None; + } + } + + filters +} + +/// The zod type error for `value` where `expected` was required +/// (`Expected array, received null`). +fn invalid_type(expected: &str, value: &Value) -> String { + let received = match value { + Value::Null => "null", + Value::Bool(_) => "boolean", + Value::Number(_) => "number", + Value::String(_) => "string", + Value::Array(_) => "array", + Value::Object(_) => "object", + }; + + format!("Expected {expected}, received {received}") +} + +fn issue(path: &str, message: impl Into, issues: &mut Vec) { + issues.push(FilterIssue { + path: path.to_owned(), + message: message.into(), + }); +} + +/// `z.array(prefixSchema)`: lowercase hex prefixes of 4..=64 characters. +fn validate_prefixes( + path: &str, + value: &Value, + issues: &mut Vec, +) -> Option> { + let Value::Array(items) = value else { + issue(path, invalid_type("array", value), issues); + return None; + }; + + let mut prefixes = Vec::with_capacity(items.len()); + + for (index, item) in items.iter().enumerate() { + let element = format!("{path}[{index}]"); + let Value::String(text) = item else { + issue(&element, invalid_type("string", item), issues); + continue; + }; + + let mut valid = true; + + if text.is_empty() + || !text + .bytes() + .all(|byte| byte.is_ascii_digit() || matches!(byte, b'a'..=b'f')) + { + issue(&element, "Invalid", issues); + valid = false; + } + + let length = text.chars().count(); + + if length < 4 { + issue( + &element, + "String must contain at least 4 character(s)", + issues, + ); + valid = false; + } + + if length > 64 { + issue( + &element, + "String must contain at most 64 character(s)", + issues, + ); + valid = false; + } + + if valid { + prefixes.push(text.clone()); + } + } + + Some(prefixes) +} + +/// `z.array(kindSchema)`: integers `>= 0`. +fn validate_kinds(path: &str, value: &Value, issues: &mut Vec) -> Option> { + let Value::Array(items) = value else { + issue(path, invalid_type("array", value), issues); + return None; + }; + + let mut kinds = Vec::with_capacity(items.len()); + + for (index, item) in items.iter().enumerate() { + let element = format!("{path}[{index}]"); + let Some(number) = item.as_f64() else { + issue(&element, invalid_type("number", item), issues); + continue; + }; + + let mut valid = true; + + if number.fract() != 0.0 { + issue(&element, "Expected integer, received float", issues); + valid = false; + } + + if number < 0.0 { + issue( + &element, + "Number must be greater than or equal to 0", + issues, + ); + valid = false; + } + + if !valid { + continue; + } + + // The capture holds kinds as JavaScript numbers; `Kind` is a `u64`, so a value + // beyond it is refused here rather than silently saturated. + if number > u64::MAX as f64 { + issue( + &element, + "Number must be less than or equal to 18446744073709551615", + issues, + ); + } else { + kinds.push(Kind(number as u64)); + } + } + + Some(kinds) +} + +/// `createdAtSchema`: integers `>= 0` below `10^10` (`src/schemas/base-schema.ts:25-30`). +fn validate_timestamp(path: &str, value: &Value, issues: &mut Vec) -> Option { + let Some(number) = value.as_f64() else { + issue(path, invalid_type("number", value), issues); + return None; + }; + + let mut valid = true; + + if number.fract() != 0.0 { + issue(path, "Expected integer, received float", issues); + valid = false; + } + + if number < 0.0 { + issue(path, "Number must be greater than or equal to 0", issues); + valid = false; + } + + let safe_integer = number.fract() == 0.0 && number.abs() <= MAX_SAFE_INTEGER; + let in_range = safe_integer && (0.0..1e10).contains(&number); + + if !in_range { + issue(path, "Invalid timestamp", issues); + valid = false; + } + + if valid { Some(number as i64) } else { None } +} + +/// `z.number().int().min(0)` for `limit`. +fn validate_limit(path: &str, value: &Value, issues: &mut Vec) -> Option { + let Some(number) = value.as_f64() else { + issue(path, invalid_type("number", value), issues); + return None; + }; + + let mut valid = true; + + if number.fract() != 0.0 { + issue(path, "Expected integer, received float", issues); + valid = false; + } + + if number < 0.0 { + issue(path, "Number must be greater than or equal to 0", issues); + valid = false; + } + + if !valid { + return None; + } + + if number > u64::MAX as f64 { + issue( + path, + "Number must be less than or equal to 18446744073709551615", + issues, + ); + return None; + } + + Some(number as u64) +} + +/// `z.string().min(1).max(1024)` for the NIP-50 query. +fn validate_search(path: &str, value: &Value, issues: &mut Vec) -> Option { + let Value::String(text) = value else { + issue(path, invalid_type("string", value), issues); + return None; + }; + + let length = text.chars().count(); + let mut valid = true; + + if length < 1 { + issue(path, "String must contain at least 1 character(s)", issues); + valid = false; + } + + if length > 1024 { + issue( + path, + "String must contain at most 1024 character(s)", + issues, + ); + valid = false; + } + + if valid { Some(text.clone()) } else { None } +} + +/// The catchall, `z.array(z.string().max(1024))`, which is also the tag-criterion shape. +fn validate_string_array( + path: &str, + value: &Value, + issues: &mut Vec, +) -> Option> { + let Value::Array(items) = value else { + issue(path, invalid_type("array", value), issues); + return None; + }; + + let mut strings = Vec::with_capacity(items.len()); + + for (index, item) in items.iter().enumerate() { + let element = format!("{path}[{index}]"); + let Value::String(text) = item else { + issue(&element, invalid_type("string", item), issues); + continue; + }; + + if text.chars().count() > 1024 { + issue( + &element, + "String must contain at most 1024 character(s)", + issues, + ); + continue; + } + + strings.push(text.clone()); + } + + Some(strings) +} + +/// `GEOHASH_FILTER_PATTERN`: base32 characters with at most one trailing `*` +/// (`src/utils/geohash.ts:12`). +fn is_geohash_filter_value(value: &str) -> bool { + let body = value.strip_suffix('*').unwrap_or(value); + + !body.is_empty() + && body + .chars() + .all(|character| GEOHASH_BASE32.contains(character)) +} + +#[cfg(test)] +mod tests { + #![allow(clippy::unwrap_used, clippy::expect_used)] + + use super::*; + use crate::event::Signature; + + const ID: &str = "aa11bb22cc33dd44ee55ff6677889900aa11bb22cc33dd44ee55ff6677889900"; + const PUBKEY: &str = "bb22cc33dd44ee55ff6677889900aa11bb22cc33dd44ee55ff6677889900aa11"; + + fn event() -> Event { + Event { + id: ID.parse().unwrap(), + pubkey: PUBKEY.parse().unwrap(), + created_at: 1000, + kind: Kind::TEXT_NOTE, + tags: Vec::new(), + content: String::new(), + sig: Signature::from_byte_array([0; 64]), + } + } + + #[test] + fn tag_map_keeps_the_hash_in_each_key() { + let document = r##"{"#e":["aa"]}"##; + + let filter: Filter = serde_json::from_str(document).unwrap(); + + assert_eq!(filter.tags.get("#e"), Some(&vec!["aa".to_owned()])); + assert_eq!(serde_json::to_string(&filter).unwrap(), document); + } + + #[test] + fn tag_map_round_trips_every_documented_key() { + let document = r##"{"#a":["30023:pk:d"],"#d":[""],"#e":["aa","bb"],"#p":["cc"]}"##; + + let filter: Filter = serde_json::from_str(document).unwrap(); + + assert_eq!(filter.tags.len(), 4); + assert_eq!(filter.tags["#d"], vec![String::new()]); + assert_eq!(serde_json::to_string(&filter).unwrap(), document); + } + + #[test] + fn validate_filter_and_deserialize_agree_on_a_valid_document() { + let document = r##"{"ids":["aaaa"],"authors":["bbbb"],"kinds":[0,1],"since":10,"until":20,"limit":5,"search":"nostr","#e":["aa"]}"##; + let value: Value = serde_json::from_str(document).unwrap(); + + let validated = validate_filter(&value).unwrap(); + let deserialised: Filter = serde_json::from_str(document).unwrap(); + + assert_eq!(validated, deserialised); + } + + #[test] + fn validate_filter_reports_the_path_and_message_of_each_issue() { + let value = serde_json::json!({"kinds": [[10000, 19999]]}); + + let issues = validate_filter(&value).unwrap_err(); + + assert_eq!(issues.len(), 1); + assert_eq!(issues[0].path, "kinds[0]"); + assert_eq!(issues[0].message, "Expected number, received array"); + assert_eq!( + issues[0].to_string(), + "kinds[0]: Expected number, received array" + ); + } + + #[test] + fn validate_filter_builds_the_tag_map_from_the_document() { + let value = serde_json::json!({"#e": ["aa"], "#t": ["nostr"]}); + + let filter = validate_filter(&value).unwrap(); + + assert_eq!(filter.tags["#e"], vec!["aa".to_owned()]); + assert_eq!(filter.tags["#t"], vec!["nostr".to_owned()]); + } + + #[test] + fn dedupe_filters_keeps_the_first_of_each_deep_equal_filter() { + let first: Filter = serde_json::from_str(r#"{"kinds":[1]}"#).unwrap(); + let second: Filter = serde_json::from_str(r#"{"kinds":[2]}"#).unwrap(); + + let unique = dedupe_filters(vec![first.clone(), second.clone(), first.clone()]); + + assert_eq!(unique, vec![first, second]); + } + + #[test] + fn normalise_subscription_drops_search_when_nip50_is_disabled() { + let searched: Filter = serde_json::from_str(r#"{"search":"nostr","kinds":[1]}"#).unwrap(); + let plain: Filter = serde_json::from_str(r#"{"kinds":[2]}"#).unwrap(); + + let normalised = normalise_subscription(vec![searched.clone(), plain.clone()], false); + + assert_eq!(normalised.len(), 2); + assert_eq!(normalised[0].search, None); + assert_eq!(normalised[0].kinds, searched.kinds); + assert_eq!( + normalise_subscription(vec![searched], true)[0] + .search + .as_deref(), + Some("nostr") + ); + } + + #[test] + fn normalise_subscription_changes_nothing_else() { + let filter: Filter = serde_json::from_str(r#"{"ids":["aaaa"],"limit":7}"#).unwrap(); + + assert_eq!( + normalise_subscription(vec![filter.clone()], true), + vec![filter] + ); + } + + #[test] + fn generic_tag_queries_are_one_letter_after_the_hash() { + assert!(is_generic_tag_query("#e")); + assert!(is_generic_tag_query("#A")); + assert!(!is_generic_tag_query("#0")); + assert!(!is_generic_tag_query("#ee")); + assert!(!is_generic_tag_query("e")); + } + + #[test] + fn hex_prefixes_are_case_sensitive_and_length_bound() { + let bytes = [0xaa, 0xbb]; + + assert!(hex_prefix_matches(&bytes, "")); + assert!(hex_prefix_matches(&bytes, "a")); + assert!(hex_prefix_matches(&bytes, "aabb")); + assert!(!hex_prefix_matches(&bytes, "aabbc")); + assert!(!hex_prefix_matches(&bytes, "AA")); + assert!(!hex_prefix_matches(&bytes, "zz")); + } + + #[test] + fn matcher_ignores_keys_that_are_not_generic_tag_queries() { + let filter: Filter = serde_json::from_str(r##"{"#expiration":["nothing"]}"##).unwrap(); + + assert!(filter.matches(&event())); + } + + #[test] + fn matcher_requires_every_tag_criterion_to_match_one_tag() { + let mut event = event(); + event.tags = vec![vec!["e".to_owned(), "aa".to_owned()]]; + let matching: Filter = serde_json::from_str(r##"{"#e":["aa"]}"##).unwrap(); + let not_matching: Filter = serde_json::from_str(r##"{"#e":["zz"]}"##).unwrap(); + + assert!(matching.matches(&event)); + assert!(!not_matching.matches(&event)); + } + + #[test] + fn matcher_treats_since_and_until_as_inclusive() { + assert!( + serde_json::from_str::(r#"{"since":1000}"#) + .unwrap() + .matches(&event()) + ); + assert!( + serde_json::from_str::(r#"{"until":1000}"#) + .unwrap() + .matches(&event()) + ); + assert!( + !serde_json::from_str::(r#"{"since":1001}"#) + .unwrap() + .matches(&event()) + ); + assert!( + !serde_json::from_str::(r#"{"until":999}"#) + .unwrap() + .matches(&event()) + ); + } + + #[test] + fn matcher_search_is_case_insensitive_and_substring_based() { + let mut event = event(); + event.content = "Bitcoin and Lightning".to_owned(); + + for query in ["bitcoin", "BITCOIN", "bitcoin lightning", ""] { + let filter: Filter = + serde_json::from_str(&format!(r#"{{"search":"{query}"}}"#)).unwrap(); + assert!(filter.matches(&event), "{query}"); + } + + for query in ["ethereum", "bitcoin ethereum", " "] { + let filter: Filter = + serde_json::from_str(&format!(r#"{{"search":"{query}"}}"#)).unwrap(); + assert!(!filter.matches(&event), "{query}"); + } + } + + #[test] + fn matcher_compares_the_geohash_prefix_only_for_g() { + let mut event = event(); + event.tags = vec![vec!["g".to_owned(), "u4pruydqqvj".to_owned()]]; + + let wildcard: Filter = serde_json::from_str(r##"{"#g":["u4pruyd*"]}"##).unwrap(); + let exact_prefix: Filter = serde_json::from_str(r##"{"#g":["u4pruyd"]}"##).unwrap(); + let exact: Filter = serde_json::from_str(r##"{"#g":["u4pruydqqvj"]}"##).unwrap(); + let other_tag: Filter = serde_json::from_str(r##"{"#e":["u4pruyd*"]}"##).unwrap(); + + assert!(wildcard.matches(&event)); + assert!(!exact_prefix.matches(&event)); + assert!(exact.matches(&event)); + assert!(!other_tag.matches(&event)); + } + + #[test] + fn matcher_never_matches_an_empty_array_criterion() { + let mut event = event(); + event.tags = vec![vec!["e".to_owned(), "aa".to_owned()]]; + + for document in [ + r#"{"ids":[]}"#, + r#"{"authors":[]}"#, + r#"{"kinds":[]}"#, + r##"{"#e":[]}"##, + ] { + let filter: Filter = serde_json::from_str(document).unwrap(); + assert!(!filter.matches(&event), "{document}"); + } + } + + #[test] + fn value_count_sums_every_array_criterion() { + let filter: Filter = serde_json::from_str( + r##"{"ids":["aa"],"authors":["bb","cc"],"kinds":[1,2,3],"#e":["x"],"since":1,"search":"aa bb"}"##, + ) + .unwrap(); + + assert_eq!(filter.value_count(), 7); + assert_eq!(Filter::default().value_count(), 0); + } + + #[test] + fn filter_hash_is_stable_for_equal_documents() { + use std::collections::HashSet; + + let one: Filter = serde_json::from_str(r#"{"kinds":[1],"since":5}"#).unwrap(); + let two: Filter = serde_json::from_str(r#"{"since":5,"kinds":[1]}"#).unwrap(); + let mut set = HashSet::new(); + + set.insert(one); + + assert!(set.contains(&two)); + } +} diff --git a/crates/nostream-core/src/lib.rs b/crates/nostream-core/src/lib.rs index c6f071ad..06ac017c 100644 --- a/crates/nostream-core/src/lib.rs +++ b/crates/nostream-core/src/lib.rs @@ -12,24 +12,35 @@ //! - `src/utils/adaptive-pow.ts`, `src/utils/compression.ts`, `src/utils/event.ts`, //! `src/utils/filter.ts`, `src/utils/geohash.ts`, `src/utils/html.ts`, //! `src/utils/http.ts`, `src/utils/messages.ts`, `src/utils/misc.ts`, -//! `src/utils/negentropy.ts`, `src/utils/negentropy-sessions.ts`, `src/utils/nip03.ts`, +//! `src/utils/negentropy.ts`, `src/utils/nip03.ts`, //! `src/utils/nip05.ts`, `src/utils/nip25.ts`, `src/utils/nip42.ts`, //! `src/utils/nip42-session.ts`, `src/utils/nip43.ts`, `src/utils/nip43-invites.ts`, //! `src/utils/nip44.ts`, `src/utils/nip56.ts`, `src/utils/nip65.ts`, //! `src/utils/nip66-events.ts`, `src/utils/nip66-nip11-tags.ts`, -//! `src/utils/nip66-schedule.ts`, `src/utils/nip77.ts`, `src/utils/nip98.ts`, +//! `src/utils/nip66-schedule.ts`, `src/utils/nip98.ts`, //! `src/utils/nip98-replay.ts`, `src/utils/proof-of-work.ts`, //! `src/utils/report-scoring.ts`, `src/utils/secret.ts`, `src/utils/shutdown-state.ts`, //! `src/utils/stream.ts`, `src/utils/template-cache.ts`, `src/utils/transform.ts`, //! `src/utils/validation.ts`, `src/utils/wot-pow-policy.ts` //! -//! Phase 1 (job 005) carries the type surfaces and labelled stubs only. Every function that -//! needs real behaviour returns `CoreError::NotImplemented`; nothing here is a partial port. +//! Implemented here, against those files: the 32-byte `EventId`/`Pubkey` and 64-byte +//! `Signature` with the schema's hex rules in the type, the canonical serialization and +//! SHA-256 event id, BIP-340 Schnorr verification and signing, the NIP-01 filter matcher +//! and the zod filter schema's rules, subscription normalisation, NIP-13 difficulty, +//! NIP-40 expiration, NIP-44 v2, and the NIP-77 reconciliation engine (over the +//! `negentropy` crate; see `negentropy.rs` for the seam and its divergences). //! -//! Phase 2+ areas this crate deliberately does not own: signature verification and event-id -//! hashing stay stubs until the crypto dependency choice (`secp256k1` vs `k256`, schnorr) is -//! recorded; the negentropy protocol engine and the NIP-77 wire state machine belong to -//! `nostream-relay` once a real transport exists. +//! What is still a stub is marked as such on the item and returns +//! `CoreError::NotImplemented`: the NIP frames, the event acceptance gate's validator, and +//! the adaptive-difficulty policy. +//! +//! Phase 2+ areas this crate deliberately does not own: the NIP-77 wire state machine and +//! its `NEG-OPEN`/`NEG-MSG`/`NEG-CLOSE` frame encoder belong to `nostream-relay` once a real +//! transport exists — the file those frames are described in, `src/utils/nip77.ts`, does +//! not exist at the capture (it appears at the porting oracle `041fe34e`), and neither does +//! `src/utils/negentropy-sessions.ts`; the stored-query path (Postgres full-text search and +//! `EXISTS`-per-tag SQL) is `nostream-storage`'s; the event acceptance gate's kind-specific +//! tag rules and `created_at` bounds are the gate's, not this crate's. pub mod adaptive_pow; pub mod constants; @@ -37,6 +48,7 @@ pub mod crypto; pub mod error; pub mod event; pub mod event_store; +pub mod expiration; pub mod filter; pub mod geohash; pub mod lifecycle; @@ -54,14 +66,18 @@ pub mod nip66; pub mod nip77; pub mod nip98; pub mod pow; +pub mod replaceable; pub mod report_scoring; pub mod secret; +pub mod time; pub mod validation; pub use error::CoreError; -pub use event::{Event, EventId, Kind, KindSelector, Pubkey}; +pub use event::{ + CanonicalEvent, Event, EventId, Kind, KindSelector, Pubkey, SettingsPubkey, Signature, Tag, +}; pub use event_store::EventStoreBackend; -pub use filter::Filter; +pub use filter::{Filter, FilterIssue}; pub use lifecycle::ShutdownState; pub use messages::{ClientMessage, RelayMessage}; pub use secret::Secret; diff --git a/crates/nostream-core/src/negentropy.rs b/crates/nostream-core/src/negentropy.rs index de02f0cf..e6c9843f 100644 --- a/crates/nostream-core/src/negentropy.rs +++ b/crates/nostream-core/src/negentropy.rs @@ -1,21 +1,110 @@ -//! NIP-77 negentropy set reconciliation. Mirrors `src/utils/negentropy.ts` (the session -//! bookkeeping named `negentropy-sessions.ts` lives only at the oracle `041fe34e`, not at -//! this branch's capture; the session seam here is this port's own shape). +//! NIP-77 set reconciliation, over the `negentropy` crate. +//! +//! The capture implements the protocol by hand (`src/utils/negentropy.ts:1-548`, a port of +//! `hoytech/negentropy` js/Negentropy.js). This module is a seam over the `negentropy` +//! crate 0.5.2 (MIT, rust-nostr), which speaks the same protocol version — +//! [`PROTOCOL_VERSION`] is `0x61`, the capture's `NEGENTROPY_PROTOCOL_VERSION` +//! (`src/utils/negentropy.ts:9`) — so the reference bytes in +//! `test/unit/utils/negentropy.spec.ts:239-263` are its oracle. +//! +//! Six of that suite's 44 cases cannot be reproduced against the crate, because the crate +//! makes faults unrepresentable rather than refusing them at run time; `tests/negentropy_parity.rs` +//! states each one and the behaviour that replaces it. What stands in for the issue's +//! "negentropy-range helpers NIP-77 needs" is exactly this: the range, bound, fingerprint +//! and reconcile engine the relay's NIP-77 session will drive. +use crate::constants::MAX_SAFE_INTEGER; use crate::error::CoreError; +use crate::event::{Event, EventId}; -/// One item in a negentropy exchange: a 32-byte id and its timestamp. -#[derive(Debug, Clone, PartialEq, Eq)] -pub struct NegentropyItem { - pub id: [u8; 32], - pub timestamp: u64, -} +pub use negentropy::{ + Bound, Error as NegentropyError, Id as NegentropyId, Item, Negentropy, NegentropyStorageBase, + NegentropyStorageVector, PROTOCOL_VERSION, +}; -/// Builds the initial reconciliation message from the local item set. +/// Builds a sealed storage vector from `(created_at, id)` pairs. /// -/// Phase 1 stub — job 005; will encode the initial negentropy message; see `src/utils/negentropy.ts`. -pub fn reconcile(_local: &[NegentropyItem], _remote_message: &[u8]) -> Result, CoreError> { - Err(CoreError::NotImplemented { - module: "core::negentropy::reconcile", - }) +/// A `created_at` that the capture's `insert` refuses — negative, or at the +/// `MAX_TIMESTAMP` sentinel (`src/utils/negentropy.ts:144-147`) — is an error here too. +/// Fractional timestamps cannot arrive: the argument is `i64`. +pub fn storage_from_items( + items: impl IntoIterator, +) -> Result { + let mut storage = NegentropyStorageVector::new(); + + for (created_at, id) in items { + if created_at < 0 || created_at as u64 >= MAX_SAFE_INTEGER { + return Err(CoreError::InvalidNegentropyStorage(format!( + "bad timestamp for added item: {created_at}" + ))); + } + + storage + .insert( + created_at as u64, + NegentropyId::from_byte_array(*id.as_bytes()), + ) + .map_err(|error| CoreError::InvalidNegentropyStorage(error.to_string()))?; + } + + storage + .seal() + .map_err(|error| CoreError::InvalidNegentropyStorage(error.to_string()))?; + + Ok(storage) +} + +/// [`storage_from_items`] over events, keyed by their id and `created_at`. +pub fn storage_from_events<'a>( + events: impl IntoIterator, +) -> Result { + storage_from_items(events.into_iter().map(|event| (event.created_at, event.id))) +} + +#[cfg(test)] +mod tests { + #![allow(clippy::unwrap_used, clippy::expect_used)] + + use super::*; + use crate::event::{Kind, Pubkey, Signature}; + + fn event(created_at: i64, id: [u8; 32]) -> Event { + Event { + id: EventId::from_byte_array(id), + pubkey: Pubkey::from_byte_array([3; 32]), + created_at, + kind: Kind::TEXT_NOTE, + tags: Vec::new(), + content: String::new(), + sig: Signature::from_byte_array([0; 64]), + } + } + + #[test] + fn storage_from_events_seals_every_item() { + let events = [event(10, [1; 32]), event(10, [2; 32]), event(11, [3; 32])]; + + let storage = storage_from_events(&events).unwrap(); + + assert_eq!(storage.size().unwrap(), 3); + } + + #[test] + fn storage_from_items_rejects_a_negative_timestamp() { + let error = storage_from_items([(-1, EventId::from_byte_array([1; 32]))]).unwrap_err(); + + assert!(error.to_string().contains("bad timestamp"), "{error}"); + } + + #[test] + fn storage_from_items_rejects_the_max_timestamp_sentinel() { + let sentinel = i64::try_from(MAX_SAFE_INTEGER).unwrap(); + + assert!(storage_from_items([(sentinel, EventId::from_byte_array([1; 32]))]).is_err()); + } + + #[test] + fn storage_reports_the_protocol_version_the_capture_uses() { + assert_eq!(PROTOCOL_VERSION, 0x61); + } } diff --git a/crates/nostream-core/src/nip44.rs b/crates/nostream-core/src/nip44.rs index afebd0c8..a1286fd9 100644 --- a/crates/nostream-core/src/nip44.rs +++ b/crates/nostream-core/src/nip44.rs @@ -1,21 +1,345 @@ -//! NIP-44: versioned encrypted payloads. Mirrors `src/utils/nip44.ts`. +//! NIP-44: versioned encrypted payloads. Mirrors `src/utils/nip44.ts:1-180`. +//! +//! `base64(0x02 || nonce[32] || ciphertext || mac[32])`, where the ChaCha20 key, its 12-byte +//! nonce and the HMAC-SHA256 key are HKDF-expanded from the conversation key and the +//! per-message nonce, and the plaintext is padded with a two-byte big-endian length prefix. +//! +//! The nonce is an argument: the capture generates a random one inside `nip44Encrypt`, and +//! randomness is the relay's to supply (spec D13 for the clock, the same reasoning here). +use base64::Engine; +use base64::engine::general_purpose::STANDARD; +use chacha20::ChaCha20; +use chacha20::cipher::{KeyIvInit, StreamCipher}; +use hkdf::Hkdf; +use hmac::{Hmac, KeyInit, Mac}; +use sha2::Sha256; + +use crate::crypto::shared_secret_x; use crate::error::CoreError; +use crate::event::Pubkey; + +type HmacSha256 = Hmac; + +const MIN_PLAINTEXT_SIZE: usize = 1; +const MAX_PLAINTEXT_SIZE: usize = 65_535; + +/// The NIP-44 version byte this module writes and accepts. +const VERSION: u8 = 2; + +/// The smallest and largest base64 payload lengths the capture accepts +/// (`src/utils/nip44.ts:120-122`). +const MIN_PAYLOAD_LENGTH: usize = 132; +const MAX_PAYLOAD_LENGTH: usize = 87_472; + +/// The smallest and largest decoded payload lengths the capture accepts +/// (`src/utils/nip44.ts:125-127`). +const MIN_DATA_LENGTH: usize = 99; +const MAX_DATA_LENGTH: usize = 65_603; + +/// Derives the conversation key (`getConversationKey`, `src/utils/nip44.ts:36-42`): +/// HKDF-extract with the salt `nip44-v2` over the ECDH x-coordinate. The result is the same +/// whichever party computes it. +pub fn get_conversation_key(secret_key: &[u8; 32], peer: &Pubkey) -> Result<[u8; 32], CoreError> { + let shared_x = shared_secret_x(secret_key, peer)?; + let (pseudorandom_key, _) = Hkdf::::extract(Some(b"nip44-v2"), &shared_x); + + let mut conversation_key = [0u8; 32]; + conversation_key.copy_from_slice(&pseudorandom_key); + + Ok(conversation_key) +} + +/// Encrypts `plaintext` into a NIP-44 v2 payload (`nip44Encrypt`, +/// `src/utils/nip44.ts:97-110`). +pub fn encrypt( + plaintext: &str, + conversation_key: &[u8; 32], + nonce: &[u8; 32], +) -> Result { + let keys = message_keys(conversation_key, nonce)?; + let mut ciphertext = pad(plaintext)?; + + // ChaCha20 with counter 0 and the 12-byte nonce is what OpenSSL's 16-byte IV of four + // zero bytes plus the nonce produces in the capture (`src/utils/nip44.ts:101-104`). + let mut cipher = ChaCha20::new_from_slices(&keys.key, &keys.nonce) + .map_err(|error| CoreError::InvalidNip44(format!("invalid key length: {error}")))?; + cipher.apply_keystream(&mut ciphertext); + + let mut mac = HmacSha256::new_from_slice(&keys.mac) + .map_err(|error| CoreError::InvalidNip44(format!("invalid key length: {error}")))?; + mac.update(nonce); + mac.update(&ciphertext); + let tag = mac.finalize().into_bytes(); + + let mut payload = Vec::with_capacity(1 + 32 + ciphertext.len() + 32); + payload.push(VERSION); + payload.extend_from_slice(nonce); + payload.extend_from_slice(&ciphertext); + payload.extend_from_slice(&tag); + + Ok(STANDARD.encode(payload)) +} + +/// Decrypts a NIP-44 v2 payload (`nip44Decrypt`, `src/utils/nip44.ts:116-150`). +pub fn decrypt(payload: &str, conversation_key: &[u8; 32]) -> Result { + if payload.is_empty() || payload.starts_with('#') { + return Err(invalid("unknown version")); + } + + if payload.len() < MIN_PAYLOAD_LENGTH || payload.len() > MAX_PAYLOAD_LENGTH { + return Err(invalid("invalid payload size")); + } + + let data = STANDARD + .decode(payload) + .map_err(|_| invalid("invalid data size"))?; + + if data.len() < MIN_DATA_LENGTH || data.len() > MAX_DATA_LENGTH { + return Err(invalid("invalid data size")); + } + + if data[0] != VERSION { + return Err(invalid(format!("unknown version {}", data[0]))); + } + + let nonce: [u8; 32] = data[1..33] + .try_into() + .map_err(|_| invalid("invalid data size"))?; + let mac_offset = data.len() - 32; + let ciphertext = &data[33..mac_offset]; + let tag = &data[mac_offset..]; + + let keys = message_keys(conversation_key, &nonce)?; + + let mut verifier = HmacSha256::new_from_slice(&keys.mac) + .map_err(|error| CoreError::InvalidNip44(format!("invalid key length: {error}")))?; + verifier.update(&nonce); + verifier.update(ciphertext); + verifier + .verify_slice(tag) + .map_err(|_| invalid("invalid MAC"))?; + + let mut padded = ciphertext.to_vec(); + let mut cipher = ChaCha20::new_from_slices(&keys.key, &keys.nonce) + .map_err(|error| CoreError::InvalidNip44(format!("invalid key length: {error}")))?; + cipher.apply_keystream(&mut padded); + + unpad(&padded) +} + +/// Checks a payload's structure without decrypting it (`validateNip44Payload`, +/// `src/utils/nip44.ts:158-180`). `None` means the format looks valid. +pub fn validate_payload(payload: &str) -> Option { + if payload.is_empty() || payload.starts_with('#') { + return Some("unsupported encryption version".to_owned()); + } + + if payload.len() < MIN_PAYLOAD_LENGTH || payload.len() > MAX_PAYLOAD_LENGTH { + return Some("invalid payload size".to_owned()); + } + + if !payload.len().is_multiple_of(4) || !is_base64(payload) { + return Some("payload is not valid base64".to_owned()); + } + + let data = STANDARD.decode(payload).ok()?; + + if data.len() < MIN_DATA_LENGTH || data.len() > MAX_DATA_LENGTH { + return Some("invalid decoded payload size".to_owned()); + } + + if data[0] != VERSION { + return Some(format!("unsupported encryption version {}", data[0])); + } + + None +} + +/// The length a plaintext of `unpadded_len` bytes is padded to (`calcPaddedLen`, +/// `src/utils/nip44.ts:63-71`). +fn calc_padded_len(unpadded_len: usize) -> usize { + if unpadded_len <= 32 { + return 32; + } + + let next_power = unpadded_len.next_power_of_two(); + let chunk = if next_power <= 256 { + 32 + } else { + next_power / 8 + }; + + chunk * ((unpadded_len - 1) / chunk + 1) +} + +/// `u16` big-endian length prefix, the plaintext, then zero padding (`pad`, +/// `src/utils/nip44.ts:72-82`). +fn pad(plaintext: &str) -> Result, CoreError> { + let unpadded = plaintext.as_bytes(); + + if unpadded.len() < MIN_PLAINTEXT_SIZE || unpadded.len() > MAX_PLAINTEXT_SIZE { + return Err(invalid("invalid plaintext length")); + } + + let mut padded = Vec::with_capacity(2 + calc_padded_len(unpadded.len())); + padded.extend_from_slice(&(unpadded.len() as u16).to_be_bytes()); + padded.extend_from_slice(unpadded); + padded.resize(2 + calc_padded_len(unpadded.len()), 0); + + Ok(padded) +} + +/// Reads the length prefix back and checks the padding (`unpad`, +/// `src/utils/nip44.ts:84-91`). +fn unpad(padded: &[u8]) -> Result { + let prefix = padded.get(..2).ok_or_else(|| invalid("invalid padding"))?; + let unpadded_len = usize::from(u16::from_be_bytes([prefix[0], prefix[1]])); + + if unpadded_len == 0 || padded.len() != 2 + calc_padded_len(unpadded_len) { + return Err(invalid("invalid padding")); + } + + let unpadded = padded + .get(2..2 + unpadded_len) + .ok_or_else(|| invalid("invalid padding"))?; + + String::from_utf8(unpadded.to_vec()).map_err(|_| invalid("invalid padding")) +} + +/// `BASE64_RE = /^[A-Za-z0-9+/]*={0,2}$/` (`src/utils/nip44.ts:156`). +fn is_base64(payload: &str) -> bool { + let body = payload.trim_end_matches('='); + + payload.len() - body.len() <= 2 + && body + .bytes() + .all(|byte| byte.is_ascii_alphanumeric() || byte == b'+' || byte == b'/') +} + +fn invalid(message: impl Into) -> CoreError { + CoreError::InvalidNip44(message.into()) +} + +struct MessageKeys { + key: [u8; 32], + nonce: [u8; 12], + mac: [u8; 32], +} + +/// HKDF-expand of the conversation key into the ChaCha20 key, its nonce and the MAC key +/// (`getMessageKeys`, `src/utils/nip44.ts:44-61`). +fn message_keys(conversation_key: &[u8; 32], nonce: &[u8; 32]) -> Result { + let hkdf = Hkdf::::from_prk(conversation_key) + .map_err(|error| invalid(format!("invalid conversation key: {error}")))?; + + let mut expanded = [0u8; 76]; + hkdf.expand(nonce, &mut expanded) + .map_err(|error| invalid(error.to_string()))?; + + let mut keys = MessageKeys { + key: [0u8; 32], + nonce: [0u8; 12], + mac: [0u8; 32], + }; + + keys.key.copy_from_slice(&expanded[0..32]); + keys.nonce.copy_from_slice(&expanded[32..44]); + keys.mac.copy_from_slice(&expanded[44..76]); + + Ok(keys) +} + +#[cfg(test)] +mod tests { + #![allow(clippy::unwrap_used, clippy::expect_used)] + + use super::*; + + const KNOWN_CONVERSATION_KEY: [u8; 32] = [ + 0xc4, 0x1c, 0x77, 0x53, 0x56, 0xfd, 0x92, 0xea, 0xdc, 0x63, 0xff, 0x5a, 0x0d, 0xc1, 0xda, + 0x21, 0x1b, 0x26, 0x8c, 0xbe, 0xa2, 0x23, 0x16, 0x76, 0x70, 0x95, 0xb2, 0x87, 0x1e, 0xa1, + 0x41, 0x2d, + ]; + const KNOWN_PAYLOAD: &str = "AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABee0G5VSK0/9YypIObAtDKfYEAjD35uVkHyB0F4DwrcNaCXlCWZKaArsGrY6M9wnuTMxWfp1RTN9Xga8no+kF5Vsb"; + + fn nonce_one() -> [u8; 32] { + let mut nonce = [0u8; 32]; + nonce[31] = 1; + nonce + } + + fn public_key_for(secret: &[u8; 32]) -> Pubkey { + crate::crypto::public_key(secret).unwrap() + } + + #[test] + fn conversation_key_is_symmetric_and_matches_the_published_vector() { + let mut one = [0u8; 32]; + one[31] = 1; + let mut two = [0u8; 32]; + two[31] = 2; + + assert_eq!( + get_conversation_key(&one, &public_key_for(&two)).unwrap(), + KNOWN_CONVERSATION_KEY + ); + assert_eq!( + get_conversation_key(&two, &public_key_for(&one)).unwrap(), + KNOWN_CONVERSATION_KEY + ); + } + + #[test] + fn padded_lengths_follow_the_nip44_table() { + for (unpadded, expected) in [ + (1, 32), + (32, 32), + (33, 64), + (64, 64), + (65, 96), + (100, 128), + (256, 256), + (257, 320), + (512, 512), + (1024, 1024), + ] { + assert_eq!(calc_padded_len(unpadded), expected, "{unpadded}"); + } + } + + #[test] + fn published_vector_round_trips() { + let payload = encrypt("a", &KNOWN_CONVERSATION_KEY, &nonce_one()).unwrap(); + + assert_eq!(payload, KNOWN_PAYLOAD); + assert_eq!( + decrypt(KNOWN_PAYLOAD, &KNOWN_CONVERSATION_KEY).unwrap(), + "a" + ); + assert_eq!(validate_payload(KNOWN_PAYLOAD), None); + } + + #[test] + fn tampered_payload_is_rejected() { + let error = decrypt("dG9vc2hvcnQ=", &KNOWN_CONVERSATION_KEY).unwrap_err(); + + assert_eq!(error.to_string(), "invalid payload size"); + } -/// Decrypts a NIP-44 v2 payload with the sender's shared secret. -/// -/// Phase 1 stub — job 005; will derive the conversation key and decrypt; see `src/utils/nip44.ts`. -pub fn decrypt(_payload: &str, _conversation_key: &[u8; 32]) -> Result { - Err(CoreError::NotImplemented { - module: "core::nip44::decrypt", - }) -} - -/// Encrypts a payload for a peer. -/// -/// Phase 1 stub — job 005; will pad and encrypt with the conversation key; see `src/utils/nip44.ts`. -pub fn encrypt(_plaintext: &str, _conversation_key: &[u8; 32]) -> Result { - Err(CoreError::NotImplemented { - module: "core::nip44::encrypt", - }) + #[test] + fn validate_payload_reports_each_structural_failure() { + assert_eq!( + validate_payload("#unsupported"), + Some("unsupported encryption version".to_owned()) + ); + assert_eq!( + validate_payload(""), + Some("unsupported encryption version".to_owned()) + ); + assert_eq!( + validate_payload("dG9vc2hvcnQ="), + Some("invalid payload size".to_owned()) + ); + } } diff --git a/crates/nostream-core/src/pow.rs b/crates/nostream-core/src/pow.rs index d7e16234..6ba7d070 100644 --- a/crates/nostream-core/src/pow.rs +++ b/crates/nostream-core/src/pow.rs @@ -1,13 +1,65 @@ -//! Proof-of-work. Mirrors `src/utils/proof-of-work.ts` and `src/utils/adaptive-pow.ts`. +//! Proof-of-work. Mirrors `src/utils/proof-of-work.ts` (NIP-13 difficulty). +//! +//! Load-scaled difficulty (`src/utils/adaptive-pow.ts`) is relay policy and stays +//! `adaptive_pow.rs`'s stub; this module is the difficulty calculation only. -use crate::error::CoreError; use crate::event::Event; -/// Whether the event id carries at least `difficulty` leading zero bits. -/// -/// Phase 1 stub — job 005; will count leading zero bits on the event id; see `src/utils/proof-of-work.ts`. -pub fn check(_event: &Event, _difficulty: u32) -> Result { - Err(CoreError::NotImplemented { - module: "core::pow::check", - }) +/// Counts the leading zero bits of a byte string (`getLeadingZeroBits`, +/// `src/utils/proof-of-work.ts:1-11`): eight per zero byte, then the leading zero bits of +/// the first non-zero byte. An empty input is zero. +pub fn leading_zero_bits(bytes: &[u8]) -> u32 { + let mut total = 0; + + for byte in bytes { + let bits = byte.leading_zeros(); + total += bits; + + if bits != 8 { + break; + } + } + + total +} + +/// Whether the event id carries at least `difficulty` leading zero bits +/// (`getEventProofOfWork`, `src/utils/event.ts:278-280`, against +/// `src/handlers/event-message-handler.ts:236`). +pub fn check(event: &Event, difficulty: u32) -> bool { + leading_zero_bits(event.id.as_bytes()) >= difficulty +} + +#[cfg(test)] +mod tests { + #![allow(clippy::unwrap_used, clippy::expect_used)] + + use super::*; + use crate::event::{EventId, Kind, Pubkey, Signature}; + + #[test] + fn leading_zero_bits_counts_eight_per_zero_byte() { + assert_eq!(leading_zero_bits(&[]), 0); + assert_eq!(leading_zero_bits(&[0xff]), 0); + assert_eq!(leading_zero_bits(&[0x80]), 0); + assert_eq!(leading_zero_bits(&[0x01]), 7); + assert_eq!(leading_zero_bits(&[0x00, 0x01]), 15); + assert_eq!(leading_zero_bits(&[0; 32]), 256); + } + + #[test] + fn check_compares_against_the_id_bytes() { + let event = Event { + id: EventId::from_byte_array([0; 32]), + pubkey: Pubkey::from_byte_array([1; 32]), + created_at: 0, + kind: Kind::TEXT_NOTE, + tags: Vec::new(), + content: String::new(), + sig: Signature::from_byte_array([0; 64]), + }; + + assert!(check(&event, 256)); + assert!(!check(&event, 257)); + } } diff --git a/crates/nostream-core/src/replaceable.rs b/crates/nostream-core/src/replaceable.rs new file mode 100644 index 00000000..ec542e2f --- /dev/null +++ b/crates/nostream-core/src/replaceable.rs @@ -0,0 +1,99 @@ +//! Replaceable-event precedence. +//! +//! The capture has no function for this decision: `ReplaceableEventStrategy.execute` only +//! calls `eventRepository.upsert` (`src/handlers/event-strategies/replaceable-event-strategy.ts:17-24`) +//! and the precedence lives in SQL. These are the two statements it lives in, +//! `src/repositories/event-repository.ts:404-410` (`:442-453` is the batch form): +//! +//! ```sql +//! .where(e.created_at < new.created_at OR (e.created_at = new.created_at AND e.event_id > new.event_id)) +//! ``` +//! +//! Read backwards, that predicate is the rule for whether a candidate replaces the stored +//! event: the candidate wins when it is newer, or when it has the same `created_at` and the +//! lexicographically **smaller** id (the SQL updates the stored row only when the stored id +//! is the larger one). `EventId`'s `Ord` is byte order, which is the same order Postgres +//! `bytea` comparison produces. + +use crate::event::{Event, EventId}; + +/// Whether `candidate` takes the place of the stored event with `stored_created_at` and +/// `stored_id`. +pub fn supersedes(candidate: &Event, stored_created_at: i64, stored_id: &EventId) -> bool { + candidate.created_at > stored_created_at + || (candidate.created_at == stored_created_at && candidate.id < *stored_id) +} + +#[cfg(test)] +mod tests { + #![allow(clippy::unwrap_used, clippy::expect_used)] + + use super::*; + use crate::event::{Kind, Pubkey, Signature}; + + fn event_at(created_at: i64, id: &str) -> Event { + Event { + id: id.parse().unwrap(), + pubkey: Pubkey::from_byte_array([2; 32]), + created_at, + kind: Kind::TEXT_NOTE, + tags: Vec::new(), + content: String::new(), + sig: Signature::from_byte_array([0; 64]), + } + } + + const LOW: &str = "0000000000000000000000000000000000000000000000000000000000000001"; + const HIGH: &str = "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"; + + #[test] + fn supersedes_a_newer_candidate() { + let candidate = event_at(2000, HIGH); + + assert!(supersedes(&candidate, 1000, &LOW.parse().unwrap())); + } + + #[test] + fn supersedes_an_older_candidate_never_wins() { + let candidate = event_at(999, LOW); + + assert!(!supersedes(&candidate, 1000, &HIGH.parse().unwrap())); + } + + #[test] + fn supersedes_at_equal_time_keeps_the_smaller_id() { + let candidate = event_at(1000, LOW); + let stored: EventId = HIGH.parse().unwrap(); + + assert!(supersedes(&candidate, 1000, &stored)); + } + + #[test] + fn supersedes_at_equal_time_loses_with_the_larger_id() { + let candidate = event_at(1000, HIGH); + let stored: EventId = LOW.parse().unwrap(); + + assert!(!supersedes(&candidate, 1000, &stored)); + } + + #[test] + fn supersedes_at_equal_time_with_the_same_id_is_false() { + let candidate = event_at(1000, LOW); + let stored: EventId = LOW.parse().unwrap(); + + assert!(!supersedes(&candidate, 1000, &stored)); + } + + #[test] + fn supersedes_compares_bytes_not_hex_case() { + // `ff..ff` is the larger byte string and also the larger lowercase hex string, so + // the two orders agree; the test pins that an id near the top of the range still + // compares by value. + let candidate = event_at( + 1000, + "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + ); + + assert!(supersedes(&candidate, 1000, &HIGH.parse().unwrap())); + } +} diff --git a/crates/nostream-core/src/time.rs b/crates/nostream-core/src/time.rs new file mode 100644 index 00000000..51aaeecd --- /dev/null +++ b/crates/nostream-core/src/time.rs @@ -0,0 +1,114 @@ +//! Reference time and the `created_at` window the relay accepts. +//! +//! Mirrors `src/handlers/event-message-handler.ts:179,203-218` (and its twin in +//! `src/app/static-mirroring-worker.ts:203-219`). The clock is read in one place, +//! [`unix_now`], so every caller can supply a fixed time instead; the capture reads +//! `Date.now()` inside the check because it has no such seam. + +use std::time::{SystemTime, UNIX_EPOCH}; + +use crate::error::CoreError; + +/// The current Unix time in whole seconds — the floor of `Date.now() / 1000`. +/// +/// A clock before the epoch saturates to zero rather than wrapping. +pub fn unix_now() -> i64 { + SystemTime::now() + .duration_since(UNIX_EPOCH) + .map(|elapsed| i64::try_from(elapsed.as_secs()).unwrap_or(i64::MAX)) + .unwrap_or(0) +} + +/// Checks `created_at` against the reference time +/// (`src/handlers/event-message-handler.ts:203-217`). +/// +/// A delta applies only when it is defined and greater than zero; with either delta +/// absent or zero, that direction is unchecked. The bounds are inclusive: `created_at` +/// exactly `now + delta` or `now - delta` passes. +pub fn check_created_at( + created_at: i64, + now: i64, + max_positive_delta: Option, + max_negative_delta: Option, +) -> Result<(), CoreError> { + if let Some(delta) = max_positive_delta.filter(|delta| *delta > 0) + && created_at > now.saturating_add(delta) + { + return Err(CoreError::CreatedAtInFuture { delta }); + } + + if let Some(delta) = max_negative_delta.filter(|delta| *delta > 0) + && created_at < now.saturating_sub(delta) + { + return Err(CoreError::CreatedAtInPast { delta }); + } + + Ok(()) +} + +#[cfg(test)] +mod tests { + #![allow(clippy::unwrap_used, clippy::expect_used)] + + use super::*; + + const NOW: i64 = 1_700_000_000; + + #[test] + fn created_at_inside_the_window_passes() { + assert!(check_created_at(NOW, NOW, Some(900), Some(86_400)).is_ok()); + } + + #[test] + fn created_at_at_the_future_bound_passes() { + assert!(check_created_at(NOW + 900, NOW, Some(900), None).is_ok()); + } + + #[test] + fn created_at_one_past_the_future_bound_is_rejected() { + let error = check_created_at(NOW + 901, NOW, Some(900), None).unwrap_err(); + + assert_eq!( + error.to_string(), + "rejected: created_at is more than 900 seconds in the future" + ); + assert!(matches!(error, CoreError::CreatedAtInFuture { delta: 900 })); + } + + #[test] + fn created_at_at_the_past_bound_passes() { + assert!(check_created_at(NOW - 900, NOW, None, Some(900)).is_ok()); + } + + #[test] + fn created_at_one_past_the_past_bound_is_rejected() { + let error = check_created_at(NOW - 901, NOW, None, Some(900)).unwrap_err(); + + assert_eq!( + error.to_string(), + "rejected: created_at is more than 900 seconds in the past" + ); + assert!(matches!(error, CoreError::CreatedAtInPast { delta: 900 })); + } + + #[test] + fn created_at_delta_applies_only_when_positive() { + assert!(check_created_at(NOW + 10_000, NOW, Some(0), None).is_ok()); + assert!(check_created_at(NOW - 10_000, NOW, None, Some(0)).is_ok()); + assert!(check_created_at(NOW + 10_000, NOW, Some(-5), None).is_ok()); + assert!(check_created_at(NOW - 10_000, NOW, None, Some(-5)).is_ok()); + assert!(check_created_at(NOW + 10_000, NOW, None, None).is_ok()); + } + + #[test] + fn created_at_future_is_checked_before_past() { + let error = check_created_at(NOW + 901, NOW, Some(900), Some(900)).unwrap_err(); + + assert!(matches!(error, CoreError::CreatedAtInFuture { .. })); + } + + #[test] + fn unix_now_is_plausible() { + assert!(unix_now() > 1_600_000_000); + } +} diff --git a/crates/nostream-storage/src/repositories.rs b/crates/nostream-storage/src/repositories.rs index c47d0a94..113b2f00 100644 --- a/crates/nostream-storage/src/repositories.rs +++ b/crates/nostream-storage/src/repositories.rs @@ -6,7 +6,7 @@ //! here. Methods are async and return `Result<_, StorageError>`, which is the one part of the //! TS boundary (`IQueryResult` extends `Promise`) that ports cleanly to tokio. -use nostream_core::{EventId, Kind, Pubkey}; +use nostream_core::{EventId, Kind, Pubkey, SettingsPubkey}; use std::future::Future; use std::pin::Pin; @@ -27,7 +27,7 @@ pub struct EventPurgeCounts { pub struct EventRetentionOptions { pub max_days: Option, pub kind_whitelist: Option>, - pub pubkey_whitelist: Option>, + pub pubkey_whitelist: Option>, } /// Event storage (`src/@types/repositories.ts` `IEventRepository`). From 1a0dd5fbd2f36c51b0d54378c08f019240642d47 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 07:34:12 -0400 Subject: [PATCH 03/22] test(core): port the captured TypeScript specs as parity modules --- crates/nostream-core/tests/event_parity.rs | 887 ++++++++++++++++++ crates/nostream-core/tests/filter_parity.rs | 68 ++ .../tests/filter_schema_parity.rs | 473 ++++++++++ .../nostream-core/tests/filter_truth_table.rs | 214 +++++ .../nostream-core/tests/negentropy_parity.rs | 790 ++++++++++++++++ crates/nostream-core/tests/nip44_parity.rs | 294 ++++++ crates/nostream-core/tests/pow_parity.rs | 92 ++ 7 files changed, 2818 insertions(+) create mode 100644 crates/nostream-core/tests/event_parity.rs create mode 100644 crates/nostream-core/tests/filter_parity.rs create mode 100644 crates/nostream-core/tests/filter_schema_parity.rs create mode 100644 crates/nostream-core/tests/filter_truth_table.rs create mode 100644 crates/nostream-core/tests/negentropy_parity.rs create mode 100644 crates/nostream-core/tests/nip44_parity.rs create mode 100644 crates/nostream-core/tests/pow_parity.rs diff --git a/crates/nostream-core/tests/event_parity.rs b/crates/nostream-core/tests/event_parity.rs new file mode 100644 index 00000000..f2864323 --- /dev/null +++ b/crates/nostream-core/tests/event_parity.rs @@ -0,0 +1,887 @@ +//! Parity with `test/unit/utils/event.spec.ts` (105 mocha cases, measured green at the +//! capture commit `242a3001`). +//! +//! | mocha case | Rust test | +//! |---|---| +//! | `NIP-01 > serializeEvent > returns serialized event given a Nostr event` | `serialize_event_...` | +//! | `NIP-01 > isEventMatchingFilter > …` (26) | `is_event_matching_filter_...` | +//! | `NIP-01 > NIP-50: search filter > …` (9) | `search_...` | +//! | `NIP-01 > isEventSignatureValid > …` (2) | `is_event_signature_valid_...` | +//! | `NIP-01 > isEventIdValid > …` (2) | `is_event_id_valid_...` | +//! | `NIP-12 > #d/#r/#g filter` (7) | `nip12_...` | +//! | `NIP-02 > isContactListEvent` (2) | `is_contact_list_event_...` | +//! | `NIP-16 > isReplaceableEvent/isEphemeralEvent/isDvmJobRequestEvent` (10) | `nip16_...` | +//! | `NIP-17 > …` (9) | `nip17_...` | +//! | `Marmot Protocol > …` (8) | `marmot_...` | +//! | `NIP-09 > isDeleteEvent` (2) | `is_delete_event_...` | +//! | `NIP-62 > isRequestToVanishEvent` (7) | `is_request_to_vanish_event_...` | +//! | `NIP-33 > isParameterizedReplaceableEvent` (2) | `nip33_...` | +//! | `NIP-40 > getEventExpiration/isExpiredEvent` (12) | `nip40_...` | +//! | `NIP-70 > isProtectedEvent` (6) | `nip70_...` | +//! +//! Two re-expression notes from the spec: `event.spec.ts:29-48` builds its input with +//! `pubkey: 'pubkey'`, which the typed `Event` cannot hold, so that case uses a real 64-hex +//! pubkey and asserts the same six-element shape; and `isExpiredEvent` reads the wall clock +//! in the capture, while [`nostream_core::expiration::is_expired_event`] takes `now`, so +//! each case supplies a fixed instant that decides the same way. + +#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)] + +use nostream_core::Kind; +use nostream_core::crypto::{compute_event_id, verify_event_signature}; +use nostream_core::event::{Event, EventId, Pubkey, Signature, canonical_json}; +use nostream_core::filter::Filter; +use serde_json::json; + +const ID: &str = "6b3cdd0302ded8068ad3f0269c74423ca4fee460f800f3d90103b63f14400407"; +const PUBKEY: &str = "22e804d26ed16b68db5259e78449e96dab5d464c8f470bda3eb1a70467f2c793"; +const SIG: &str = "b37adfed0e6398546d623536f9ddc92b95b7dc71927e1123266332659253ecd0ffa91ddf2c0a82a8426c5b363139d28534d6cac893b8a810149557a3f6d36768"; +const KNOWN_ID: &str = "b1601d26958e6508b7b9df0af609c652346c09392b6534d93aead9819a51b4ef"; +const KNOWN_SIG: &str = "ec8b2bc640c8c7e92fbc0e0a6f539da2635068a99809186f15106174d727456132977c78f3371d0ab01c108173df75750f33d8e04c4d7980bbb3fb70ba1e3848"; + +/// The `NIP-01 > isEventMatchingFilter` fixture (`event.spec.ts:51-67`). +fn fixture_event() -> Event { + Event { + id: ID.parse().unwrap(), + pubkey: PUBKEY.parse().unwrap(), + created_at: 1_648_351_380, + kind: Kind::TEXT_NOTE, + tags: vec![ + vec![ + "p".to_owned(), + "8355095016fddbe31fcf1453b26f613553e9758cf2263e190eac8fd96a3d3de9".to_owned(), + "wss://nostr-pub.wellorder.net".to_owned(), + ], + vec![ + "e".to_owned(), + "7377fa81fc6c7ae7f7f4ef8938d4a603f7bf98183b35ab128235cc92d4bebf96".to_owned(), + "wss://nostr-relay.untethr.me".to_owned(), + ], + ], + content: "I've set up mirroring between relays: https://i.imgur.com/HxCDipB.png".to_owned(), + sig: SIG.parse().unwrap(), + } +} + +/// An event carrying only what a kind predicate reads. +fn event_of_kind(kind: u64) -> Event { + Event { + id: EventId::from_byte_array([0; 32]), + pubkey: Pubkey::from_byte_array([0; 32]), + created_at: 0, + kind: Kind(kind), + tags: Vec::new(), + content: String::new(), + sig: Signature::from_byte_array([0; 64]), + } +} + +fn event_with_tags(tags: Vec>) -> Event { + Event { + tags: tags + .into_iter() + .map(|tag| tag.into_iter().map(str::to_owned).collect()) + .collect(), + ..event_of_kind(1) + } +} + +fn matches(filter: serde_json::Value, event: &Event) -> bool { + serde_json::from_value::(filter) + .unwrap() + .matches(event) +} + +// --- NIP-01 > serializeEvent (1) --------------------------------------------------------- + +#[test] +fn serialize_event_returns_serialized_event_given_a_nostr_event() { + let mut event = event_of_kind(1); + event.pubkey = PUBKEY.parse().unwrap(); + event.created_at = 1000; + event.tags = vec![vec!["tag name".to_owned(), "tag content".to_owned()]]; + event.content = "content".to_owned(); + + assert_eq!( + canonical_json(&event).unwrap(), + format!("[0,\"{PUBKEY}\",1000,1,[[\"tag name\",\"tag content\"]],\"content\"]") + ); +} + +// --- NIP-01 > isEventMatchingFilter (26) ------------------------------------------------- + +#[test] +fn is_event_matching_filter_returns_true_if_filter_is_empty() { + assert!(matches(json!({}), &fixture_event())); +} + +#[test] +fn ids_returns_false_if_ids_filter_is_empty() { + assert!(!matches(json!({"ids": []}), &fixture_event())); +} + +#[test] +fn ids_returns_true_if_ids_filter_contains_event_id() { + assert!(matches(json!({"ids": [ID]}), &fixture_event())); +} + +#[test] +fn ids_returns_false_if_ids_filter_does_not_contains_event_id() { + assert!(!matches( + json!({"ids": ["something else"]}), + &fixture_event() + )); +} + +#[test] +fn ids_returns_true_if_ids_with_prefix_matches_event() { + let mut event = event_of_kind(1); + event.id = "7377fa81fc6c7ae7f7f4ef8938d4a603f7bf98183b35ab128235cc92d4bebf96" + .parse() + .unwrap(); + + assert!(matches(json!({"ids": ["7377fa81fc6c"]}), &event)); +} + +#[test] +fn ids_returns_false_if_ids_with_prefix_does_not_matches_event() { + let mut event = event_of_kind(1); + event.id = "7377fa81fc6c7ae7f7f4ef8938d4a603f7bf98183b35ab128235cc92d4bebf96" + .parse() + .unwrap(); + + assert!(!matches(json!({"ids": ["001122"]}), &event)); +} + +#[test] +fn authors_returns_false_if_authors_filter_is_empty() { + assert!(!matches(json!({"authors": []}), &fixture_event())); +} + +#[test] +fn authors_returns_true_if_authors_filter_contains_event_id() { + assert!(matches(json!({"authors": [PUBKEY]}), &fixture_event())); +} + +#[test] +fn authors_returns_false_if_authors_filter_does_not_contains_event_id() { + assert!(!matches( + json!({"authors": ["something else"]}), + &fixture_event() + )); +} + +#[test] +fn authors_returns_true_if_authors_with_prefix_matches_event() { + assert!(matches(json!({"authors": ["22e804d"]}), &fixture_event())); +} + +#[test] +fn authors_returns_false_if_authors_with_prefix_does_not_matches_event() { + assert!(!matches(json!({"authors": ["001122"]}), &fixture_event())); +} + +#[test] +fn kinds_returns_false_if_kinds_filter_is_empty() { + assert!(!matches(json!({"kinds": []}), &fixture_event())); +} + +#[test] +fn kinds_returns_true_if_kinds_filter_contains_event_id() { + assert!(matches(json!({"kinds": [1]}), &fixture_event())); +} + +#[test] +fn kinds_returns_false_if_kinds_filter_does_not_contains_event_id() { + assert!(!matches(json!({"kinds": [666]}), &fixture_event())); +} + +#[test] +fn since_returns_true_if_since_lt_event_created_at() { + assert!(matches(json!({"since": 1_648_351_379}), &fixture_event())); +} + +#[test] +fn since_returns_true_if_since_eq_event_created_at() { + assert!(matches(json!({"since": 1_648_351_380}), &fixture_event())); +} + +#[test] +fn since_returns_false_if_since_gt_event_created_at() { + assert!(!matches(json!({"since": 1_648_351_381}), &fixture_event())); +} + +#[test] +fn until_returns_false_if_until_lt_event_created_at() { + assert!(!matches(json!({"until": 1_648_351_379}), &fixture_event())); +} + +#[test] +fn until_returns_true_if_until_eq_event_created_at() { + assert!(matches(json!({"until": 1_648_351_380}), &fixture_event())); +} + +#[test] +fn until_returns_true_if_until_gt_event_created_at() { + assert!(matches(json!({"until": 1_648_351_381}), &fixture_event())); +} + +#[test] +fn e_filter_returns_false_if_e_filter_is_empty() { + assert!(!matches(json!({"#e": []}), &fixture_event())); +} + +#[test] +fn e_filter_returns_true_if_e_filter_contains_e_tag_in_event() { + assert!(matches( + json!({"#e": ["7377fa81fc6c7ae7f7f4ef8938d4a603f7bf98183b35ab128235cc92d4bebf96"]}), + &fixture_event() + )); +} + +#[test] +fn e_filter_returns_false_if_e_filter_does_not_contain_tag_in_event() { + assert!(!matches( + json!({"#e": ["something else"]}), + &fixture_event() + )); +} + +#[test] +fn p_filter_returns_false_if_p_filter_is_empty() { + assert!(!matches(json!({"#p": []}), &fixture_event())); +} + +#[test] +fn p_filter_returns_true_if_p_filter_contains_p_tag_in_event() { + assert!(matches( + json!({"#p": ["8355095016fddbe31fcf1453b26f613553e9758cf2263e190eac8fd96a3d3de9"]}), + &fixture_event() + )); +} + +#[test] +fn p_filter_returns_false_if_p_filter_does_not_contain_tag_in_event() { + assert!(!matches( + json!({"#p": ["something else"]}), + &fixture_event() + )); +} + +// --- NIP-01 > NIP-50: search filter (9) -------------------------------------------------- + +fn search_event() -> Event { + Event { + content: "Bitcoin and Lightning Network are revolutionizing payments".to_owned(), + ..fixture_event() + } +} + +#[test] +fn search_returns_true_if_search_matches_single_term_in_content() { + assert!(matches(json!({"search": "bitcoin"}), &search_event())); +} + +#[test] +fn search_returns_true_if_search_matches_multiple_terms_in_content() { + assert!(matches( + json!({"search": "bitcoin lightning"}), + &search_event() + )); +} + +#[test] +fn search_returns_false_if_search_term_is_not_in_content() { + assert!(!matches(json!({"search": "ethereum"}), &search_event())); +} + +#[test] +fn search_returns_false_if_one_of_multiple_search_terms_is_missing() { + assert!(!matches( + json!({"search": "bitcoin ethereum"}), + &search_event() + )); +} + +#[test] +fn search_is_case_insensitive() { + assert!(matches(json!({"search": "BITCOIN"}), &search_event())); +} + +#[test] +fn search_returns_true_if_search_is_undefined() { + assert!(matches(json!({}), &search_event())); +} + +#[test] +fn search_returns_true_if_search_is_an_empty_string() { + assert!(matches(json!({"search": ""}), &search_event())); +} + +#[test] +fn search_returns_false_if_search_is_whitespace_only() { + assert!(!matches(json!({"search": " "}), &search_event())); +} + +#[test] +fn search_combines_with_other_filters() { + assert!(matches( + json!({"search": "bitcoin", "kinds": [1]}), + &search_event() + )); + assert!(!matches( + json!({"search": "bitcoin", "kinds": [2]}), + &search_event() + )); +} + +// --- NIP-01 > isEventSignatureValid (2) -------------------------------------------------- + +fn known_vector_event() -> Event { + Event { + id: KNOWN_ID.parse().unwrap(), + pubkey: PUBKEY.parse().unwrap(), + created_at: 1_648_339_664, + kind: Kind::TEXT_NOTE, + tags: Vec::new(), + content: "learning terraform rn!".to_owned(), + sig: KNOWN_SIG.parse().unwrap(), + } +} + +#[test] +fn is_event_signature_valid_resolves_with_true_if_event_has_a_valid_signature() { + assert!(verify_event_signature(&known_vector_event()).is_ok()); +} + +#[test] +fn is_event_signature_valid_resolves_with_false_if_event_has_a_valid_signature() { + let mut event = known_vector_event(); + event.id = "1234567890123456789012345678901234567890123456789012345678901234" + .parse() + .unwrap(); + + assert!(verify_event_signature(&event).is_err()); +} + +// --- NIP-01 > isEventIdValid (2) --------------------------------------------------------- + +#[test] +fn is_event_id_valid_resolves_with_true_if_event_id_is_valid() { + assert_eq!( + compute_event_id(&known_vector_event()).unwrap().to_string(), + KNOWN_ID + ); +} + +#[test] +fn is_event_id_valid_resolves_with_false_if_event_id_is_not_valid() { + let mut event = known_vector_event(); + event.content = "changed".to_owned(); + + assert_ne!(compute_event_id(&event).unwrap().to_string(), KNOWN_ID); +} + +// --- NIP-12 (#d, #r, #g) (7) ------------------------------------------------------------- + +fn nip12_event(tag: [&str; 2], kind: u64) -> Event { + Event { + tags: vec![tag.iter().map(|value| value.to_string()).collect()], + ..event_of_kind(kind) + } +} + +#[test] +fn nip12_d_filter_returns_true_if_d_filter_contains_an_empty_tag_value_in_the_event() { + let event = nip12_event(["d", ""], Kind::PARAMETERIZED_REPLACEABLE_START.0); + + assert!(matches(json!({"#d": [""]}), &event)); +} + +#[test] +fn nip12_r_filter_returns_false_if_r_filter_is_empty() { + let event = nip12_event(["r", "https://fiatjaf.com"], 1); + + assert!(!matches(json!({"#r": []}), &event)); +} + +#[test] +fn nip12_r_filter_returns_true_if_r_filter_contains_p_tag_in_event() { + let event = nip12_event(["r", "https://fiatjaf.com"], 1); + + assert!(matches(json!({"#r": ["https://fiatjaf.com"]}), &event)); +} + +#[test] +fn nip12_r_filter_returns_false_if_r_filter_does_not_contain_tag_in_event() { + let event = nip12_event(["r", "https://fiatjaf.com"], 1); + + assert!(!matches(json!({"#r": ["something else"]}), &event)); +} + +#[test] +fn nip12_g_filter_returns_true_if_g_filter_contains_a_matching_geohash_prefix_wildcard() { + let event = nip12_event(["g", "u4pruydqqvj"], 1); + + assert!(matches(json!({"#g": ["u4pruyd*"]}), &event)); +} + +#[test] +fn nip12_g_filter_returns_false_if_g_filter_contains_a_non_matching_geohash_prefix_wildcard() { + let event = nip12_event(["g", "u4pruydqqvj"], 1); + + assert!(!matches(json!({"#g": ["u4pruz*"]}), &event)); +} + +#[test] +fn nip12_g_filter_keeps_g_filter_exact_when_criterion_has_no_wildcard() { + let event = nip12_event(["g", "u4pruydqqvj"], 1); + + assert!(!matches(json!({"#g": ["u4pruyd"]}), &event)); + assert!(matches(json!({"#g": ["u4pruydqqvj"]}), &event)); +} + +// --- NIP-02 > isContactListEvent (2) ----------------------------------------------------- + +#[test] +fn is_contact_list_event_returns_true_if_event_is_a_contact_list() { + assert!(event_of_kind(Kind::CONTACT_LIST.0).kind.is_contact_list()); +} + +#[test] +fn is_contact_list_event_returns_false_if_event_is_not_a_contact_list() { + assert!(!event_of_kind(Kind::METADATA.0).kind.is_contact_list()); +} + +// --- NIP-16 (10) ------------------------------------------------------------------------- + +#[test] +fn is_replaceable_event_returns_true_if_event_is_replaceable() { + assert!( + event_of_kind(Kind::REPLACEABLE_START.0) + .kind + .is_replaceable() + ); +} + +#[test] +fn is_replaceable_event_returns_true_if_event_is_set_metadata() { + assert!(event_of_kind(Kind::METADATA.0).kind.is_replaceable()); +} + +#[test] +fn is_replaceable_event_returns_true_if_event_is_contact_list() { + assert!(event_of_kind(Kind::CONTACT_LIST.0).kind.is_replaceable()); +} + +#[test] +fn is_replaceable_event_returns_false_if_event_is_not_replaceable() { + assert!( + !event_of_kind(Kind::REPLACEABLE_END.0 + 1) + .kind + .is_replaceable() + ); +} + +#[test] +fn is_ephemeral_event_returns_true_if_event_is_replaceable() { + assert!(event_of_kind(20_000).kind.is_ephemeral()); +} + +#[test] +fn is_ephemeral_event_returns_false_if_event_is_not_replaceable() { + assert!(!event_of_kind(30_000).kind.is_ephemeral()); +} + +#[test] +fn is_dvm_job_request_event_returns_true_for_the_first_kind_in_the_dvm_job_request_range_5000() { + assert!(event_of_kind(5_000).kind.is_dvm_job_request()); +} + +#[test] +fn is_dvm_job_request_event_returns_true_for_the_last_kind_in_the_dvm_job_request_range_5999() { + assert!(event_of_kind(5_999).kind.is_dvm_job_request()); +} + +#[test] +fn is_dvm_job_request_event_returns_false_for_a_kind_below_the_dvm_job_request_range() { + assert!(!event_of_kind(4_999).kind.is_dvm_job_request()); +} + +#[test] +fn is_dvm_job_request_event_returns_false_for_a_kind_above_the_dvm_job_request_range() { + assert!(!event_of_kind(6_000).kind.is_dvm_job_request()); +} + +// --- NIP-17 (9) -------------------------------------------------------------------------- + +#[test] +fn is_gift_wrap_event_returns_true_for_kind_1059() { + assert!(event_of_kind(1059).kind.is_gift_wrap()); +} + +#[test] +fn is_gift_wrap_event_returns_false_for_any_other_kind() { + for kind in [1, 13, 14] { + assert!(!event_of_kind(kind).kind.is_gift_wrap(), "kind {kind}"); + } +} + +#[test] +fn is_seal_event_returns_true_for_kind_13() { + assert!(event_of_kind(13).kind.is_seal()); +} + +#[test] +fn is_seal_event_returns_false_for_any_other_kind() { + for kind in [1, 1059, 14] { + assert!(!event_of_kind(kind).kind.is_seal(), "kind {kind}"); + } +} + +#[test] +fn is_direct_message_event_returns_true_for_kind_14() { + assert!(event_of_kind(14).kind.is_direct_message()); +} + +#[test] +fn is_direct_message_event_returns_false_for_kind_4_legacy_nip04_dm() { + assert!(!event_of_kind(4).kind.is_direct_message()); +} + +#[test] +fn is_direct_message_event_returns_false_for_any_other_kind() { + for kind in [1, 1059, 13] { + assert!(!event_of_kind(kind).kind.is_direct_message(), "kind {kind}"); + } +} + +#[test] +fn is_file_message_event_returns_true_for_kind_15() { + assert!(event_of_kind(15).kind.is_file_message()); +} + +#[test] +fn is_file_message_event_returns_false_for_any_other_kind() { + for kind in [1, 14, 1059] { + assert!(!event_of_kind(kind).kind.is_file_message(), "kind {kind}"); + } +} + +// --- Marmot Protocol (8) ----------------------------------------------------------------- + +#[test] +fn is_welcome_rumor_event_returns_true_for_kind_444() { + assert!(event_of_kind(444).kind.is_welcome_rumor()); +} + +#[test] +fn is_welcome_rumor_event_returns_false_for_kind_445_group_event() { + assert!(!event_of_kind(445).kind.is_welcome_rumor()); +} + +#[test] +fn is_welcome_rumor_event_returns_false_for_kind_1059_gift_wrap() { + assert!(!event_of_kind(1059).kind.is_welcome_rumor()); +} + +#[test] +fn is_welcome_rumor_event_returns_false_for_any_unrelated_kind() { + assert!(!event_of_kind(1).kind.is_welcome_rumor()); +} + +#[test] +fn is_marmot_group_event_returns_true_for_kind_445() { + assert!(event_of_kind(445).kind.is_marmot_group_event()); +} + +#[test] +fn is_marmot_group_event_returns_false_for_kind_444_welcome_rumor() { + assert!(!event_of_kind(444).kind.is_marmot_group_event()); +} + +#[test] +fn is_marmot_group_event_returns_false_for_kind_443_legacy_key_package() { + assert!(!event_of_kind(443).kind.is_marmot_group_event()); +} + +#[test] +fn is_marmot_group_event_returns_false_for_any_unrelated_kind() { + assert!(!event_of_kind(1).kind.is_marmot_group_event()); + assert!(!event_of_kind(1059).kind.is_marmot_group_event()); +} + +// --- NIP-09 (2) -------------------------------------------------------------------------- + +#[test] +fn is_delete_event_returns_true_if_event_is_kind_5() { + assert!(event_of_kind(5).kind.is_delete()); +} + +#[test] +fn is_delete_event_returns_false_if_event_is_not_kind_5() { + assert!(!event_of_kind(5 * 100_000).kind.is_delete()); +} + +// --- NIP-62 (7) -------------------------------------------------------------------------- + +#[test] +fn is_request_to_vanish_event_returns_true_if_event_is_kind_62() { + assert!(event_of_kind(62).is_request_to_vanish(None)); +} + +#[test] +fn is_request_to_vanish_event_returns_false_if_event_is_not_kind_62() { + assert!(!event_of_kind(1).is_request_to_vanish(None)); +} + +#[test] +fn is_request_to_vanish_event_returns_true_when_event_contains_the_relay_url() { + let event = Event { + kind: Kind::REQUEST_TO_VANISH, + tags: vec![vec!["r".to_owned(), "relay_url".to_owned()]], + ..event_of_kind(62) + }; + + assert!(event.is_request_to_vanish(Some("relay_url"))); +} + +#[test] +fn is_request_to_vanish_event_returns_true_when_event_contains_all_relays() { + let event = Event { + kind: Kind::REQUEST_TO_VANISH, + tags: vec![vec!["r".to_owned(), "ALL_RELAYS".to_owned()]], + ..event_of_kind(62) + }; + + assert!(event.is_request_to_vanish(Some("relay_url"))); +} + +#[test] +fn is_request_to_vanish_event_returns_false_when_relay_tag_does_not_match() { + let event = Event { + kind: Kind::REQUEST_TO_VANISH, + tags: vec![vec!["r".to_owned(), "other_relay_url".to_owned()]], + ..event_of_kind(62) + }; + + assert!(!event.is_request_to_vanish(Some("relay_url"))); +} + +#[test] +fn is_request_to_vanish_event_returns_false_when_there_are_no_relay_tags() { + let event = Event { + kind: Kind::REQUEST_TO_VANISH, + tags: Vec::new(), + ..event_of_kind(62) + }; + + assert!(!event.is_request_to_vanish(Some("relay_url"))); +} + +#[test] +fn is_request_to_vanish_event_returns_false_when_relay_url_is_provided_for_non_kind_62_event() { + let event = Event { + kind: Kind::TEXT_NOTE, + tags: vec![vec!["r".to_owned(), "relay_url".to_owned()]], + ..event_of_kind(1) + }; + + assert!(!event.is_request_to_vanish(Some("relay_url"))); +} + +// --- NIP-33 (2) -------------------------------------------------------------------------- + +#[test] +fn nip33_returns_true_if_event_is_a_parameterized_replaceable_event() { + assert!(event_of_kind(30_000).kind.is_parameterized_replaceable()); +} + +#[test] +fn nip33_returns_false_if_event_is_a_parameterized_replaceable_event() { + assert!(!event_of_kind(40_000).kind.is_parameterized_replaceable()); +} + +// --- NIP-40 (12) ------------------------------------------------------------------------- + +fn nip40_event(tags: Vec>) -> Event { + Event { + id: "a080fd288b60ac2225ff2e2d815291bd730911e583e177302cc949a15dc2b2dc" + .parse() + .unwrap(), + pubkey: "62903b1ff41559daf9ee98ef1ae67cc52f301bb5ce26d14baba3052f649c3f49" + .parse() + .unwrap(), + created_at: 1_660_896_109, + tags: tags + .into_iter() + .map(|tag| tag.into_iter().map(str::to_owned).collect()) + .collect(), + ..event_of_kind(1) + } +} + +#[test] +fn nip40_get_event_expiration_returns_true_if_expiration_is_a_safe_integer() { + assert_eq!( + nostream_core::expiration::get_event_expiration(&nip40_event(vec![vec![ + "expiration", + "160000000" + ]])), + Some(160_000_000) + ); +} + +#[test] +fn nip40_get_event_expiration_returns_false_if_event_does_not_have_expiration_tag() { + assert_eq!( + nostream_core::expiration::get_event_expiration(&nip40_event(Vec::new())), + None + ); +} + +#[test] +fn nip40_get_event_expiration_returns_false_if_expiration_is_unsafe_integer() { + assert_eq!( + nostream_core::expiration::get_event_expiration(&nip40_event(vec![vec![ + "expiration", + "160000000000000000000" + ]])), + None + ); +} + +#[test] +fn nip40_get_event_expiration_returns_false_if_expiration_is_malformed_data() { + assert_eq!( + nostream_core::expiration::get_event_expiration(&nip40_event(vec![vec![ + "expiration", + "a" + ]])), + None + ); +} + +#[test] +fn nip40_get_event_expiration_returns_false_if_expiration_is_0() { + assert_eq!( + nostream_core::expiration::get_event_expiration(&nip40_event(vec![vec![ + "expiration", + "0" + ]])), + None + ); +} + +#[test] +fn nip40_get_event_expiration_returns_false_if_expiration_exceeds_the_postgres_int4_column_max() { + assert_eq!( + nostream_core::expiration::get_event_expiration(&nip40_event(vec![vec![ + "expiration", + "10000000000" + ]])), + None + ); +} + +#[test] +fn nip40_get_event_expiration_returns_false_if_expiration_is_the_maximum_representable_unix_seconds_timestamp() + { + assert_eq!( + nostream_core::expiration::get_event_expiration(&nip40_event(vec![vec![ + "expiration", + "253402300799" + ]])), + None + ); +} + +#[test] +fn nip40_get_event_expiration_returns_true_if_expiration_is_the_maximum_value_the_expires_at_column_can_store() + { + assert_eq!( + nostream_core::expiration::get_event_expiration(&nip40_event(vec![vec![ + "expiration", + "2147483647" + ]])), + Some(2_147_483_647) + ); +} + +#[test] +fn nip40_get_event_expiration_returns_false_if_expiration_looks_like_a_millisecond_scale_timestamp() +{ + assert_eq!( + nostream_core::expiration::get_event_expiration(&nip40_event(vec![vec![ + "expiration", + "1700000000000" + ]])), + None + ); +} + +#[test] +fn nip40_is_expired_event_returns_false_if_event_does_not_have_tags() { + assert!(!nostream_core::expiration::is_expired_event( + &nip40_event(Vec::new()), + 1_700_000_000 + )); +} + +#[test] +fn nip40_is_expired_event_returns_false_if_event_does_not_have_expiration_tags() { + assert!(!nostream_core::expiration::is_expired_event( + &nip40_event(vec![vec![ + "delegation", + "86f0689bd48dcd19c67a19d994f938ee34f251d8c39976290955ff585f2db42e", + ]]), + 1_700_000_000 + )); +} + +#[test] +fn nip40_is_expired_event_returns_true_if_event_is_expired() { + assert!(nostream_core::expiration::is_expired_event( + &nip40_event(vec![vec!["expiration", "100000"]]), + 1_700_000_000 + )); +} + +// --- NIP-70 (6) -------------------------------------------------------------------------- + +#[test] +fn nip70_is_protected_event_returns_true_if_event_has_a_tag() { + assert!(event_with_tags(vec![vec!["-"]]).is_protected()); +} + +#[test] +fn nip70_is_protected_event_returns_true_if_protected_tag_has_extra_values() { + assert!(event_with_tags(vec![vec!["-", "some-reason"]]).is_protected()); +} + +#[test] +fn nip70_is_protected_event_returns_false_if_event_has_no_tags() { + assert!(!event_with_tags(Vec::new()).is_protected()); +} + +#[test] +fn nip70_is_protected_event_returns_false_if_event_has_unrelated_tags() { + assert!(!event_with_tags(vec![vec!["e", "7377fa81fc6c"], vec!["p", "22e804d"]]).is_protected()); +} + +#[test] +fn nip70_is_protected_event_returns_false_if_appears_as_a_tag_value_not_a_tag_name() { + assert!(!event_with_tags(vec![vec!["e", "-"]]).is_protected()); +} + +#[test] +fn nip70_is_protected_event_returns_true_when_protected_tag_is_among_other_tags() { + assert!( + event_with_tags(vec![ + vec!["e", "7377fa81fc6c"], + vec!["-"], + vec!["p", "22e804d"] + ]) + .is_protected() + ); +} diff --git a/crates/nostream-core/tests/filter_parity.rs b/crates/nostream-core/tests/filter_parity.rs new file mode 100644 index 00000000..39c15fb3 --- /dev/null +++ b/crates/nostream-core/tests/filter_parity.rs @@ -0,0 +1,68 @@ +//! Parity with `test/unit/utils/filter.spec.ts` (9 mocha cases, measured green at the +//! capture commit `242a3001`): `isGenericTagQuery` (4) and `countFilterValues` (5). + +#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)] + +use nostream_core::filter::{Filter, is_generic_tag_query}; + +fn filter(document: &str) -> Filter { + serde_json::from_str(document).unwrap() +} + +// --- isGenericTagQuery (4) --------------------------------------------------------------- + +#[test] +fn is_generic_tag_query_returns_true_for_a() { + assert!(is_generic_tag_query("#a")); +} + +#[test] +fn is_generic_tag_query_returns_true_for_uppercase_a() { + assert!(is_generic_tag_query("#A")); +} + +#[test] +fn is_generic_tag_query_returns_false_for_0() { + assert!(!is_generic_tag_query("#0")); +} + +#[test] +fn is_generic_tag_query_returns_false_for_abc() { + assert!(!is_generic_tag_query("#abc")); +} + +// --- countFilterValues (5) --------------------------------------------------------------- + +#[test] +fn count_filter_values_returns_zero_for_a_filter_without_array_criteria() { + assert_eq!(filter("{}").value_count(), 0); +} + +#[test] +fn count_filter_values_sums_values_across_every_array_criterion() { + assert_eq!( + filter(r#"{"ids":["aa"],"authors":["bb","cc"],"kinds":[1,2,3]}"#).value_count(), + 6 + ); +} + +#[test] +fn count_filter_values_counts_generic_tag_criteria() { + assert_eq!( + filter(r##"{"#e":["aa","bb"],"#p":["cc"]}"##).value_count(), + 3 + ); +} + +#[test] +fn count_filter_values_does_not_count_scalar_criteria() { + assert_eq!( + filter(r#"{"ids":["aa"],"since":1,"until":2,"limit":3,"search":"aa bb cc"}"#).value_count(), + 1 + ); +} + +#[test] +fn count_filter_values_does_not_count_empty_criteria() { + assert_eq!(filter(r#"{"ids":[],"authors":["aa"]}"#).value_count(), 1); +} diff --git a/crates/nostream-core/tests/filter_schema_parity.rs b/crates/nostream-core/tests/filter_schema_parity.rs new file mode 100644 index 00000000..876f3347 --- /dev/null +++ b/crates/nostream-core/tests/filter_schema_parity.rs @@ -0,0 +1,473 @@ +//! Parity with `test/unit/schemas/filter-schema.spec.ts` (47 mocha cases, measured green at +//! the capture commit `242a3001`): 4 acceptances (`:25-67`), 29 generated rejections +//! (`:69-141`), 6 NIP-50 search cases (`:144-187`) and 8 NIP-12 geohash cases (`:190-232`). +//! +//! **Messages.** The mocha suite asserts only that an error exists; the strings in its table +//! are the case *names*. The capture's zod 3 schema emits its own text, measured against the +//! capture tree ("Expected array, received null", "String must contain at most 64 +//! character(s)", "Invalid", "Number must be greater than or equal to 0", "Expected integer, +//! received float", "Invalid timestamp", "Unknown key: ", "Invalid geohash filter"), and +//! that measured text is what `validate_filter` reproduces and what these tests assert — +//! a stricter check than the capture's, against the capture's own output rather than its +//! test names (spec D11's list is the case names; see build.md and ADR 0002). + +#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)] + +use nostream_core::filter::{Filter, validate_filter}; +use serde_json::{Value, json}; + +/// The fixture every generated case mutates (`filter-schema.spec.ts:12-22`). +fn base() -> Value { + json!({ + "ids": ["aaaa", "bbbb", "cccc"], + "authors": ["aaaa", "bbbb", "cccc"], + "kinds": [0, 1, 2, 3], + "since": 1000, + "until": 1000, + "limit": 100, + "#e": ["aa", "bb", "cc"], + "#p": ["dd", "ee", "ff"], + "#r": ["00", "11", "22"], + }) +} + +fn issue_lines(document: &Value) -> Vec { + match validate_filter(document) { + Ok(_) => Vec::new(), + Err(issues) => issues.iter().map(ToString::to_string).collect(), + } +} + +fn assert_issues(document: &Value, expected: &[&str]) { + assert_eq!(issue_lines(document), expected); +} + +fn assert_matches_input(document: &Value) { + let validated = validate_filter(document).unwrap(); + let deserialised: Filter = serde_json::from_value(document.clone()).unwrap(); + + assert_eq!(validated, deserialised); +} + +// --- validate filter schema: acceptances (4) --------------------------------------------- + +#[test] +fn accepts_nip22_comment_threading_filters_for_kind_1111() { + let document = json!({ + "kinds": [1111], + "#E": ["aaaa"], + "#K": ["1"], + "#I": ["identifier1"], + "#A": ["10000:pubkey:dtag"], + }); + + assert_matches_input(&document); +} + +#[test] +fn accepts_uppercase_tag_filters_a_to_z() { + let mut document = base(); + document["#I"] = json!(["identifier1", "identifier2"]); + document["#K"] = json!(["1111"]); + document["#E"] = json!(["aa", "bb"]); + document["#A"] = json!(["10000:pubkey:dtag"]); + + assert_matches_input(&document); +} + +#[test] +fn validate_filter_schema_returns_same_filter_if_filter_is_valid() { + assert_matches_input(&base()); +} + +#[test] +fn accepts_empty_strings_in_generic_tag_filters() { + assert_matches_input(&json!({"#d": [""]})); +} + +// --- validate filter schema: generated rejections (29) ----------------------------------- + +#[test] +fn ids_must_be_an_array() { + let mut document = base(); + document["ids"] = Value::Null; + + assert_issues(&document, &["ids: Expected array, received null"]); +} + +#[test] +fn ids_0_length_must_be_less_than_or_equal_to_64_characters_long() { + let mut document = base(); + document["ids"][0] = json!("f".repeat(65)); + + assert_issues( + &document, + &["ids[0]: String must contain at most 64 character(s)"], + ); +} + +#[test] +fn ids_0_must_only_contain_hexadecimal_characters() { + let mut document = base(); + document["ids"][0] = json!("not hex"); + + assert_issues(&document, &["ids[0]: Invalid"]); +} + +#[test] +fn ids_0_is_not_allowed_to_be_empty() { + let mut document = base(); + document["ids"][0] = json!(""); + + assert_issues( + &document, + &[ + "ids[0]: Invalid", + "ids[0]: String must contain at least 4 character(s)", + ], + ); +} + +#[test] +fn authors_must_be_an_array() { + let mut document = base(); + document["authors"] = Value::Null; + + assert_issues(&document, &["authors: Expected array, received null"]); +} + +#[test] +fn authors_0_length_must_be_less_than_or_equal_to_64_characters_long() { + let mut document = base(); + document["authors"][0] = json!("f".repeat(65)); + + assert_issues( + &document, + &["authors[0]: String must contain at most 64 character(s)"], + ); +} + +#[test] +fn authors_0_must_only_contain_hexadecimal_characters() { + let mut document = base(); + document["authors"][0] = json!("not hex"); + + assert_issues(&document, &["authors[0]: Invalid"]); +} + +#[test] +fn authors_0_is_not_allowed_to_be_empty() { + let mut document = base(); + document["authors"][0] = json!(""); + + assert_issues( + &document, + &[ + "authors[0]: Invalid", + "authors[0]: String must contain at least 4 character(s)", + ], + ); +} + +#[test] +fn kinds_must_be_an_array() { + let mut document = base(); + document["kinds"] = Value::Null; + + assert_issues(&document, &["kinds: Expected array, received null"]); +} + +#[test] +fn kinds_0_must_be_greater_than_or_equal_to_0() { + let mut document = base(); + document["kinds"][0] = json!(-1); + + assert_issues( + &document, + &["kinds[0]: Number must be greater than or equal to 0"], + ); +} + +#[test] +fn kinds_0_must_be_a_number() { + let mut document = base(); + document["kinds"][0] = Value::Null; + + assert_issues(&document, &["kinds[0]: Expected number, received null"]); +} + +#[test] +fn kinds_0_must_be_a_multiple_of_1() { + let mut document = base(); + document["kinds"][0] = json!(std::f64::consts::PI); + + assert_issues(&document, &["kinds[0]: Expected integer, received float"]); +} + +#[test] +fn since_contains_an_invalid_value() { + let mut document = base(); + document["since"] = json!(1_672_295_751_103_i64); + + assert_issues(&document, &["since: Invalid timestamp"]); +} + +#[test] +fn since_must_be_a_number() { + let mut document = base(); + document["since"] = Value::Null; + + assert_issues(&document, &["since: Expected number, received null"]); +} + +#[test] +fn since_must_be_greater_than_or_equal_to_0() { + let mut document = base(); + document["since"] = json!(-1); + + assert_issues( + &document, + &[ + "since: Number must be greater than or equal to 0", + "since: Invalid timestamp", + ], + ); +} + +#[test] +fn since_must_be_a_multiple_of_1() { + let mut document = base(); + document["since"] = json!(std::f64::consts::PI); + + assert_issues( + &document, + &[ + "since: Expected integer, received float", + "since: Invalid timestamp", + ], + ); +} + +#[test] +fn until_contains_an_invalid_value() { + let mut document = base(); + document["until"] = json!(1_672_295_751_103_i64); + + assert_issues(&document, &["until: Invalid timestamp"]); +} + +#[test] +fn until_must_be_a_number() { + let mut document = base(); + document["until"] = Value::Null; + + assert_issues(&document, &["until: Expected number, received null"]); +} + +#[test] +fn until_must_be_greater_than_or_equal_to_0() { + let mut document = base(); + document["until"] = json!(-1); + + assert_issues( + &document, + &[ + "until: Number must be greater than or equal to 0", + "until: Invalid timestamp", + ], + ); +} + +#[test] +fn until_must_be_a_multiple_of_1() { + let mut document = base(); + document["until"] = json!(std::f64::consts::PI); + + assert_issues( + &document, + &[ + "until: Expected integer, received float", + "until: Invalid timestamp", + ], + ); +} + +#[test] +fn limit_must_be_a_number() { + let mut document = base(); + document["limit"] = Value::Null; + + assert_issues(&document, &["limit: Expected number, received null"]); +} + +#[test] +fn limit_must_be_greater_than_or_equal_to_0() { + let mut document = base(); + document["limit"] = json!(-1); + + assert_issues( + &document, + &["limit: Number must be greater than or equal to 0"], + ); +} + +#[test] +fn limit_must_be_a_multiple_of_1() { + let mut document = base(); + document["limit"] = json!(std::f64::consts::PI); + + assert_issues(&document, &["limit: Expected integer, received float"]); +} + +#[test] +fn e_must_be_an_array() { + let mut document = base(); + document["#e"] = Value::Null; + + assert_issues(&document, &["#e: Expected array, received null"]); +} + +#[test] +fn e_0_length_must_be_less_than_or_equal_to_1024_characters_long() { + let mut document = base(); + document["#e"][0] = json!("f".repeat(1025)); + + assert_issues( + &document, + &["#e[0]: String must contain at most 1024 character(s)"], + ); +} + +#[test] +fn p_must_be_an_array() { + let mut document = base(); + document["#p"] = Value::Null; + + assert_issues(&document, &["#p: Expected array, received null"]); +} + +#[test] +fn p_0_length_must_be_less_than_or_equal_to_1024_characters_long() { + let mut document = base(); + document["#p"][0] = json!("f".repeat(1025)); + + assert_issues( + &document, + &["#p[0]: String must contain at most 1024 character(s)"], + ); +} + +#[test] +fn r_must_be_an_array() { + let mut document = base(); + document["#r"] = Value::Null; + + assert_issues(&document, &["#r: Expected array, received null"]); +} + +#[test] +fn r_0_length_must_be_less_than_or_equal_to_1024_characters_long() { + let mut document = base(); + document["#r"][0] = json!("f".repeat(1025)); + + assert_issues( + &document, + &["#r[0]: String must contain at most 1024 character(s)"], + ); +} + +// --- NIP-50: search filter (6) ----------------------------------------------------------- + +#[test] +fn nip50_accepts_filter_with_valid_search_string() { + assert_matches_input(&json!({"search": "bitcoin lightning"})); +} + +#[test] +fn nip50_accepts_search_combined_with_kinds_and_limit() { + assert_matches_input(&json!({"search": "nostr relay", "kinds": [1], "limit": 20})); +} + +#[test] +fn nip50_accepts_search_combined_with_authors_and_tags() { + assert_matches_input(&json!({ + "search": "bitcoin", + "authors": ["22e804d26ed16b68db5259e78449e96dab5d464c8f470bda3eb1a70467f2c793"], + "#e": ["aaaaaa"], + })); +} + +#[test] +fn nip50_rejects_empty_search_string() { + assert_issues( + &json!({"search": ""}), + &["search: String must contain at least 1 character(s)"], + ); +} + +#[test] +fn nip50_rejects_search_string_longer_than_1024_characters() { + assert_issues( + &json!({"search": "a".repeat(1025)}), + &["search: String must contain at most 1024 character(s)"], + ); +} + +#[test] +fn nip50_accepts_search_string_at_maximum_length_of_1024_characters() { + assert_matches_input(&json!({"search": "a".repeat(1024)})); +} + +// --- NIP-12: #g filter validation (8) ---------------------------------------------------- + +#[test] +fn nip12_accepts_a_valid_base32_geohash() { + assert_matches_input(&json!({"#g": ["u4pruydqqvj"]})); +} + +#[test] +fn nip12_accepts_a_valid_geohash_prefix_with_trailing_wildcard() { + assert_matches_input(&json!({"#g": ["u4pruyd*"]})); +} + +#[test] +fn nip12_rejects_an_empty_criterion() { + assert_issues(&json!({"#g": [""]}), &["#g[0]: Invalid geohash filter"]); +} + +#[test] +fn nip12_rejects_a_bare_wildcard() { + assert_issues(&json!({"#g": ["*"]}), &["#g[0]: Invalid geohash filter"]); +} + +#[test] +fn nip12_rejects_non_base32_characters() { + assert_issues( + &json!({"#g": ["u4pruyda"]}), + &["#g[0]: Invalid geohash filter"], + ); +} + +#[test] +fn nip12_rejects_uppercase_characters() { + assert_issues( + &json!({"#g": ["U4PRUYDQQVJ"]}), + &["#g[0]: Invalid geohash filter"], + ); +} + +#[test] +fn nip12_rejects_wildcard_not_at_the_end() { + assert_issues( + &json!({"#g": ["u4*pruyd"]}), + &["#g[0]: Invalid geohash filter"], + ); +} + +#[test] +fn nip12_rejects_multiple_wildcards() { + assert_issues( + &json!({"#g": ["u4pruyd**"]}), + &["#g[0]: Invalid geohash filter"], + ); +} diff --git a/crates/nostream-core/tests/filter_truth_table.rs b/crates/nostream-core/tests/filter_truth_table.rs new file mode 100644 index 00000000..8470407a --- /dev/null +++ b/crates/nostream-core/tests/filter_truth_table.rs @@ -0,0 +1,214 @@ +//! The matcher's truth table: the 31 probe lines measured at the capture +//! (`recon.md` §3, `src/utils/event.ts:39-119`) plus the two that are `Filter`-level +//! decisions (line 29, the range element, and line 30, `limit` only). +//! +//! Probe event: id `aa`Ɨ32, pubkey `bb`Ɨ32, `created_at` 1000, kind 7, content +//! `Bitcoin Lightning`, tags `[["e","AA","wss://relay"],["e","BB"],["p","CC"],["d",""], +//! ["D","DD"],["expiration","E1"],["g","u4pruydqqvj"]]`. + +#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)] + +use nostream_core::filter::{Filter, validate_filter}; +use nostream_core::{Event, Kind, Signature}; +use serde_json::json; + +const PROBE_ID: &str = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; +const PROBE_PUBKEY: &str = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"; + +fn probe_event() -> Event { + Event { + id: PROBE_ID.parse().unwrap(), + pubkey: PROBE_PUBKEY.parse().unwrap(), + created_at: 1000, + kind: Kind(7), + tags: vec![ + vec!["e".to_owned(), "AA".to_owned(), "wss://relay".to_owned()], + vec!["e".to_owned(), "BB".to_owned()], + vec!["p".to_owned(), "CC".to_owned()], + vec!["d".to_owned(), String::new()], + vec!["D".to_owned(), "DD".to_owned()], + vec!["expiration".to_owned(), "E1".to_owned()], + vec!["g".to_owned(), "u4pruydqqvj".to_owned()], + ], + content: "Bitcoin Lightning".to_owned(), + sig: Signature::from_byte_array([0; 64]), + } +} + +fn matches(filter: serde_json::Value) -> bool { + serde_json::from_value::(filter) + .unwrap() + .matches(&probe_event()) +} + +#[test] +fn line_1_exact_tag_value_matches() { + assert!(matches(json!({"#e": ["AA"]}))); +} + +#[test] +fn line_2_tag_value_only_not_tag_third_element() { + assert!(!matches(json!({"#e": ["wss://relay"]}))); +} + +#[test] +fn line_3_tag_value_is_not_a_prefix() { + assert!(!matches(json!({"#e": ["A"]}))); +} + +#[test] +fn line_4_uppercase_key_is_a_different_tag_name() { + assert!(!matches(json!({"#E": ["AA"]}))); +} + +#[test] +fn line_5_uppercase_tag_name_matches() { + assert!(matches(json!({"#D": ["DD"]}))); +} + +#[test] +fn line_6_empty_tag_value_matches() { + assert!(matches(json!({"#d": [""]}))); +} + +#[test] +fn line_7_non_single_letter_key_is_silently_ignored() { + assert!(matches(json!({"#expiration": ["E1"]}))); +} + +#[test] +fn line_8_multi_letter_key_is_ignored() { + assert!(matches(json!({"#ee": ["zzz"]}))); +} + +#[test] +fn line_9_empty_tag_criterion_never_matches() { + assert!(!matches(json!({"#e": []}))); +} + +#[test] +fn line_10_ids_prefix_of_eight_characters_matches() { + assert!(matches(json!({"ids": ["aaaaaaaa"]}))); +} + +#[test] +fn line_11_ids_prefix_of_one_character_matches() { + assert!(matches(json!({"ids": ["a"]}))); +} + +#[test] +fn line_12_empty_ids_criterion_never_matches() { + assert!(!matches(json!({"ids": []}))); +} + +#[test] +fn line_13_authors_prefix_matches() { + assert!(matches(json!({"authors": ["bb"]}))); +} + +#[test] +fn line_14_kinds_contains_the_event_kind() { + assert!(matches(json!({"kinds": [7]}))); +} + +#[test] +fn line_15_kinds_mismatch() { + assert!(!matches(json!({"kinds": [8]}))); +} + +#[test] +fn line_16_since_equal_to_created_at_matches() { + assert!(matches(json!({"since": 1000}))); +} + +#[test] +fn line_17_since_after_created_at_does_not_match() { + assert!(!matches(json!({"since": 1001}))); +} + +#[test] +fn line_18_until_equal_to_created_at_matches() { + assert!(matches(json!({"until": 1000}))); +} + +#[test] +fn line_19_until_before_created_at_does_not_match() { + assert!(!matches(json!({"until": 999}))); +} + +#[test] +fn line_20_search_is_case_insensitive() { + assert!(matches(json!({"search": "bitcoin"}))); +} + +#[test] +fn line_21_search_requires_every_term() { + assert!(matches(json!({"search": "bitcoin lightning"}))); +} + +#[test] +fn line_22_search_term_absent_from_content_does_not_match() { + assert!(!matches(json!({"search": "ethereum"}))); +} + +#[test] +fn line_23_search_reads_content_not_tags() { + assert!(!matches(json!({"search": "AA"}))); +} + +#[test] +fn line_24_whitespace_only_search_matches_nothing() { + assert!(!matches(json!({"search": " "}))); +} + +#[test] +fn line_25_empty_search_matches_everything() { + assert!(matches(json!({"search": ""}))); +} + +#[test] +fn line_26_geohash_wildcard_matches_a_prefix() { + assert!(matches(json!({"#g": ["u4pruyd*"]}))); +} + +#[test] +fn line_27_geohash_without_wildcard_is_exact() { + assert!(!matches(json!({"#g": ["u4pruyd"]}))); +} + +#[test] +fn line_28_geohash_full_value_matches() { + assert!(matches(json!({"#g": ["u4pruydqqvj"]}))); +} + +#[test] +fn line_29_kind_range_element_is_rejected_by_both_paths() { + let document = r#"{"kinds":[[10000,19999]]}"#; + + assert!(serde_json::from_str::(document).is_err()); + + let issues = validate_filter(&json!({"kinds": [[10000, 19999]]})).unwrap_err(); + assert_eq!(issues[0].path, "kinds[0]"); + // Measured against the capture's zod 3 schema, whose message is what `validate_filter` + // reproduces; the spec's D11 list carries the mocha case *names* here. + assert_eq!(issues[0].message, "Expected number, received array"); + assert_eq!( + issues[0].to_string(), + "kinds[0]: Expected number, received array" + ); +} + +#[test] +fn line_30_limit_only_never_rejects() { + assert!(matches(json!({"limit": 10}))); +} + +#[test] +fn line_31_search_against_empty_content_does_not_match() { + let mut event = probe_event(); + event.content = String::new(); + + let filter: Filter = serde_json::from_str(r#"{"search":"x"}"#).unwrap(); + + assert!(!filter.matches(&event)); +} diff --git a/crates/nostream-core/tests/negentropy_parity.rs b/crates/nostream-core/tests/negentropy_parity.rs new file mode 100644 index 00000000..84cb8a47 --- /dev/null +++ b/crates/nostream-core/tests/negentropy_parity.rs @@ -0,0 +1,790 @@ +//! Parity with `test/unit/utils/negentropy.spec.ts` (44 mocha cases, measured green at the +//! capture commit `242a3001`), against the `negentropy` crate 0.5.2 that `negentropy.rs` +//! is a seam over. +//! +//! | mocha block | cases | here | +//! |---|---|---| +//! | `NegentropyStorageVector` | 14 | 10 expressible + 4 recorded divergences | +//! | `wire compatibility with the reference implementation` | 3 | 3 | +//! | `reconciliation` | 15 | 14 expressible + 1 recorded divergence | +//! | `malformed input` | 12 | 10 expressible + 2 recorded divergences | +//! +//! ## The cases the crate answers differently +//! +//! Spec D8 names six; each has a test here that records the behaviour replacing it. The +//! seventh was found while writing this module and is recorded the same way. +//! +//! 1. `rejects duplicate items when sealing` — the crate's `seal()` de-duplicates silently +//! (`storage.rs:111-112`), so the test asserts one item after seal, not an error. +//! 2. `hands out frozen items so callbacks cannot reorder a sealed set` — `Item` is `Copy` +//! and handed to the callback by value; a callback cannot reach the set. +//! 3. `is not affected by the caller changing an id buffer after inserting it` — `Id` is +//! `[u8; 32]` by value; there is no shared buffer to change. +//! 4. `rejects range indexes that are negative, fractional or not finite` — the parameters +//! are `usize`; only `begin > end || end > len` (`Error::BadRange`) is expressible, which +//! the out-of-range case already covers. +//! 5. `rejects varints that never terminate` — the crate's `decode_var_int` +//! (`encoding.rs:16-27`) has no length bound, so ten continuation bytes decode as zero. +//! 6. `rejects varints beyond the safe integer range` — the same decoder accumulates into +//! `u64` without a safe-integer check. +//! 7. **`restarts a frame-truncated reply at the last written bound, not after the dropped +//! range`** — not in D8's table. The capture's port tracks `writtenUpTo` +//! (`src/utils/negentropy.ts:313-317`) and answers `fingerprint(120, 160)`; the crate +//! passes the *current range's* `upper` to the trailing fingerprint +//! (`lib.rs`, `reconcile_aux`), so it answers `fingerprint(160, 160)`. The session still +//! converges, in an extra round; `src/utils/negentropy.ts`'s own comment says why the +//! capture changed this. Recorded in ADR 0002 and build.md as a revisit trigger. + +#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)] + +use std::collections::BTreeSet; + +use nostream_core::event::EventId; +use nostream_core::negentropy::{ + Bound, Negentropy, NegentropyError, NegentropyId, NegentropyStorageBase, + NegentropyStorageVector, PROTOCOL_VERSION, storage_from_items, +}; +use sha2::{Digest, Sha256}; + +const BASE_TIMESTAMP: i64 = 1_700_000_000; + +/// `Generated with hoytech/negentropy js/Negentropy.js`: client holds items 0-39 +/// (`negentropy.spec.ts:240-241`). +const REFERENCE_FIRST_MESSAGE: &str = concat!( + "6186aacfe20101c4019519545952534ac1dbf6efee31f306a50201bf010e45e53bc3ac3b96527fcd6c09d2047802017101744f77934468e967eeeabc0f798d8ef4020001873c27d9520afdf1a90c94fc3418b485010165011eb5a27d5fd29d201a8804d82fe10c2e02018e013ee24cc071884f88d81e56c138672c4402015801ce08fb40009f4496c99e002ce58159b402000166784dbdc5e2e720329752a4d7", + "fe1fdc0101ca01e53cc691284a4fa5d32d61bf920bd03f020001392bfa2b9c1ea6c1e44575ee2cd47a9f0101cd01161b325b1e6b1f8c0e5e6dcce95c673a020001db0d53fffe5622719353467e5a4064340101a101f1c06ede4cff82a242fda6253d18a06f020001d5785181bb433c6f0d3ff48de323251a01019c01a054d5da1b42babccc1272c167eb56db0000015dfae5a6e074b6e1d2014f2b9134c08f", +); + +/// Server holds items 10-49 (`negentropy.spec.ts:242-243`). +const REFERENCE_RESPONSE: &str = concat!( + "6186aacfe20101c402000201bf02000201710200020002029103607c71902fd449f5737b2dda7c5a4ee31e0cf1fb7cf13f2f951d3b131c169266fae12bbe176c85e6cc8940ff97afc4b7f899f13192cbd756856aaa06261f07019c000000020c9c185f5a0cb59b837e6ffc631a537507a7eefede982d9663577ae545fab5b287d0f8bae1791c4ccb49a9c267107c73043df98a26bc696febebd84c864beb6816", + "0f39aca329fab189af2e828cd50a518ac803854a3ae5c280b1e3873cdefc268e609a8d39e4370faed4290168ca6c9a7237f0e29923b0e48b45eb5ae6851bca6f8120620c1dfeb40c48a28f4e2dfe67c3f0cf490d80602e30a383700fb85cedf68d7f261ad6c9ff45c56880496fb12b1a1209c701ad76fbca9684a3490e1467a0689fb4d021cd5fa4ba91eda8283b7daddccd70fe41e26e6a502c17de020038ba", + "6e665739195287c00becd4b248675c994d7c10f4b5a12c524b9b62e308740e31e05b1a766d5ba1ebf8ba17bee7da0164907525d095b6f18fbc3dd5b8197c1e11e56cdae96afbdba7c20dab5ddf6d34daa1847b809f79ada60945b8305d51448a6c8109848821eae5957bf56c1c8ca51b10d06cbbfda2ebcdbc8f5163a2cf6d5ddc25b6dde85fbcdb2e25ee0ec80c7815bf9784c8a710c66536a094bff846333d", +); + +fn event_id(label: &str) -> EventId { + let digest = Sha256::digest(label.as_bytes()); + + let mut id = [0u8; 32]; + id.copy_from_slice(&digest); + + EventId::from_byte_array(id) +} + +fn entries(from: usize, to: usize) -> Vec<(i64, EventId)> { + entries_with(from, to, 4) +} + +fn entries_with(from: usize, to: usize, per_timestamp: usize) -> Vec<(i64, EventId)> { + (from..to) + .map(|index| { + ( + BASE_TIMESTAMP + (index / per_timestamp) as i64, + event_id(&format!("negentropy-test-{index}")), + ) + }) + .collect() +} + +fn storage(entries: &[(i64, EventId)]) -> NegentropyStorageVector { + storage_from_items(entries.iter().copied()).unwrap() +} + +fn negentropy_id(event_id: &EventId) -> NegentropyId { + NegentropyId::from_byte_array(*event_id.as_bytes()) +} + +fn ids_of(entries: &[(i64, EventId)]) -> Vec { + entries + .iter() + .map(|(_, id)| negentropy_id(id)) + .collect::>() + .into_iter() + .collect() +} + +fn difference(left: &[(i64, EventId)], right: &[(i64, EventId)]) -> Vec { + let right_ids: BTreeSet = right.iter().map(|(_, id)| negentropy_id(id)).collect(); + + ids_of(left) + .into_iter() + .filter(|id| !right_ids.contains(id)) + .collect() +} + +fn fingerprint(storage: &NegentropyStorageVector, begin: usize, end: usize) -> [u8; 16] { + storage.fingerprint(begin, end).unwrap().to_bytes() +} + +fn hex(bytes: &[u8]) -> String { + bytes.iter().map(|byte| format!("{byte:02x}")).collect() +} + +fn unhex(text: &str) -> Vec { + (0..text.len() / 2) + .map(|index| u8::from_str_radix(&text[index * 2..index * 2 + 2], 16).unwrap()) + .collect() +} + +fn varint(mut value: u64) -> Vec { + let mut groups = Vec::new(); + + while value > 0 { + groups.push((value % 128) as u8); + value /= 128; + } + + if groups.is_empty() { + groups.push(0); + } + + groups.reverse(); + + let last = groups.len() - 1; + + groups + .into_iter() + .enumerate() + .map(|(index, group)| if index < last { group | 128 } else { group }) + .collect() +} + +struct Outcome { + rounds: usize, + have: BTreeSet, + need: BTreeSet, +} + +/// The capture's `sync()` (`negentropy.spec.ts:63-85`): the client initiates, the server +/// only answers, until the client has nothing left to say. +fn sync( + client: &[(i64, EventId)], + server: &[(i64, EventId)], + server_frame_size_limit: u64, +) -> Outcome { + let mut initiator = Negentropy::owned(storage(client), 0).unwrap(); + let mut responder = Negentropy::owned(storage(server), server_frame_size_limit).unwrap(); + + let mut have = BTreeSet::new(); + let mut need = BTreeSet::new(); + let mut message = Some(initiator.initiate().unwrap()); + let mut rounds = 0; + + while let Some(current) = message { + rounds += 1; + assert!(rounds < 50, "session did not converge"); + + let reply = responder.reconcile(¤t).unwrap(); + let mut have_ids = Vec::new(); + let mut need_ids = Vec::new(); + + message = initiator + .reconcile_with_ids(&reply, &mut have_ids, &mut need_ids) + .unwrap(); + + have.extend(have_ids); + need.extend(need_ids); + } + + Outcome { rounds, have, need } +} + +fn responder() -> Negentropy<'static, NegentropyStorageVector> { + Negentropy::owned(storage(&entries(0, 100)), 0).unwrap() +} + +// --- NegentropyStorageVector (10 expressible) -------------------------------------------- + +#[test] +fn rejects_ids_that_are_not_32_bytes() { + assert_eq!( + NegentropyId::from_slice(&[0u8; 31]), + Err(NegentropyError::InvalidIdSize) + ); + assert!(NegentropyId::from_slice(&[0u8; 32]).is_ok()); +} + +#[test] +fn rejects_timestamps_that_are_negative_fractional_or_the_infinity_sentinel() { + assert!(storage_from_items([(-1, event_id("a"))]).is_err()); + assert!(storage_from_items([(i64::MAX, event_id("a"))]).is_err()); + // Fractional timestamps are not representable: the argument is `i64`. + assert!(storage_from_items([(BASE_TIMESTAMP, event_id("a"))]).is_ok()); +} + +#[test] +fn refuses_to_insert_or_seal_twice_once_sealed() { + let mut storage = storage(&entries(0, 2)); + + assert_eq!( + storage.insert(BASE_TIMESTAMP as u64, negentropy_id(&event_id("late"))), + Err(NegentropyError::AlreadySealed) + ); + assert_eq!(storage.seal(), Err(NegentropyError::AlreadySealed)); +} + +#[test] +fn refuses_to_be_read_before_it_is_sealed() { + let storage = NegentropyStorageVector::new(); + + assert_eq!(storage.size(), Err(NegentropyError::NotSealed)); + assert!(matches!( + storage.fingerprint(0, 0), + Err(NegentropyError::NotSealed) + )); +} + +#[test] +fn sorts_by_timestamp_then_by_id() { + let low = NegentropyId::from_byte_array([0x01; 32]); + let high = NegentropyId::from_byte_array([0x02; 32]); + let mut storage = NegentropyStorageVector::new(); + + storage.insert(BASE_TIMESTAMP as u64 + 1, low).unwrap(); + storage.insert(BASE_TIMESTAMP as u64, high).unwrap(); + storage.insert(BASE_TIMESTAMP as u64, low).unwrap(); + storage.seal().unwrap(); + + let mut order = Vec::new(); + storage + .iterate(0, storage.size().unwrap(), &mut |item, _| { + order.push((item.timestamp - BASE_TIMESTAMP as u64, item.id[0])); + Ok(true) + }) + .unwrap(); + + assert_eq!(order, vec![(0, 1), (0, 2), (1, 1)]); +} + +#[test] +fn finds_the_lower_bound_of_a_bound() { + let storage = storage(&entries_with(0, 10, 1)); + + assert_eq!( + storage.find_lower_bound(0, 10, &Bound::with_timestamp(0)), + 0 + ); + assert_eq!( + storage.find_lower_bound(0, 10, &Bound::with_timestamp(BASE_TIMESTAMP as u64 + 3)), + 3 + ); + assert_eq!( + storage.find_lower_bound(0, 10, &Bound::with_timestamp(BASE_TIMESTAMP as u64 + 99)), + 10 + ); + assert_eq!( + storage.find_lower_bound(0, 10, &Bound::with_timestamp(u64::MAX)), + 10 + ); +} + +#[test] +fn rejects_out_of_range_bounds() { + let storage = storage(&entries(0, 3)); + + assert_eq!( + storage.iterate(0, 4, &mut |_, _| Ok(true)), + Err(NegentropyError::BadRange) + ); + assert!(matches!( + storage.fingerprint(2, 1), + Err(NegentropyError::BadRange) + )); +} + +#[test] +fn produces_16_byte_fingerprints_that_do_not_depend_on_insertion_order() { + let forward_entries = entries(0, 8); + let mut reversed = forward_entries.clone(); + reversed.reverse(); + + let forward = storage(&forward_entries); + let backward = storage(&reversed); + + assert_eq!(fingerprint(&forward, 0, 8).len(), 16); + assert_eq!(fingerprint(&forward, 0, 8), fingerprint(&backward, 0, 8)); +} + +#[test] +fn produces_different_fingerprints_for_different_sets_and_for_different_counts() { + let forward = storage(&entries(0, 8)); + let other = storage(&entries(1, 9)); + + assert_ne!(fingerprint(&forward, 0, 8), fingerprint(&other, 0, 8)); + assert_ne!(fingerprint(&forward, 0, 4), fingerprint(&forward, 0, 5)); +} + +#[test] +fn wraps_the_256_bit_id_sum_around_carrying_across_every_32_bit_word() { + let all_ones = NegentropyId::from_byte_array([0xff; 32]); + let mut one = [0u8; 32]; + one[0] = 1; + let one = NegentropyId::from_byte_array(one); + let zero = NegentropyId::from_byte_array([0u8; 32]); + + let mut overflowing = NegentropyStorageVector::new(); + overflowing.insert(BASE_TIMESTAMP as u64, all_ones).unwrap(); + overflowing.insert(BASE_TIMESTAMP as u64, one).unwrap(); + overflowing.seal().unwrap(); + + let mut zero_sum = NegentropyStorageVector::new(); + zero_sum.insert(BASE_TIMESTAMP as u64, zero).unwrap(); + zero_sum.insert(BASE_TIMESTAMP as u64 + 1, zero).unwrap(); + zero_sum.seal().unwrap(); + + assert_eq!( + fingerprint(&overflowing, 0, 2), + fingerprint(&zero_sum, 0, 2) + ); +} + +// --- the four storage-vector divergences -------------------------------------------------- + +#[test] +fn rejects_duplicate_items_when_sealing() { + // Divergence 1: `seal()` de-duplicates silently instead of refusing. + let mut storage = NegentropyStorageVector::new(); + let duplicate = negentropy_id(&event_id("dup")); + + storage.insert(BASE_TIMESTAMP as u64, duplicate).unwrap(); + storage.insert(BASE_TIMESTAMP as u64, duplicate).unwrap(); + storage.seal().unwrap(); + + assert_eq!(storage.size(), Ok(1)); +} + +#[test] +fn hands_out_frozen_items_so_callbacks_cannot_reorder_a_sealed_set() { + // Divergence 2: `Item` is `Copy`, so the callback holds a copy and cannot write back. + let storage = storage(&entries(0, 2)); + let mut seen = Vec::new(); + + storage + .iterate(0, 2, &mut |item, _| { + seen.push(item); + Ok(true) + }) + .unwrap(); + + let mut copy = seen[0]; + copy.timestamp = 0; + + assert_ne!(copy.timestamp, seen[0].timestamp); + assert_eq!( + storage.get_item(0).unwrap().unwrap().timestamp, + seen[0].timestamp + ); +} + +#[test] +fn is_not_affected_by_the_caller_changing_an_id_buffer_after_inserting_it() { + // Divergence 3: `Id` is `[u8; 32]` by value, so there is no shared buffer. + let mut buffer = *event_id("mutable").as_bytes(); + let mut storage = NegentropyStorageVector::new(); + + storage + .insert(BASE_TIMESTAMP as u64, NegentropyId::from_byte_array(buffer)) + .unwrap(); + storage.seal().unwrap(); + let before = fingerprint(&storage, 0, 1); + + buffer.fill(0xff); + + assert_eq!(fingerprint(&storage, 0, 1), before); +} + +#[test] +fn rejects_range_indexes_that_are_negative_fractional_or_not_finite() { + // Divergence 4: the parameters are `usize`, so only `BadRange` is representable — which + // `rejects_out_of_range_bounds` already pins. The inverted range is the whole case. + let storage = storage(&entries(0, 3)); + + assert!(matches!( + storage.fingerprint(2, 1), + Err(NegentropyError::BadRange) + )); +} + +// --- wire compatibility with the reference implementation (3) ---------------------------- + +#[test] +fn encodes_the_same_first_message_as_the_reference() { + let mut client = Negentropy::owned(storage(&entries(0, 40)), 0).unwrap(); + + assert_eq!(hex(&client.initiate().unwrap()), REFERENCE_FIRST_MESSAGE); +} + +#[test] +fn answers_that_message_exactly_like_the_reference() { + let mut server = Negentropy::owned(storage(&entries(10, 50)), 0).unwrap(); + + let reply = server.reconcile(&unhex(REFERENCE_FIRST_MESSAGE)).unwrap(); + + assert_eq!(hex(&reply), REFERENCE_RESPONSE); +} + +#[test] +fn encodes_an_empty_set_as_a_single_empty_id_list() { + let mut client = Negentropy::owned(storage(&[]), 0).unwrap(); + + assert_eq!(hex(&client.initiate().unwrap()), "6100000200"); +} + +// --- reconciliation (15) ----------------------------------------------------------------- + +#[test] +fn finds_nothing_to_sync_between_identical_sets() { + let entries = entries(0, 200); + + let outcome = sync(&entries, &entries, 0); + + assert_eq!(outcome.have.iter().copied().collect::>(), Vec::new()); + assert_eq!(outcome.need.iter().copied().collect::>(), Vec::new()); + assert_eq!(outcome.rounds, 1); +} + +#[test] +fn reports_everything_as_needed_when_the_client_has_nothing() { + let server = entries(0, 50); + + let outcome = sync(&[], &server, 0); + + assert_eq!(outcome.have.iter().copied().collect::>(), Vec::new()); + assert_eq!( + outcome.need.iter().copied().collect::>(), + ids_of(&server) + ); +} + +#[test] +fn reports_everything_as_had_when_the_server_has_nothing() { + let client = entries(0, 50); + + let outcome = sync(&client, &[], 0); + + assert_eq!( + outcome.have.iter().copied().collect::>(), + ids_of(&client) + ); + assert_eq!(outcome.need.iter().copied().collect::>(), Vec::new()); +} + +#[test] +fn handles_completely_disjoint_sets() { + let client = entries(0, 100); + let server = entries(1000, 1100); + + let outcome = sync(&client, &server, 0); + + assert_eq!( + outcome.have.iter().copied().collect::>(), + ids_of(&client) + ); + assert_eq!( + outcome.need.iter().copied().collect::>(), + ids_of(&server) + ); +} + +#[test] +fn converges_on_the_exact_difference_for_500_vs_480_items() { + assert_converges_on_the_difference(500, 480, 10); +} + +#[test] +fn converges_on_the_exact_difference_for_3000_vs_2900_items() { + assert_converges_on_the_difference(3000, 2900, 100); +} + +#[test] +fn converges_on_the_exact_difference_for_40_vs_5000_items() { + assert_converges_on_the_difference(40, 5000, 0); +} + +fn assert_converges_on_the_difference(client_size: usize, server_size: usize, offset: usize) { + let client = entries(0, client_size); + let server = entries(0, server_size)[offset..].to_vec(); + + let outcome = sync(&client, &server, 0); + + assert_eq!( + outcome.have.iter().copied().collect::>(), + difference(&client, &server) + ); + assert_eq!( + outcome.need.iter().copied().collect::>(), + difference(&server, &client) + ); +} + +#[test] +fn converges_when_thousands_of_events_share_one_timestamp() { + let client = entries_with(0, 1500, 1500); + let server = entries_with(100, 1600, 1500); + + let outcome = sync(&client, &server, 0); + + assert_eq!( + outcome.have.iter().copied().collect::>(), + difference(&client, &server) + ); + assert_eq!( + outcome.need.iter().copied().collect::>(), + difference(&server, &client) + ); +} + +#[test] +fn converges_under_a_small_frame_size_limit_in_more_rounds() { + let client = entries(0, 3000); + let server = entries(5000, 8000); + + let unlimited = sync(&client, &server, 0); + let limited = sync(&client, &server, 4096); + + assert_eq!( + limited.have.iter().copied().collect::>(), + difference(&client, &server) + ); + assert_eq!( + limited.need.iter().copied().collect::>(), + difference(&server, &client) + ); + assert!(limited.rounds > unlimited.rounds); +} + +#[test] +fn keeps_every_responder_message_within_the_frame_size_limit() { + let frame_size_limit = 4096; + let mut initiator = Negentropy::owned(storage(&entries(0, 3000)), 0).unwrap(); + let mut responder = Negentropy::owned(storage(&entries(5000, 8000)), frame_size_limit).unwrap(); + + let mut message = Some(initiator.initiate().unwrap()); + + while let Some(current) = message { + let reply = responder.reconcile(¤t).unwrap(); + assert!(reply.len() <= frame_size_limit as usize); + + let mut have_ids = Vec::new(); + let mut need_ids = Vec::new(); + message = initiator + .reconcile_with_ids(&reply, &mut have_ids, &mut need_ids) + .unwrap(); + } +} + +#[test] +fn restarts_a_frame_truncated_reply_at_the_last_written_bound_not_after_the_dropped_range() { + // Divergence 7 (module doc): the capture answers `fingerprint(120, 160)` here and asserts + // it is *not* `fingerprint(160, 160)`; the crate takes the trailing fingerprint's lower + // bound from the range it was processing, so it answers `fingerprint(160, 160)`. The + // capture's `writtenUpTo` (`src/utils/negentropy.ts:313-317`) is what the crate lacks. + // The next round re-offers the range, so the session still converges — pinned by + // `still_converges_when_several_mismatched_ranges_are_cut_by_the_frame_limit`. + let entries = entries_with(0, 160, 1); + let storage = storage(&entries); + + let mut message = vec![0x61]; + message.extend(varint(BASE_TIMESTAMP as u64 + 120 + 1)); + message.push(0); + message.push(2); + message.push(0); + message.push(0); + message.push(0); + message.push(1); + message.extend([0u8; 16]); + + let reply = Negentropy::owned(storage.clone(), 4096) + .unwrap() + .reconcile(&message) + .unwrap(); + + let trailing = &reply[reply.len() - 16..]; + + assert_eq!(trailing, fingerprint(&storage, 160, 160)); + assert_ne!(trailing, fingerprint(&storage, 120, 160)); +} + +#[test] +fn still_converges_when_several_mismatched_ranges_are_cut_by_the_frame_limit() { + let client = entries_with(0, 60, 1); + let server = entries_with(0, 3000, 1); + + let outcome = sync(&client, &server, 4096); + + assert_eq!( + outcome.have.iter().copied().collect::>(), + difference(&client, &server) + ); + assert_eq!( + outcome.need.iter().copied().collect::>(), + difference(&server, &client) + ); +} + +#[test] +fn rejects_frame_size_limits_below_4096() { + assert_eq!( + Negentropy::owned(storage(&[]), 4095).unwrap_err(), + NegentropyError::FrameSizeLimitTooSmall + ); + assert!(Negentropy::owned(storage(&[]), 0).is_ok()); +} + +#[test] +fn refuses_to_initiate_twice() { + let mut client = Negentropy::owned(storage(&[]), 0).unwrap(); + client.initiate().unwrap(); + + assert_eq!( + client.initiate().unwrap_err(), + NegentropyError::AlreadyBuiltInitialMessage + ); +} + +#[test] +fn can_run_several_independent_sessions_over_the_same_storage() { + let held = storage(&entries(10, 50)); + let message = Negentropy::owned(storage(&entries(0, 40)), 0) + .unwrap() + .initiate() + .unwrap(); + + let mut first = Negentropy::borrowed(&held, 0).unwrap(); + let mut second = Negentropy::borrowed(&held, 0).unwrap(); + + assert_eq!( + first.reconcile(&message).unwrap(), + second.reconcile(&message).unwrap() + ); +} + +// --- malformed input (10 expressible) ---------------------------------------------------- + +#[test] +fn rejects_an_empty_message() { + assert_eq!( + responder().reconcile(&[]).unwrap_err(), + NegentropyError::ParseEndsPrematurely + ); +} + +#[test] +fn rejects_a_version_byte_outside_0x60_0x6f() { + assert_eq!( + responder().reconcile(&[0x42]).unwrap_err(), + NegentropyError::InvalidProtocolVersion + ); +} + +#[test] +fn answers_an_unsupported_but_well_formed_version_with_just_its_own_version_byte() { + assert_eq!(hex(&responder().reconcile(&[0x62]).unwrap()), "61"); + assert_eq!(PROTOCOL_VERSION as u8, 0x61); +} + +#[test] +fn throws_when_the_initiator_is_answered_with_an_unsupported_version() { + let mut initiator = Negentropy::owned(storage(&[]), 0).unwrap(); + initiator.initiate().unwrap(); + let mut have_ids = Vec::new(); + let mut need_ids = Vec::new(); + + assert_eq!( + initiator + .reconcile_with_ids(&[0x62], &mut have_ids, &mut need_ids) + .unwrap_err(), + NegentropyError::UnsupportedProtocolVersion + ); +} + +#[test] +fn rejects_an_unknown_mode() { + assert_eq!( + responder() + .reconcile(&[0x61, 0x00, 0x00, 0x07]) + .unwrap_err(), + NegentropyError::UnexpectedMode(7) + ); +} + +#[test] +fn rejects_a_bound_id_longer_than_32_bytes() { + // The crate bounds-checks the id slice before it builds the bound, so the message is + // refused as `ParseEndsPrematurely`; `IdTooBig` is the bound constructor's own refusal. + assert_eq!( + responder().reconcile(&[0x61, 0x00, 33]).unwrap_err(), + NegentropyError::ParseEndsPrematurely + ); + assert_eq!( + Bound::with_timestamp_and_id(BASE_TIMESTAMP as u64, [0u8; 33]).unwrap_err(), + NegentropyError::IdTooBig + ); +} + +#[test] +fn rejects_a_truncated_fingerprint() { + assert_eq!( + responder() + .reconcile(&[0x61, 0x00, 0x00, 0x01, 0xaa]) + .unwrap_err(), + NegentropyError::ParseEndsPrematurely + ); +} + +#[test] +fn rejects_an_id_list_that_claims_more_ids_than_the_message_carries() { + assert_eq!( + responder() + .reconcile(&[0x61, 0x00, 0x00, 0x02, 100]) + .unwrap_err(), + NegentropyError::ParseEndsPrematurely + ); +} + +#[test] +fn rejects_an_id_list_whose_declared_size_would_overflow_when_multiplied_out() { + assert_eq!( + responder() + .reconcile(&[0x61, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0x7f]) + .unwrap_err(), + NegentropyError::ParseEndsPrematurely + ); +} + +#[test] +fn does_not_mutate_its_storage_when_the_input_is_rejected() { + let storage = storage(&entries(0, 100)); + let before = fingerprint(&storage, 0, 100); + + assert!( + Negentropy::owned(storage.clone(), 0) + .unwrap() + .reconcile(&[0x61, 0x00, 33]) + .is_err() + ); + + assert_eq!(fingerprint(&storage, 0, 100), before); +} + +// --- the two malformed-input divergences ------------------------------------------------- + +#[test] +fn rejects_varints_that_never_terminate() { + // Divergence 5: the crate's decoder has no length bound, so a run of continuation bytes + // decodes as zero and the message is accepted rather than refused. + let endless = [ + 0x61, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + ]; + + assert!(responder().reconcile(&endless).is_ok()); +} + +#[test] +fn rejects_varints_beyond_the_safe_integer_range() { + // Divergence 6: the same decoder accumulates into `u64` without a safe-integer check, so + // the message is accepted rather than refused. + let too_big = [0x61, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f]; + + assert!(responder().reconcile(&too_big).is_ok()); +} diff --git a/crates/nostream-core/tests/nip44_parity.rs b/crates/nostream-core/tests/nip44_parity.rs new file mode 100644 index 00000000..c0ca24f4 --- /dev/null +++ b/crates/nostream-core/tests/nip44_parity.rs @@ -0,0 +1,294 @@ +//! Parity with `test/unit/utils/nip44.spec.ts` (32 mocha cases, measured green at the +//! capture commit `242a3001`): `getConversationKey` (3), `nip44Encrypt` (5), +//! `nip44Decrypt` (7), `validateNip44Payload` (7), and the ten `calc_padded_len` cases +//! (`:180-204`). +//! +//! Re-expression notes: the capture's `nip44Encrypt` defaults its nonce to +//! `randomBytes(32)`; the Rust `encrypt` takes the nonce, so each case that relied on a +//! random one passes a fixed nonce instead — the "valid base64 string" and "different +//! ciphertexts" cases are exactly that re-expression. The ten padding cases observe the +//! padded length through the payload size, as the capture does. + +#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)] + +use base64::Engine; +use base64::engine::general_purpose::STANDARD; +use nostream_core::Pubkey; +use nostream_core::crypto::public_key; +use nostream_core::nip44::{decrypt, encrypt, get_conversation_key, validate_payload}; + +const KNOWN_CONVERSATION_KEY: &str = + "c41c775356fd92eadc63ff5a0dc1da211b268cbea22316767095b2871ea1412d"; +const KNOWN_PAYLOAD: &str = "AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABee0G5VSK0/9YypIObAtDKfYEAjD35uVkHyB0F4DwrcNaCXlCWZKaArsGrY6M9wnuTMxWfp1RTN9Xga8no+kF5Vsb"; + +fn secret(byte: u8) -> [u8; 32] { + let mut key = [0u8; 32]; + key[31] = byte; + key +} + +fn public_of(byte: u8) -> Pubkey { + public_key(&secret(byte)).unwrap() +} + +fn conversation_key(secret_byte: u8, peer_byte: u8) -> [u8; 32] { + get_conversation_key(&secret(secret_byte), &public_of(peer_byte)).unwrap() +} + +fn nonce(byte: u8) -> [u8; 32] { + let mut nonce = [0u8; 32]; + nonce[31] = byte; + nonce +} + +fn payload_len(payload: &str) -> usize { + STANDARD.decode(payload).unwrap().len() +} + +// --- getConversationKey (3) -------------------------------------------------------------- + +#[test] +fn derives_the_correct_conversation_key_from_sec1_and_pub2() { + let key = conversation_key(1, 2); + + assert_eq!( + key.iter() + .map(|byte| format!("{byte:02x}")) + .collect::(), + KNOWN_CONVERSATION_KEY + ); +} + +#[test] +fn is_symmetric_conv_a_b_eq_conv_b_a() { + assert_eq!(conversation_key(1, 2), conversation_key(2, 1)); +} + +#[test] +fn produces_different_keys_for_different_key_pairs() { + assert_ne!(conversation_key(1, 2), conversation_key(1, 3)); +} + +// --- nip44Encrypt (5) -------------------------------------------------------------------- + +#[test] +fn produces_the_canonical_payload_from_the_nip44_spec_test_vector() { + let key = conversation_key(1, 2); + + assert_eq!(encrypt("a", &key, &nonce(1)).unwrap(), KNOWN_PAYLOAD); +} + +#[test] +fn produces_a_valid_base64_string_starting_with_version_byte_0x02() { + let key = conversation_key(1, 2); + let payload = encrypt("hello", &key, &nonce(1)).unwrap(); + let decoded = STANDARD.decode(&payload).unwrap(); + + assert_eq!(decoded[0], 2); + assert!(payload.len() >= 132 && payload.len() <= 87_472); +} + +#[test] +fn produces_different_ciphertexts_for_the_same_plaintext_with_different_nonces() { + let key = conversation_key(1, 2); + let first = encrypt("same message", &key, &nonce(1)).unwrap(); + let second = encrypt("same message", &key, &nonce(2)).unwrap(); + + assert_ne!(first, second); +} + +#[test] +fn throws_for_empty_plaintext() { + let key = conversation_key(1, 2); + let error = encrypt("", &key, &nonce(1)).unwrap_err(); + + assert_eq!(error.to_string(), "invalid plaintext length"); +} + +#[test] +fn throws_for_plaintext_exceeding_65535_bytes() { + let key = conversation_key(1, 2); + let error = encrypt(&"x".repeat(65_536), &key, &nonce(1)).unwrap_err(); + + assert_eq!(error.to_string(), "invalid plaintext length"); +} + +// --- nip44Decrypt (7) -------------------------------------------------------------------- + +#[test] +fn decrypts_the_canonical_nip44_spec_test_vector() { + let key = conversation_key(1, 2); + + assert_eq!(decrypt(KNOWN_PAYLOAD, &key).unwrap(), "a"); +} + +#[test] +fn round_trips_any_plaintext_through_encrypt_then_decrypt() { + let key = conversation_key(1, 2); + let original = "Hola, que tal? šŸŒ"; + let payload = encrypt(original, &key, &nonce(7)).unwrap(); + + assert_eq!(decrypt(&payload, &key).unwrap(), original); +} + +#[test] +fn works_with_the_symmetric_key_recipient_decrypts_sender_message() { + let sender = conversation_key(1, 2); + let recipient = conversation_key(2, 1); + let payload = encrypt("secret message", &sender, &nonce(3)).unwrap(); + + assert_eq!(decrypt(&payload, &recipient).unwrap(), "secret message"); +} + +#[test] +fn throws_when_mac_is_tampered() { + let key = conversation_key(1, 2); + let payload = encrypt("tamper me", &key, &nonce(4)).unwrap(); + let tampered = format!("{}AAAA", &payload[..payload.len() - 4]); + + assert!(decrypt(&tampered, &key).is_err()); +} + +#[test] +fn throws_for_payload_starting_with_hash_unsupported_future_version() { + let key = conversation_key(1, 2); + let error = decrypt("#not-base64", &key).unwrap_err(); + + assert_eq!(error.to_string(), "unknown version"); +} + +#[test] +fn throws_for_payload_that_is_too_short() { + let key = conversation_key(1, 2); + let error = decrypt("dG9vc2hvcnQ=", &key).unwrap_err(); + + assert_eq!(error.to_string(), "invalid payload size"); +} + +#[test] +fn throws_for_wrong_conversation_key() { + let payload = encrypt("private", &conversation_key(1, 2), &nonce(5)).unwrap(); + let error = decrypt(&payload, &conversation_key(1, 3)).unwrap_err(); + + assert_eq!(error.to_string(), "invalid MAC"); +} + +// --- validateNip44Payload (7) ------------------------------------------------------------ + +#[test] +fn returns_none_for_a_valid_nip44_v2_payload() { + assert_eq!(validate_payload(KNOWN_PAYLOAD), None); +} + +#[test] +fn returns_none_for_a_freshly_encrypted_payload() { + let payload = encrypt("hello", &conversation_key(1, 2), &nonce(6)).unwrap(); + + assert_eq!(validate_payload(&payload), None); +} + +#[test] +fn returns_error_string_for_payload_starting_with_hash() { + assert_eq!( + validate_payload("#unsupported"), + Some("unsupported encryption version".to_owned()) + ); +} + +#[test] +fn returns_error_string_for_empty_string() { + assert_eq!( + validate_payload(""), + Some("unsupported encryption version".to_owned()) + ); +} + +#[test] +fn returns_error_string_for_payload_that_is_too_short() { + assert_eq!( + validate_payload("dG9vc2hvcnQ="), + Some("invalid payload size".to_owned()) + ); +} + +#[test] +fn returns_error_string_for_payload_that_is_too_long() { + assert_eq!( + validate_payload(&"A".repeat(87_473)), + Some("invalid payload size".to_owned()) + ); +} + +#[test] +fn returns_error_string_when_version_byte_is_not_0x02() { + let mut data = [0u8; 99]; + data[0] = 0x01; + let payload = STANDARD.encode(data); + + let error = validate_payload(&payload).unwrap(); + + assert!(error.contains("unsupported encryption version"), "{error}"); + assert_eq!(error, "unsupported encryption version 1"); +} + +// --- padding length (calc_padded_len) (10) ----------------------------------------------- + +#[test] +fn pads_1_bytes_to_32_bytes() { + assert_padded(1, 32); +} + +#[test] +fn pads_32_bytes_to_32_bytes() { + assert_padded(32, 32); +} + +#[test] +fn pads_33_bytes_to_64_bytes() { + assert_padded(33, 64); +} + +#[test] +fn pads_64_bytes_to_64_bytes() { + assert_padded(64, 64); +} + +#[test] +fn pads_65_bytes_to_96_bytes() { + assert_padded(65, 96); +} + +#[test] +fn pads_100_bytes_to_128_bytes() { + assert_padded(100, 128); +} + +#[test] +fn pads_256_bytes_to_256_bytes() { + assert_padded(256, 256); +} + +#[test] +fn pads_257_bytes_to_320_bytes() { + assert_padded(257, 320); +} + +#[test] +fn pads_512_bytes_to_512_bytes() { + assert_padded(512, 512); +} + +#[test] +fn pads_1024_bytes_to_1024_bytes() { + assert_padded(1024, 1024); +} + +/// The capture's observation: layout is 1 (version) + 32 (nonce) + padded length + 2 that +/// the padded buffer occupies, 32 (MAC) last (`nip44.spec.ts:193-204`). +fn assert_padded(unpadded_len: usize, expected_padded_len: usize) { + let key = conversation_key(1, 2); + let payload = encrypt(&"a".repeat(unpadded_len), &key, &nonce(9)).unwrap(); + let padded_with_prefix = payload_len(&payload) - 1 - 32 - 32; + + assert_eq!(padded_with_prefix, expected_padded_len + 2); +} diff --git a/crates/nostream-core/tests/pow_parity.rs b/crates/nostream-core/tests/pow_parity.rs new file mode 100644 index 00000000..354fe589 --- /dev/null +++ b/crates/nostream-core/tests/pow_parity.rs @@ -0,0 +1,92 @@ +//! Parity with `test/unit/utils/proof-of-work.spec.ts` (17 mocha cases, measured green at +//! the capture commit `242a3001`): one case per row of the `forEach` table, named after the +//! mocha title `returns given `. + +#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)] + +use nostream_core::pow::leading_zero_bits; + +#[test] +fn returns_0_given_80() { + assert_eq!(leading_zero_bits(&[0x80]), 0); +} + +#[test] +fn returns_1_given_40() { + assert_eq!(leading_zero_bits(&[0x40]), 1); +} + +#[test] +fn returns_2_given_20() { + assert_eq!(leading_zero_bits(&[0x20]), 2); +} + +#[test] +fn returns_3_given_10() { + assert_eq!(leading_zero_bits(&[0x10]), 3); +} + +#[test] +fn returns_4_given_08() { + assert_eq!(leading_zero_bits(&[0x08]), 4); +} + +#[test] +fn returns_5_given_04() { + assert_eq!(leading_zero_bits(&[0x04]), 5); +} + +#[test] +fn returns_6_given_02() { + assert_eq!(leading_zero_bits(&[0x02]), 6); +} + +#[test] +fn returns_7_given_01() { + assert_eq!(leading_zero_bits(&[0x01]), 7); +} + +#[test] +fn returns_8_given_0080() { + assert_eq!(leading_zero_bits(&[0x00, 0x80]), 8); +} + +#[test] +fn returns_9_given_0040() { + assert_eq!(leading_zero_bits(&[0x00, 0x40]), 9); +} + +#[test] +fn returns_10_given_0020() { + assert_eq!(leading_zero_bits(&[0x00, 0x20]), 10); +} + +#[test] +fn returns_11_given_0010() { + assert_eq!(leading_zero_bits(&[0x00, 0x10]), 11); +} + +#[test] +fn returns_12_given_0008() { + assert_eq!(leading_zero_bits(&[0x00, 0x08]), 12); +} + +#[test] +fn returns_13_given_0004() { + assert_eq!(leading_zero_bits(&[0x00, 0x04]), 13); +} + +#[test] +fn returns_14_given_0002() { + assert_eq!(leading_zero_bits(&[0x00, 0x02]), 14); +} + +#[test] +fn returns_15_given_0001() { + assert_eq!(leading_zero_bits(&[0x00, 0x01]), 15); +} + +#[test] +fn returns_16_given_0000() { + assert_eq!(leading_zero_bits(&[0x00, 0x00]), 16); +} From 55b5b72e8e0dc3de3cf8d8367d6ed4258592c48a Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 07:34:19 -0400 Subject: [PATCH 04/22] test(core): add the differential event fixture and its regenerator --- .../tests/capture/gen-ts-events.mjs | 254 ++++++++++++++++++ .../tests/fixtures/ts-events.json | 1 + crates/nostream-core/tests/ts_parity.rs | 226 ++++++++++++++++ 3 files changed, 481 insertions(+) create mode 100644 crates/nostream-core/tests/capture/gen-ts-events.mjs create mode 100644 crates/nostream-core/tests/fixtures/ts-events.json create mode 100644 crates/nostream-core/tests/ts_parity.rs diff --git a/crates/nostream-core/tests/capture/gen-ts-events.mjs b/crates/nostream-core/tests/capture/gen-ts-events.mjs new file mode 100644 index 00000000..e3026836 --- /dev/null +++ b/crates/nostream-core/tests/capture/gen-ts-events.mjs @@ -0,0 +1,254 @@ +// Regenerates ../fixtures/ts-events.json — 1,000 events and 50 negative events measured +// through the capture's own TypeScript pipeline. +// +// Subject: cameri/nostream at 242a3001d77149e4d70151ec03060c4ef44a1547 — the capture +// commit this branch is cut from. The harness MUST run with that tree as its working +// directory, because it imports /src/utils/event.ts through ts-node. +// +// One-time setup, in a scratch directory (never in the working tree): +// git archive 242a3001 | tar -x -C /tmp/nostream-capture-006 +// cd /tmp/nostream-capture-006 && pnpm install --frozen-lockfile +// +// Run, from the capture tree, with this file's absolute path: +// cd /tmp/nostream-capture-006 +// node > ../fixtures/ts-events.json +// +// The measurement is deterministic: the sample comes from a fixed PRNG seed, and every +// signature uses `aux = sha256("nostream-006:" + index)` rather than the capture's +// `signEvent`, whose noble default is a random aux. The id and every decision still come +// from the capture's own functions (`getEventHash`, `identifyEvent`, `isEventIdValid`, +// `isEventSignatureValid`, `isEventMatchingFilter`, `getEventProofOfWork`, +// `serializeEvent`), which is what makes a regeneration byte-identical to the committed +// file. The sample rules are enforced below: a violation exits non-zero rather than +// writing a fixture the Rust side would grade against a weaker table. +import { createHash } from 'node:crypto' +import { existsSync } from 'node:fs' +import { createRequire } from 'node:module' +import path from 'node:path' + +const SUBJECT = '242a3001d77149e4d70151ec03060c4ef44a1547' +const SEED = 'nostream-006' +const EVENT_COUNT = 1000 +const NEGATIVE_COUNT = 50 +const BASE_TIMESTAMP = 1700000000 +const WINDOW = 1000000 + +const cwd = process.cwd() +const eventModule = path.join(cwd, 'src/utils/event.ts') +if (!existsSync(eventModule) || !existsSync(path.join(cwd, 'package.json'))) { + console.error(`run this from the capture tree (cwd=${cwd}); src/utils/event.ts is missing`) + process.exit(2) +} + +const require = createRequire(path.join(cwd, 'package.json')) +require('ts-node/register/transpile-only') +const { + getEventProofOfWork, + identifyEvent, + isEventIdValid, + isEventMatchingFilter, + isEventSignatureValid, + serializeEvent, +} = require(eventModule) +const secp256k1 = require('@noble/secp256k1') + +const sha256 = (...parts) => createHash('sha256').update(parts.join('')).digest() +const hex = (bytes) => Buffer.from(bytes).toString('hex') +const secretFor = (index) => `${'00'.repeat(31)}${index.toString(16).padStart(2, '0')}` +const publicFor = (index) => hex(secp256k1.getPublicKey(secretFor(index), true).subarray(1)) + +const mulberry32 = (seed) => { + let state = seed | 0 + return () => { + state = (state + 0x6d2b79f5) | 0 + let t = state + t = Math.imul(t ^ (t >>> 15), t | 1) + t ^= t + Math.imul(t ^ (t >>> 7), t | 61) + return ((t ^ (t >>> 14)) >>> 0) / 4294967296 + } +} + +const seedValue = Number.parseInt(hex(sha256(SEED)).slice(0, 8), 16) +const random = mulberry32(seedValue) +const nextInt = (bound) => Math.floor(random() * bound) +const pick = (values) => values[nextInt(values.length)] + +const SECRETS = Array.from({ length: 8 }, (_, index) => secretFor(index + 1)) +const PUBKEYS = SECRETS.map((_, index) => publicFor(index + 1)) +const KINDS = [0, 1, 3, 5, 7, 13, 14, 15, 62, 443, 444, 445, 1059, 1111, 10002, 20000, 30023, 31989] +const GEOHASHES = ['u4pruydqqvj', 'u4pruydm2s4', 'u4pruz0h1b2', '9q8yyk8ytpx'] +const CONTENTS = [ + '', + 'bitcoin and lightning', + 'nostr relay engineering', + 'he said "hello"', + 'back\\slash', + 'control \u0001 and \u001f characters', + 'del \u007f and line separator \u2028 inside', + 'emoji šŸ˜€šŸš€', + 'Bitcoin is not Ethereum', + 'plain text note', +] + +const events = [] +const ids = [] +let firstETag = null +let firstATag = null + +for (let index = 0; index < EVENT_COUNT; index++) { + const tags = [] + + if (index > 1 && index % 2 === 0) { + tags.push(['e', ids[(index * 37) % index]]) + } + if (index % 3 === 0) { + tags.push(['p', PUBKEYS[index % PUBKEYS.length]]) + tags.push(['g', GEOHASHES[index % GEOHASHES.length]]) + } + if (index % 7 === 0) { + tags.push(['d', '']) + } else if (index % 11 === 0) { + tags.push(['d', `dtag-${index % 4}`]) + } + if (index % 4 === 0) { + tags.push(['a', `30023:${PUBKEYS[index % PUBKEYS.length]}:post-${index % 4}`]) + } + if (index % 6 === 0) { + tags.push(['expiration', String(BASE_TIMESTAMP + 100000 + nextInt(200000))]) + } + if (index % 5 === 0) { + tags.push(['t', 'nostr']) + } else if (index % 13 === 0) { + tags.push(['t', pick(['bitcoin', 'test'])]) + } + if (index % 9 === 0) { + tags.push(['r', `https://example.com/${nextInt(10)}`]) + } + if (index % 17 === 0) { + tags.push(['-']) + } + + const authorIndex = nextInt(SECRETS.length) + const draft = { + pubkey: PUBKEYS[authorIndex], + created_at: BASE_TIMESTAMP + nextInt(WINDOW), + kind: pick(KINDS), + tags, + content: pick(CONTENTS), + } + + const identified = await identifyEvent(draft) + const aux = sha256(`${SEED}:`, String(index)) + const signature = await secp256k1.schnorr.sign(identified.id, SECRETS[authorIndex], aux) + + const event = { ...identified, sig: hex(signature) } + + for (const tag of tags) { + if (tag[0] === 'e' && firstETag === null) firstETag = tag[1] + if (tag[0] === 'a' && firstATag === null) firstATag = tag[1] + } + + events.push(event) + ids.push(event.id) +} + +const FILTERS = [ + { label: 'empty', filter: {} }, + { label: 'limit_only', filter: { limit: 50 } }, + { label: 'kind_text_note', filter: { kinds: [1] } }, + { label: 'kinds_text_reaction_giftwrap', filter: { kinds: [1, 7, 1059] } }, + { label: 'author_prefix', filter: { authors: [PUBKEYS[0].slice(0, 8)] } }, + { label: 'id_prefix', filter: { ids: [ids[0].slice(0, 4)] } }, + { label: 'since_midpoint', filter: { since: BASE_TIMESTAMP + WINDOW / 2 } }, + { label: 'until_midpoint', filter: { until: BASE_TIMESTAMP + WINDOW / 2 } }, + { label: 'e_tag', filter: { '#e': [firstETag] } }, + { label: 'p_tag', filter: { '#p': [PUBKEYS[1]] } }, + { label: 'd_tag_empty', filter: { '#d': [''] } }, + { label: 'a_tag', filter: { '#a': [firstATag] } }, + { label: 'g_prefix_wildcard', filter: { '#g': [`${GEOHASHES[0].slice(0, 6)}*`] } }, + { label: 'search', filter: { search: 'bitcoin' } }, + { label: 't_tag', filter: { '#t': ['nostr'] } }, + { label: 'multi_letter_key_ignored', filter: { '#expiration': [String(BASE_TIMESTAMP)] } }, +] + +const MATCH_ALL = new Set(['empty', 'limit_only', 'multi_letter_key_ignored']) + +const describe = async (event) => ({ + event, + serialized: JSON.stringify(serializeEvent(event)), + id_ok: await isEventIdValid(event), + sig_ok: await isEventSignatureValid(event), + pow: getEventProofOfWork(event.id), + matches: FILTERS.map(({ filter }) => isEventMatchingFilter(filter)(event)), +}) + +const entries = [] +for (const event of events) { + entries.push(await describe(event)) +} + +const unvalidated = entries.filter((entry) => !entry.id_ok || !entry.sig_ok) +if (unvalidated.length !== 0) { + console.error(`${unvalidated.length} sampled events do not validate their id and signature`) + process.exit(4) +} + +const filters = FILTERS.map(({ label, filter }, position) => { + const trueCount = entries.filter((entry) => entry.matches[position]).length + + if (MATCH_ALL.has(label)) { + if (trueCount !== EVENT_COUNT) { + console.error(`match-all filter ${label} matched ${trueCount} of ${EVENT_COUNT}`) + process.exit(3) + } + } else if (trueCount === 0 || trueCount === EVENT_COUNT) { + console.error(`filter ${label} matched ${trueCount} of ${EVENT_COUNT}; needs both decisions`) + process.exit(3) + } + + return { label, filter, true_count: trueCount } +}) + +const negatives = [] + +const mutateId = (event) => { + const characters = event.id.split('') + const last = characters.length - 1 + characters[last] = characters[last] === '0' ? '1' : '0' + return { ...event, id: characters.join('') } +} + +const mutateContent = (event) => ({ ...event, content: `${event.content} (mutated)` }) + +for (let offset = 0; offset < NEGATIVE_COUNT / 2; offset++) { + negatives.push(await describe(mutateId(events[100 + offset]))) +} +for (let offset = 0; offset < NEGATIVE_COUNT / 2; offset++) { + negatives.push(await describe(mutateContent(events[200 + offset]))) +} + +const broken = negatives.filter((entry) => entry.id_ok || entry.sig_ok === undefined) +if (broken.length !== 0) { + console.error(`${broken.length} negative events still validate their id`) + process.exit(4) +} + +const idMutated = negatives.slice(0, NEGATIVE_COUNT / 2) +const contentMutated = negatives.slice(NEGATIVE_COUNT / 2) +if (idMutated.some((entry) => entry.sig_ok) || contentMutated.some((entry) => !entry.sig_ok)) { + console.error('the 25 id mutations must fail verification and the 25 content mutations must pass it') + process.exit(5) +} + +const fixture = { + subject: SUBJECT, + generated_by: 'crates/nostream-core/tests/capture/gen-ts-events.mjs', + seed: SEED, + event_count: entries.length, + negative_count: negatives.length, + filters, + events: entries, + negative_events: negatives, +} + +process.stdout.write(JSON.stringify(fixture)) diff --git a/crates/nostream-core/tests/fixtures/ts-events.json b/crates/nostream-core/tests/fixtures/ts-events.json new file mode 100644 index 00000000..9fedf4c5 --- /dev/null +++ b/crates/nostream-core/tests/fixtures/ts-events.json @@ -0,0 +1 @@ +{"subject":"242a3001d77149e4d70151ec03060c4ef44a1547","generated_by":"crates/nostream-core/tests/capture/gen-ts-events.mjs","seed":"nostream-006","event_count":1000,"negative_count":50,"filters":[{"label":"empty","filter":{},"true_count":1000},{"label":"limit_only","filter":{"limit":50},"true_count":1000},{"label":"kind_text_note","filter":{"kinds":[1]},"true_count":48},{"label":"kinds_text_reaction_giftwrap","filter":{"kinds":[1,7,1059]},"true_count":165},{"label":"author_prefix","filter":{"authors":["79be667e"]},"true_count":126},{"label":"id_prefix","filter":{"ids":["8677"]},"true_count":1},{"label":"since_midpoint","filter":{"since":1700500000},"true_count":485},{"label":"until_midpoint","filter":{"until":1700500000},"true_count":515},{"label":"e_tag","filter":{"#e":["86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]},"true_count":499},{"label":"p_tag","filter":{"#p":["c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"]},"true_count":42},{"label":"d_tag_empty","filter":{"#d":[""]},"true_count":143},{"label":"a_tag","filter":{"#a":["30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]},"true_count":125},{"label":"g_prefix_wildcard","filter":{"#g":["u4pruy*"]},"true_count":167},{"label":"search","filter":{"search":"bitcoin"},"true_count":200},{"label":"t_tag","filter":{"#t":["nostr"]},"true_count":200},{"label":"multi_letter_key_ignored","filter":{"#expiration":["1700000000"]},"true_count":1000}],"events":[{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700209100,"kind":31989,"tags":[["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700138114"],["t","nostr"],["r","https://example.com/7"],["-"]],"content":"emoji šŸ˜€šŸš€","id":"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590","sig":"565637b52ebef0a1a3a249039e994584f05898f66176009bd7acefd26082a1b6066a9fd5c227c519f7b42a141277ad5c27e6326fa188e86b3d6f58535499b245"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700209100,31989,[[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700138114\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/7\"],[\"-\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,true,false,true,false,false,true,true,true,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700036686,"kind":14,"tags":[],"content":"bitcoin and lightning","id":"5fea7f7e32789396b10feee0fdca3131ed15168d623359b12b5eca73549ef69a","sig":"a07b080016d00b5647e4356f29b5b42b167bd134ee357bc0cf706b5dd38d489861775339dae64f512477ff17bf0e216b01db422318a743eebfc5def942bdcd94"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700036686,14,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700760286,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"plain text note","id":"25dc45e044d9f48df1c8f30ae7ad4d50f1d68d663006fb2968096d752be595ad","sig":"d89a0b0aa95a30531d337fa1455dc572dc797621cf5160e4c84ee36e4295f4e67ae854739b9072209684a6fbb91ca9d6d7048cf407625edb9b8e3df2172a37a9"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700760286,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700343775,"kind":445,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"]],"content":"del  and line separator 
 inside","id":"939368b51016fcd85adeeca0ff9dd159b2cc7ae08b0071a370bdbeeb31f2d919","sig":"21b8d2bf227c594da21ef85a564a0b48d4149d4c1aff060bbb56f54135f1472411d8580ba8996e4d5c481eee0b18f48614554dda10bb191970584e52756f8929"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700343775,445,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700694933,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"he said \"hello\"","id":"8a9ccde2a5bb5ce786fd69912e72d031933cf7a5f53d41bfc6d1738f967cbacd","sig":"ff9805d5a60b49a101d393ef5a226958af34e57bb30a48133e838b79ac2137ac88e4a5882ad5e330a0e7357686b3f1baeb4a13ea238221df508b936b17bd6412"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700694933,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,true,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700362593,"kind":443,"tags":[["t","nostr"]],"content":"Bitcoin is not Ethereum","id":"11336443cc59ded50a5e0829a48a99a1006bce4b3d3af91257ffa15b499af660","sig":"c1a6477498a0110f7ccb8c5522d7a4c3951f76d755404b6712ab34c66f55d3fefe4471f19fa481233306b82ae139871514d8926c8bf1daa9e4c5720e77c9dcc5"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700362593,443,[[\"t\",\"nostr\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700311737,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700297270"]],"content":"nostr relay engineering","id":"f193d115ef770793f8cf2202a402d88ef0fdc454d31e57c7b2f65c8125ba4935","sig":"b22dfb440bdde298b47e511c2dffea8aa19085bc34c0b4876fddc6d046e45b28a8ab49cee7f1d9a1617e1965935927e695ae0042b2ac14741179f098033a2860"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700311737,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700297270\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700619880,"kind":31989,"tags":[["d",""]],"content":"plain text note","id":"fa758c0a444313959321f16d4d326f452d555832654333dcb4a9cae34201aea8","sig":"16404f0a527663937fa6c51cae55240533c7121cdd7600345289e828ca52f847fbe3f29b33ec9806ab5315ee13de96c74e7e77b2ef4e0de5f9f87c92d6cf0a47"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700619880,31989,[[\"d\",\"\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700464507,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"plain text note","id":"62c1bd4d6a2770ab96bd75ae76b658807c42c641c8e878784ed8bd7cf1ac1fa1","sig":"11a6c39a3e9c864c6d624f71c4e57cebd04bc097c98574056bd4967608abe74020bd2125628d50d5a21cb1b5131390a384b8359b0ef3fa6eaf9002b92572702a"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700464507,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700973358,"kind":15,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["r","https://example.com/9"]],"content":"","id":"7a8239cb86b8cd623b871904b68df8a7a43f5b4fdb4bd3aed556a5c79616fead","sig":"a319b385dd8c173f0f976aa29627883eec4ea2d2f0c37a0f8b490e8912b20985643a07ff325326120badf0f7296f4de8c731ffeed3e7524cd302e4ab28ace7f0"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700973358,15,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"r\",\"https://example.com/9\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,true,false,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700888011,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"back\\slash","id":"17b12d896564570e6d70179eac0fe81e3dd466a8f2af48d4e887034c89f8446b","sig":"ad4a11c4fdbde72f74d572585677856420ab18ab2c73e2780444b350644cdddd9aa4ae48b7311c6da6a1b779d85244096d13d5314c0a7760f085412db004f8f7"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700888011,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700394288,"kind":445,"tags":[["d","dtag-3"]],"content":"bitcoin and lightning","id":"fb1ff11d52ec2134598b74db39e8296f761ec485e8446cf7859fc02737c46246","sig":"597951f819d8305cea765fd1df8804204002b44662372fbfe71b0821ccf1557da52b5d569179020a41ba76eeff97f85ce113a09466e1cde3a611efc986f0f0f3"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700394288,445,[[\"d\",\"dtag-3\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700724547,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700201098"]],"content":"del  and line separator 
 inside","id":"6b87cc162250e935b99899754949f2da0da3724732cbbc923e29c482311c3883","sig":"1be370aa268b97a51bc2109e1fb8e3860ed777a6763cdddc3befb9ef87703d4b7ca089acaa7751ba4e460251a7283ef940e91bfc302fd49cef03557ce0c0f927"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700724547,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700201098\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700355230,"kind":7,"tags":[["t","test"]],"content":"emoji šŸ˜€šŸš€","id":"03abd8e031a7fe2ee5aee95722120c0277b15c0855f3fa2edc4eaf404538577c","sig":"96de431d14bcccb0a9874197cb08ba43cc760d8523114249bc7a33aa8ac17e41c10bfc7e94a676be58684e65910ebfbf7226d16ad7cb9401175ed0b9281e4369"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700355230,7,[[\"t\",\"test\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":6,"matches":[true,true,false,true,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700968992,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""]],"content":"control \u0001 and \u001f characters","id":"84a8d6769b862b73f78cb9b5973b4742d24186747f9e6c84fbbe612bdaff7f43","sig":"1265ebbcf24d0bde65c2458112704ef0e2e4ecd4cf3e273ae917bcc7b9d5e21a1ba0f671ae8f47a1177650aedc939b2be8a0909556b680079f7fa45981b71fa5"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700968992,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700724412,"kind":3,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["t","nostr"]],"content":"emoji šŸ˜€šŸš€","id":"bb799edb63ca43bd24bbd3f8447ceb084405035e412b9ac01b40aa58a1d9ed76","sig":"86d7432d9c03c4e3f4a718c31f7bdac2e5a6a5fd845957ed45de4a0fe5cdaa72fcc7b7328c5a447b69bea22010654ca6d9dded4301fd52b08a3febb7fbcbcc5d"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700724412,3,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"t\",\"nostr\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700110559,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"Bitcoin is not Ethereum","id":"ca1d1c70baacf38bad5218742bc0e2f2f9348b05cf6a01faa7f8399d56874c2e","sig":"668b6949357d8060ccf08e474dd00081e646e81685c0326f7d0450f498893fedc848f1dcdac42508caae822556651669a4e785a6fe4ef6f5284e0ab8b7c04ee2"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700110559,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700438170,"kind":5,"tags":[["-"]],"content":"he said \"hello\"","id":"b55921d16598b00c806ca839091b17616c860cdaf9e268899defe77d81958ff1","sig":"c71db8b10cc97f093a89c2bea76297adaa2f051347603fca2144cff18386a898b44de08f0fc1c1e94b595916a6783477c347f144384d879435675b2ddbd6c717"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700438170,5,[[\"-\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700845465,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700127522"],["r","https://example.com/2"]],"content":"he said \"hello\"","id":"45acfb31378c4fabaa183e10d1b510a86c8b5941ebd7f0b4b5bf73af8d7c9a63","sig":"f26d4b2da7e5b8c38ccbba371222305e35d7d6b08bb629b20c79181605f0f0eb79f6de205a292e8bd366b0b599d257c1ffdcd5a969325a1876ef5d17ba11af52"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700845465,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700127522\"],[\"r\",\"https://example.com/2\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700887071,"kind":62,"tags":[],"content":"control \u0001 and \u001f characters","id":"1f3df963b14ce0313a57f64e101e534ccb4bfdb1dd8ba1c668d22b86df4fc334","sig":"5627340709297918f5293edd9bb30b7cc5437b8f725a383ce9c54956e72028814cbe5983578c8dd004bc56e425d3785d9ad2958d0462c32018ace381d612b49c"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700887071,62,[],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700474553,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"]],"content":"nostr relay engineering","id":"f8921c7c05b42cd8170a8c9b97eff453e3ccde1055c7449bf9b26a095fc55fce","sig":"16deecb0415d555b15c7cc4af96ef1371d0be27b2b3e2e0327cd56aa1793d591f58a5509f6c03b7894877aacc40d450b7ebfa536410f8082c3feb18557ff0ff9"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700474553,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700484068,"kind":445,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["d",""]],"content":"del  and line separator 
 inside","id":"98f2badafaabe32462191d67ee8f774104abad75143dabc42b379928f3cf57e8","sig":"e622044444b996c896445d4cbe189beb74df6b9d530a63ee030f230aa3a7a03ca3d4bee4dd7a2519634674dd6b37c203487568e295ab0fc04db1ee91d66a6604"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700484068,445,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,true,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700137752,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-2"]],"content":"back\\slash","id":"a20bce18de9544263aad641ff5e0a6067a17af777df6c6acbb53aa87e1ae52af","sig":"4cb9e6906119c8c070f68e2ea8d7600691ffa27918fa5acc208ed83657476fab60afed989f94be4b27cfaddb7b8ae35529fd8dfd17fa04627a833c47401af07d"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700137752,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-2\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700449591,"kind":5,"tags":[],"content":"Bitcoin is not Ethereum","id":"eceae9a238ea981fcbc835e9b941abeda2d697fb77d30595329cce73a234f40a","sig":"e3ec08fa4a514891133883d7812e374d080ca773506845c24323a6abcef64360ce4f72f3b6a8f69cb76b2276d55e8b0233de13f8a79bb438238f5d98801f4ff1"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700449591,5,[],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700561102,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700210723"]],"content":"back\\slash","id":"bea474514b1725b150fdfa86bf3f6a10cc0efe6907f9512f3b75a7b3299452c0","sig":"979dd97b123ab7b63694f8503befb873834d0dea074dc30355c2b9c11255541760db28023a65b2ee1074bb350053ae32839bd811e1eb5ff32f211a64c340cbfe"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700561102,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700210723\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700269513,"kind":10002,"tags":[["t","nostr"]],"content":"bitcoin and lightning","id":"1dfe7f7125429b1dbe19ea2048dbe1703bd8bb660142bdac0c26f933d37e0e96","sig":"3c343abc3ab4fbe196905605fdde9103dae93e0f44e263413e5e7f33ab4906b5811e55b402549d3d241b28db03db89d2497ecf2247c174f0dde7aadc4ea0759d"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700269513,10002,[[\"t\",\"nostr\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700051521,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","test"]],"content":"","id":"32992115ab1d589e832b6c6b7753ea22fc0282820d527dacb961aec9c27363a4","sig":"799a526cd0d174ff8c3af7e3638fde46d0f187995aa23a9dc05bbeb21733755ed791b90395ac1effd678865c8a3fc687b88318d8acd7380e930a46556baf2113"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700051521,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"test\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700667039,"kind":1059,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["r","https://example.com/5"]],"content":"he said \"hello\"","id":"c0d372225c14afd3f1a4296f70a2fe6fb939a1df7ef7ff76bb58130b0edc4daf","sig":"ce16b9946c8f3f7d99e3768103698852a64f82df80ef838bb5e62c87fc981d2852e310f1a9b018206c1d205a6877f902735c92c943888502b1598e52ec7c6574"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700667039,1059,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"r\",\"https://example.com/5\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700587476,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"back\\slash","id":"28cac6e9b2cb6e3b9cf791cce69ffe4d97de33c6e02e98a078b4fb51da766e54","sig":"4680818a36cb50d9127218a0b3c215c34e0edef8f44cc7c7dee73741fb7bdb917896d12316c975eb6420c7314c93492723ec3874b782211c015c797b8b7e9c95"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700587476,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700493286,"kind":3,"tags":[],"content":"del  and line separator 
 inside","id":"86d4fe96b66ce94c7df3048876433439e9493dda4af613eb9cd53fc4023b1334","sig":"ab671c9db660a231d55c020d0ee1b54167fe925f82209db6b896d93af33d6c4e4e52819295980db80bfd159e0047109f8c12ca6d5d0c601dbeaae7720fe64274"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700493286,3,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700049535,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700181304"],["t","nostr"]],"content":"he said \"hello\"","id":"068fbb373a3810baee6fb2c65a6b7b1eed81a86878d69cd1f1e9fdb5bf37314f","sig":"801de30588cc9c8b2d578ecd49d236e9f29f3c01880292c88d298ce77a4b76e03327650045458dd720623f3e1c338ff4b84f778b992ea1f130fc9b7a67582177"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700049535,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700181304\"],[\"t\",\"nostr\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":5,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700593942,"kind":7,"tags":[],"content":"bitcoin and lightning","id":"d5f80f3b6dded5f80974621df6335fd52d3479304c50b8f9c05a39fd7d23fe15","sig":"9f98315744b840535f0680ef20ed5e8bedec8af5d8ba4e3fe4ff8ecccb9fb5982df65531bb04a78c0a7522c1ef07d0f9caf22db4b3bb88554cd3e6635bee3b52"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700593942,7,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700408519,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"control \u0001 and \u001f characters","id":"96e5b64274041e65afa20cfee550784575318ece085d88a29c83b089f0af575a","sig":"af600c223d253949303d095135f42d058248db25283905bbc8c58a73e99225511518a7b20bca9bd2fc9e9ef106162352eb41cf28e0b2db2d55c6c7afd80bdc91"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700408519,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700485544,"kind":1111,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["d","dtag-1"]],"content":"emoji šŸ˜€šŸš€","id":"5b4f957096dbec649386608d9362848ba728f67d5bf2b7701925d5e34a37ac6f","sig":"4a934985bf7d72a3c4e531d7f962f0c0dfc13d74693d5faca8425ebe4b1b05467ee73fbf44d91dbec6161b96c059b16bb391032b7b05db9efb1a2fb4203c2628"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700485544,1111,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"dtag-1\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700741984,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["-"]],"content":"emoji šŸ˜€šŸš€","id":"998bfb836785117b61f21fa3ff8f5977399786cab9a72f8061be665c3a196b77","sig":"61fbe2f4b44c259f85f854ea3ae2a7dbb240bbc52f18922515b7d8f6b9196d71e651e1cae63e1754e97dd6f3272d2c7c3dd046c41546239aa78d1cc65d259f9c"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700741984,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"-\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700338048,"kind":62,"tags":[["d",""],["t","nostr"]],"content":"control \u0001 and \u001f characters","id":"ca5f695020aaf20facd9faf77e22ad61d31d48611142d27f73693f480891e4b8","sig":"0c9fbb4e548bc7dce3794a6e8fd7cab10af0942e5123c9af1d602277374b9bc0f7bf2c1de7b17f6ee74ae3c0efc7437b8257cf1d830f879e1b7aa21b1f24fb03"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700338048,62,[[\"d\",\"\"],[\"t\",\"nostr\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700263978,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700216864"],["r","https://example.com/2"]],"content":"","id":"1c5d3a0ed0e4fb340aeddd71c308d34efaee2b0f9c1a3a4f09c4d562fa05e9ef","sig":"49e030705d3ead1b2c4e170ef9eb4ac1ee86878ff20e4b9974460897a30710dd04fdd1f9780429664284a8a57e4e4230ab9f1f8cfdb8fc77791c83909a6013b2"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700263978,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700216864\"],[\"r\",\"https://example.com/2\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700472535,"kind":3,"tags":[],"content":"he said \"hello\"","id":"e7d812ad9394807ae14ab45d6bad39c3ef911ece350c67a4fd7dd506d0d8d70c","sig":"2ea5f1f9448e54fa8c0a005d6e4524959e96cf1485b6df253beb621b27bf38f12fab5a17ded23251ab82306b40c942a9f9b47bf8569f25e14f8d358ff7afc3ed"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700472535,3,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700808065,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"emoji šŸ˜€šŸš€","id":"abf6907435fa394794d25940a9895182b0356863dcb390e97badf4052c05b6df","sig":"4e14996594cad3826fd51a09efaba7be63d2c49d9b10266b2b63301f5d757caad0a71012fbf5b300c693174f29eeb3d381e6feb9e978625ec80fd268281dd318"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700808065,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700841592,"kind":30023,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["t","bitcoin"]],"content":"back\\slash","id":"eb84b58da98b35d281470e399c4da781a4f75a51323a3a4b9c40e5f4e7d6a419","sig":"b81217d756d30d163bbd632d095a4cfa364904cd05d233d6c8c4c65d8b3e799c539a8e8184bca69062ae66343a2404ac6cdab6a857abfd0eed23d371a2e529c9"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700841592,30023,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"t\",\"bitcoin\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700138493,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","nostr"]],"content":"plain text note","id":"f3876b94c3cee2f252b5605fe298085f38550c6d06d33f66203b55138b4a9b6c","sig":"b4f1c39d9674f0804ecd90a6443bb0872332404d375a214b9dafa0a5b3e556d7c8d0c75aca2844ce36a2bfe90db758a7ec017789bc53ebe7a69bb3f55462a025"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700138493,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"nostr\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700970295,"kind":20000,"tags":[],"content":"nostr relay engineering","id":"d38b175cd4b27a7df0f16bf66b383feae2aacb4fc00f440fca206387c3308e01","sig":"ce2e4440c55de0eec8cea81248145a472d86e0f9bce5817368402220d910a883c0a349542a08558a67294919860224ae02921fe7c24ca4ba3a31e1d7d145f6b1"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700970295,20000,[],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700523791,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["d",""],["expiration","1700141296"]],"content":"plain text note","id":"86677a20633a681b604e91841dcc6ce30c6bfac23138f9b8052f0743c166e3a3","sig":"0dd44183a6ddc6e92490ab978892549215f8448a040e4500f83713a005f5c7b1f48c236203587026aa970a9d5d3f0f5d3670c4d30b1344812a5c3cdc05734094"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700523791,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"\"],[\"expiration\",\"1700141296\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700861950,"kind":62,"tags":[],"content":"emoji šŸ˜€šŸš€","id":"2cdea4c2ea7c6b66a3f47132539c3a8cc2f5dd6d4114cfdd7f5378c931988a56","sig":"111cacd6040b8df65fdea3ff6d99e2318ef8c6f103158067fec39a9c938515d3f9034f1955e4e1c7126c2149bd699b807f4edaac99ed59ae2d229c49fa7d98e5"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700861950,62,[],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700102755,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-0"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"bitcoin and lightning","id":"739ba0cb42fe9b67af133001862b69f70011b981a835a68117b57a67c084bb89","sig":"c452a3886f4177133bd0b5be9b1d7f437befebd1a6cf2742520254c6c224e5fe85f89533cfd813b89c7733a53b6ba3e2110f64496c207ca289dc8fd67850d4ca"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700102755,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700703270,"kind":445,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["t","nostr"],["r","https://example.com/9"]],"content":"plain text note","id":"3d6bf68b7ea367bffe7545a71fbaf90564502857f54816c3bd3c6b3e439a0a0e","sig":"4a8d3de9fb5e19ce316a2a4ab1919cc9da0b4cbc0979239e5934c6747f1a662ba77b50814de06a1cfa1ac729211dc112bcc09083fbb812fdfaff9f2c833351de"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700703270,445,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/9\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,true,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700163921,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"he said \"hello\"","id":"28189ad25aeb57a73adf7534dce653067f202831f1d923012d553fbc2dfcebca","sig":"f28d35aece07d8df2d1a2f8517b984801238b55f6a23c5901a9cd4ea7535a79cc7cc7eda3e566457134d3cd42bf0f4a7d24280950b5594cd055352f980a3683c"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700163921,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700316110,"kind":1059,"tags":[],"content":"","id":"242150b9ec511368b0e972deff230ba3bd1931fe3b006e3f438d33cf201a6302","sig":"8c4098e06cd36a65b72f6bcc9e8daf0e1c68849039d5371678730fbbdbddd1da7b226ef50a79ebc6162179609b127e5ce6affcc1c8a1a6307cacdbbd528d2400"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700316110,1059,[],\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,true,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700867766,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700233557"]],"content":"bitcoin and lightning","id":"a8cec383ffd701d3cf2243f3fe70372b42c49e2259b822c4c0cfc143e54f0196","sig":"d7205c271b66cafb081c646e4b80799452cb4bc605f9355431cbf96188a72c354208d13e67e0b3278d7c2ad1fc11e2874f76167c1e296081a6971717044d6bf7"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700867766,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700233557\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,true,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700818154,"kind":30023,"tags":[["d",""]],"content":"bitcoin and lightning","id":"e1b958af0fc8dc8a63a8f58f5c9ac78ea505c5b010f4795ac6cb18d37a1a59e7","sig":"e498a6d6b1c2ab70d324b106419b8071e2903322107d7fddc92d71089015bd0f8a13047ae9b47841dbbcc5315677b64a70eff2b76e33578c9d56cc757e0b2d23"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700818154,30023,[[\"d\",\"\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700779729,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"emoji šŸ˜€šŸš€","id":"3744d9744d6496d49cb748354a8f9510e9d74121f19efd106032420f1b32fba6","sig":"7f575ce1c76a30ea8ce53478c309d35e2831e1ba8f876473bb4ee93be938ed0e8ef2ef9fe7c6d5a835fafef37d4dca543e4134135545c387208983f65857be8e"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700779729,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,true,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700039124,"kind":30023,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["-"]],"content":"plain text note","id":"1681f75dd14a0cef7cae6465e755d8533f3c5606043ec944e214971c402a22a0","sig":"0ab45f1bbe835a5805b9efe5eca6f41bcd52413dde2dcf9675ad896139b46b6738a7fab2314f6b16a549b0eb942daa02829907cf232aa72b52ed00bde34682be"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700039124,30023,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"-\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,true,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700488651,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","bitcoin"]],"content":"plain text note","id":"f16d5e9b378e4ac9f7d5f89b9e14c25171f0602c2848018c85f69193f4480f99","sig":"9d7ff38b5ba9d6742be0cc1a93aa90282876eb4a88b90a0e56a7a74f834ed78ac21bb76ec32b7b30d3a804705143a7e96a87dee0f1be3c9f5bf9db3a16c3d1a2"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700488651,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"bitcoin\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700201764,"kind":14,"tags":[],"content":"bitcoin and lightning","id":"562561b01e9932d35f32cf51119a7905680203071f53facd3c7f9591b50ecdf2","sig":"72b4d2de8484eff29df1b66c67c758ba725ee1095a969010e183413e628ddc17f99fbdf2c9d59ca689f50eee4ffd540d5e9d9399aa1ced7876c4c84595d8dbe6"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700201764,14,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700136373,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700293108"],["r","https://example.com/1"]],"content":"emoji šŸ˜€šŸš€","id":"debdf4c32e391e01b18d32595ba4b9d74f3130dfbe18280d1204fdfb4a108e0e","sig":"d86479a7507ee97dc3c8bcd9dd8ca204a7172450b4eaf2b8895da88e24a9e6931bafd1efcab2998d6bff204dd7227ac6796d6fe3a3831b0615aa6f786fb305e9"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700136373,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700293108\"],[\"r\",\"https://example.com/1\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700620580,"kind":1059,"tags":[["d","dtag-3"],["t","nostr"]],"content":"Bitcoin is not Ethereum","id":"ef99b5599f3670a56b8635fc59de1372aa9782385ac5db70878067c93a3aaf41","sig":"a3d90a10f9474a8df4d9d4cc39f96af43ce6a0a037b2fc8362b0022aa381e3af91789eb0d82cd45f5d59cbadf35c7e31945cfda30468cfcb28313bbafd7164f6"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700620580,1059,[[\"d\",\"dtag-3\"],[\"t\",\"nostr\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,true,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700329267,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"back\\slash","id":"e21b094ab32e99a88a259692645bb178a32502ce5ee05c0ee50665a6abee2f6d","sig":"9187afafb9ffa2f1a7a575b859e0eae4fa1eb73c583a0183bd85299c0e9355c6e651680a8d9285bb5f142b410a9a29d367bf8cc0ecbc569f1f1f17a879e443c6"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700329267,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,true,true,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700061469,"kind":31989,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"]],"content":"he said \"hello\"","id":"4729712b867e437e12e3adb23b8f9f38a34c58cddf11063f4eaac76f5767a8b9","sig":"68be982c8b56754352d42759b655531f6e2a33ab7f9de9bbd93664d636393f0164d80fd573a668e09bb51943975b3e04bc0651af9650b2938dc9f94c010fe46c"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700061469,31989,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700334009,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"bitcoin and lightning","id":"c0dc1bda2f06577f05da49a626efa00896a3c95768a01ed2e2052562e203e1db","sig":"063fda6e6c1d5aad0aa046cfb08cb73b57f1d83303b5a2e96cff439dd31b768bd994774b187960895a898befbd1b416726b217094bae5aabc19a6d8255a8aece"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700334009,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700441224,"kind":1111,"tags":[],"content":"","id":"4d6414a0f0b055d9f3f254fcd2758c12798b3179e53f5b79221ac9c4471ec6d8","sig":"b5dacbe168d044d752b2e7e9bcd1debc8c6dde5491bd1c148de36df7831a4620a7780dd461c25f0106513dc5931ea2ae864b0329578312f5f020104267168c27"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700441224,1111,[],\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700951442,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700161887"],["t","nostr"]],"content":"","id":"0c2fe4633c2a0772c2f25c72ae7768a7c35a1ccc35aa7c2a056e9a43784783a7","sig":"8b093a35db01424ce41d35560a58803c6831ffb10c91f7414b2a9258c1b94bffbe6ea48849c8119bbf08a2fa1ee310687ccca44c26c458605cb47842c34f72b2"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700951442,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700161887\"],[\"t\",\"nostr\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,true,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700271151,"kind":3,"tags":[],"content":"Bitcoin is not Ethereum","id":"eb19bf33b38bea4dd728f47d0962827e362462f6a66f6f0c89c6103260462072","sig":"527b0d04b114569da0dee5db813aa93532f6000f317703a6b4ae20b69e417f82a50895bc6976426c9c4e4a2521097735f2647a4567d140f67603094319ff33e6"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700271151,3,[],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700420032,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"back\\slash","id":"b75d6386d8ceef3acd7c55632f86f1cbf3693262642a756d24ef38de609388ab","sig":"65b12118d53d7098a84e24f2aee99643f0d6ec70b6237514d1188cf9bfd1a140b1db3bbc94a18366721ea126d6ae07add7257a32775efc97ce1892c5ff1e569d"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700420032,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700081872,"kind":10002,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["d",""],["r","https://example.com/7"]],"content":"","id":"3932b542b5e0a4c74e3c0f4c35b0734d32643cdf55c9b1a6c7bf60b3a4306cd7","sig":"5b839556f6fb94297dc45c3d2ec8b4b87e6372d116c38f61901d391356502423fdba964ce81c3ea4943252e8ea98ae28e12c2b78732ab6a63be1d11c16b9627f"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700081872,10002,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"d\",\"\"],[\"r\",\"https://example.com/7\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700793718,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"emoji šŸ˜€šŸš€","id":"02120c2e967931eb670897497c6839a4af9ca6eac96eed1550dc3cf51f7176d2","sig":"37b36acf8898182778fb1ee1dd1839f53c2a59cf6f47e16f65d8b91e4fac265587e00f596b7900fedd203244fdf6713d9f910678ff7f47c7bd7d0bbea67f4ecc"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700793718,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":6,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700717883,"kind":20000,"tags":[["t","nostr"]],"content":"","id":"d46d0874df078de4589a24f449a97207760f9b9208c4f0e974aa932981755eda","sig":"b74590c0033219d690f2c4cf27c9e045b4986aa1d4881192820ae75d8a1c449cea2650c010de16f3df2d05a9d577420f86064d591e201d974ba7baf0832e2229"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700717883,20000,[[\"t\",\"nostr\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700092005,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["d","dtag-2"],["expiration","1700205798"]],"content":"nostr relay engineering","id":"34437e2888391537d21af6bf2a778323be1e533ae583c8bc7783146dbafa92e2","sig":"90d154305888a44639c53ab8a2f518e40b94d9070f886d926f53a8f852f3ce326251c6900d954630d05136f0d78269b06acefd7f5ea9ee0cfa21249b1564377e"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700092005,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"dtag-2\"],[\"expiration\",\"1700205798\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700694101,"kind":443,"tags":[],"content":"del  and line separator 
 inside","id":"ba0259e39f13351a29b37102c67d94579aa3321a86c7043ff5e4ea2eb9c8b03d","sig":"aaf1a7c48322e8f3f99fed9c3f4c2e362eac1317e08bb31c0bbf64c4dcb4926d36c2cf4ece184cd250735d03531ee46010a1b8f286c3cd63c15c21a7ed2bca99"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700694101,443,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700301303,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["-"]],"content":"control \u0001 and \u001f characters","id":"5bf0b70b3fe348b265722604068bff365ddf0083811384cfd5cef91c58cc2fd3","sig":"2bc8d990e945fb27e3e5ae6efd2f4fb671c70f2346924e447c73b0351072e4c3152c8681a4798ab608a15d0dcd26d30d7bcecc66fb16d5d8ae54a791d51410cb"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700301303,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"-\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700032367,"kind":3,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"]],"content":"Bitcoin is not Ethereum","id":"e1b79ddb73818bdc5e33d6ae47611ba2a477b773bcf3dbec2ad27419217aeb10","sig":"a08b592aef67624200c4e3f34c0b23676d65f9062ffb978ee135dc62859aa05380c9afede353210a0f893e53d7622f69f8c856f2a0a105230b10e2de9f91b951"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700032367,3,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,true,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700650552,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["t","nostr"]],"content":"back\\slash","id":"05f741bd4af370690ed47388f00db4802a4a65b11a52d3581a041f670eef7f29","sig":"8a9b4fea0677db262e46787fbe962fd4d0994f1741f8f9d10bf97efd5ec86a8aade25ec4b9594d68ee76f3ece00b7fd9b953ba45f318ca480c07a3cc9c3f99b9"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700650552,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":5,"matches":[true,true,false,false,false,false,true,false,true,false,true,false,false,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700127317,"kind":15,"tags":[],"content":"nostr relay engineering","id":"665967316b912c6f934703e4f73dee7568a21a78f583a92e5188fb576a2baddf","sig":"ac5e4572ce5a8439b5046b75ee5435eeca97657e8aa1bdd55f18918ce189ca6d2bcf08576100ec3779e97dfe6a39860ff4298c0487b879f387caeb5282264a05"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700127317,15,[],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700862245,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700271878"],["r","https://example.com/7"]],"content":"he said \"hello\"","id":"fc3771d1f9d02924223a6192531a1586d295939c6a68a2cb4bee7c2e3742b8bb","sig":"89a2ea6a5720940ad590e8c0e31fceb44ba7b4e8df08dae00bbac2197fd31197216ee20eb501a2889270d7106bab472a353f7e8e5b1620bb6dc9958b5a189d4b"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700862245,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700271878\"],[\"r\",\"https://example.com/7\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,true,false,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700374441,"kind":1,"tags":[],"content":"he said \"hello\"","id":"64672225d0cf93bf17b5efdac328a2fb36cb30b4066550ef2bfc88c5d5b04c4c","sig":"081d67bb5c19c820acb4919acb5032640dc428306aa9f8e0a24f851f4f31ba94fc18083a917110b586f93df92d0b786d58f6081047e04173c16ada9dc2d2e69b"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700374441,1,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,true,true,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700839937,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"","id":"17b4347d634694ac5ddc551482d24b667f4f6870913de33328f8a99fe14e4022","sig":"1f1d16135d18db67bfe963e3d729da795c54bd94a80665000e74dc4c6bd71fa6af54a2b211ab208a2b9bb5a184c42dcca43b5a619fe11d7dd400ba4cb4d927f6"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700839937,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700237607,"kind":62,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["t","nostr"]],"content":"del  and line separator 
 inside","id":"bef82651dba71aac7b708bd5619a36cab0082563eb44e6da7a45783a4a0e7412","sig":"c85b7947ebf5a56efdca9137fb9b26ff7e051a3afe3b8136b096c34cdd0cc8676f9159a40c96de6b4efa4c1a1a4006e3286dc10f6758e5ccfba6e5158ba24ee4"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700237607,62,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700128594,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"plain text note","id":"c72fabd2dfb68c6bf8236e25d8043dae79d6b264a2d04b779f69e1c6cf4aec95","sig":"2cdbad2db6ef61f3789d77c5762f2028e74403f6a9e9edc80ca0f43ec98abdec736b41fe530c837ef0c17d41aa5d7d33713a69f95e92aaba15036a5647c8b288"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700128594,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700167240,"kind":31989,"tags":[["d",""]],"content":"plain text note","id":"1400b125740f4f6b22ee228d26b65c824730891b135b591d76d039c4674d3837","sig":"3c5124eebcbafc79fcc9e372f2d3c4bc5d9e157e593b53e4529fc357b1fc1fe2045b63e746b5283fd684394bb125e8fd769ef63993827b64f1e63042bd42a471"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700167240,31989,[[\"d\",\"\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700870775,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700129345"],["t","test"]],"content":"","id":"b85184670f8086320847cdbf5bda04b1559073a5713beffec6ccfde1ca66368e","sig":"86209337804ebc4c929390c9f565897673f101e8586d6c8ab5863f1bea35d2aa788758b73dbc500d3cc34cb82675e1eed2e84ac4c68e958c820d9f5387b30a93"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700870775,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700129345\"],[\"t\",\"test\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700971008,"kind":13,"tags":[],"content":"nostr relay engineering","id":"6e349a74c455fe1f214c0e8fa7ec9f6c2a0d3360333e4bd1093ec7c648700805","sig":"ad8f3491794c2efd4091ef0d25b186047b405443ff1986961fea34c8772494169088ad01db9fbd19ff9778b474773f3469aaed84c9e050938a53f5d0d824023b"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700971008,13,[],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700726106,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","nostr"]],"content":"back\\slash","id":"ff7caf4f52e1db012a686177b0d28cace5241a826bf0096583fa9317eccf56d8","sig":"1d3331287b306099828de2da655e2bc5bbdbda735b579e48b9addd24a94a5aaaf7e0a82f67dfdcbcd6bf5d800366de8bdb5cd7076e7d4b91bd47fa95313878c3"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700726106,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,true,false,false,true,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700401481,"kind":7,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["r","https://example.com/5"]],"content":"emoji šŸ˜€šŸš€","id":"61a4064ca77bc97375c44c567f52efdf3304517cc2b2c21e5f354636ee055b0d","sig":"cb6b74b386ffcafc27cc61a1a2ef1922349b4173b634f3e26ca2c27aefc08ac81b7d8b96212c1836b4d5963696b848fb37cf15ad5b7822c9c023c83926fe7d0d"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700401481,7,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"r\",\"https://example.com/5\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,false,true,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700027200,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"del  and line separator 
 inside","id":"0901c36fd05db80a271468eb207f49713c6d87793626c4a1390a263a592a92b0","sig":"831d8077d55c30ff53b3cb445125b956a9a69336b257b49465c9d19230dfb3432096cb3fa12b6dbb1d2f05e104ad476c28212d2f68840d9dd85514b1fc1e7672"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700027200,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,true,true,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700842562,"kind":0,"tags":[],"content":"","id":"2a4368b622ca9c0b6f25ccd46834cac534f9e33474950713f0c19207d6e16eca","sig":"723333e7b030c6c4aba32f13ec296112b87f3f246cdc1d4bdedbbd568b15a1b2b66fc978f54d8d8e8737c04e6beeae5a91c6dee328a8ec52a8ef618b9a13c9b1"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700842562,0,[],\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700202641,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["d",""],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700272826"]],"content":"he said \"hello\"","id":"7397263578f7da300b45939726ac673da77afc3739993a39428f91b0e063149e","sig":"e70a7fc1eee093fae86d84e5ca4ea86bed505453334fbd2c24bcf8f803e0969191de5996b2f1d99c07f91c0001952bc254ad1474a1306214866293181931f1d8"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700202641,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"d\",\"\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700272826\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700285615,"kind":0,"tags":[["t","nostr"],["-"]],"content":"nostr relay engineering","id":"c4a64370f252fea22cfaa3cec5019d24f8c6ce2fc949d93c7800d954efd10c74","sig":"7a2b46ddd30390f5297b3f76754203be5bf7f655910d0292f3e6c35e06855836627f1d3cf385ddf49732b41ec0fb689977018e42d99f281d486aaa244e9d3c5c"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700285615,0,[[\"t\",\"nostr\"],[\"-\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700059902,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"plain text note","id":"5a91da3d3901dfce206d239a80e75c0e3c5170c9fa600234fd23de013bbf063f","sig":"be798dcb1a66808c84aedfbfef75810bac1f968750bbbd738fc858374cfec9879e82fb39b350555be320c81c2f9248700005a76fe5c4f31cef7a51ddff371d8a"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700059902,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700971143,"kind":10002,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"]],"content":"emoji šŸ˜€šŸš€","id":"5c944a68cdb56fcbe2cbfe305cb302531f18464135c9adba340016a95054588a","sig":"041ac702ad79153e0a7e114b5735d5f04f61589a702d42705c32132b6c18dd5b726549265a73cc573725dce8796b2f24aea5799a18bd7b71a916f64a03c642c4"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700971143,10002,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700825704,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-0"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"emoji šŸ˜€šŸš€","id":"7141f094dbf69e145b307d1a05bdfd79ba68ff0e3ff19ba28800ef1f27748100","sig":"5197999dfea2baa89936a2f7971fdc6c960902fdee5a2bfb7e999149edb7e572c5bd76deb517bd05d4fa3aef6b926184336dcf1982f7136905f4322ce8555112"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700825704,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700130107,"kind":3,"tags":[],"content":"bitcoin and lightning","id":"3b08c2a3674478bd330db81c44feefa927581503858825d99869b960bbc163ce","sig":"a4ebc6d5ee45a34f85e23088f49ccc362ad6e71a51597545cd2eb171d00f1bd1a270c92673c5247339c630ea0d55003ed263112877d656b42d03f8b21104233b"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700130107,3,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700456932,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700142875"],["t","nostr"],["r","https://example.com/8"]],"content":"control \u0001 and \u001f characters","id":"dfce759a0faba6c43da8497769dd9ab4983e3d7d32b9a10df2c94e9acc87949c","sig":"e4b2f901611646fd079be3d9175ccb22ad4e37ea760cfcc4329de9c234f59460676ab4d16e6c4ad5fdebd2029f092c66d3a8e9e9043f0330ada0b26e020ae71b"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700456932,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700142875\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/8\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700368980,"kind":1059,"tags":[["d",""],["t","test"]],"content":"del  and line separator 
 inside","id":"16e57877c131e8962d2595a79b5c95f0eff941d36582672516fec703d7ccd5f3","sig":"9b33737c9ba013c8178d738f161213b1a5e73e8101c9419652ab830c000c15cceb64b1bebccdcbe3b84cd67afd4b9993b90642266fd96c1b673ad3893c78de26"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700368980,1059,[[\"d\",\"\"],[\"t\",\"test\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,true,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700528515,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"emoji šŸ˜€šŸš€","id":"15f2004b04a028bcb1ca2aeaa22469721409c28b375c1ffb05157d72b3d321ec","sig":"1b3984e5eb9754b604dcbce9881f324ae7b7712118515a53459a6fcd23e82e27c8bb207bc173e28f83a5fb24a2a5612e6df7f386ee9b244b842819ac9b44d2d6"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700528515,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700079898,"kind":13,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"]],"content":"Bitcoin is not Ethereum","id":"6e1aef43deabad4eabb235722e03484dbb1ce91c6f21dfe6471eee9a6a0ad1ba","sig":"52cd537194b8168a0cad773411628f48ee4dc8bb7633a65f269c97280d1c7d1f56c1cf92f31bbac0963694f9b59003646e25dd9ff43b47448f5ff7b2bd6a280a"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700079898,13,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,true,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700008343,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"emoji šŸ˜€šŸš€","id":"146e88603c2a5432f552e3533a6ecc472f25de5522ea88f93b9c68fab5392f30","sig":"337154ecce4b837c20d7b7a0fd174b1e4e858bbe800b6ebfb941416c4b63b4f7257ebeccb206cdaec6a6ca3aaa4fbaae7dd3eb18788aebbfda68e975f1716521"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700008343,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700938659,"kind":5,"tags":[["t","nostr"]],"content":"control \u0001 and \u001f characters","id":"951784aed8c41335c3a70122ed06121118c255ac1ec3113a4fc8b900f0456dd3","sig":"8893046e9d6d9e09ca9f5f1a3780ae59d949df76b21c9fb9ea4158f2a9385e1a9fef3458a6deb529eb43bd3498c5212c3e612cd89a8f8b6ed07a665f9903fea4"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700938659,5,[[\"t\",\"nostr\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700942956,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700284008"]],"content":"","id":"cc85c093544562e38d1e3c28743aba0c99a6e8801cc101fa313562b64a861aa1","sig":"41fe460bf33a1f63898f84cac1d5dfc07c035f67ed89047702b95c6d78ab2dfce1a39ee0cd595d3e85d96439bbe94c6884aad07eddf07d160c4d1ddcf17519ee"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700942956,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700284008\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700871981,"kind":443,"tags":[],"content":"Bitcoin is not Ethereum","id":"f33dc11eb47c7d15cc675d469fb0882b6294ccd8053e5d2d0c48307a93e42e94","sig":"2b50888a135aa9a849ddf73761519ac759a704e084cb560800528ef1e0f4b54ca99dbe90930cc40b81368581bf7544a96dd55f108dbf1578fc1790fb7186f100"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700871981,443,[],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700750577,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""]],"content":"","id":"f0116c34911a001ee979120ca52a47534a98a835858c15f8a0a6a0b3592e2ae9","sig":"3e4440d215c40917cfffc89f9d64e65154ac7180a7f26fc6acbb532c9698c224d7e48a97342aa9989893c86c185456fac6072cd80b8cd71f04cb0ddd19516915"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700750577,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700371477,"kind":3,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["d","dtag-3"],["r","https://example.com/1"]],"content":"plain text note","id":"6966fb3466c26eff6e28a01b6ed92e93b5877ff931a5a18074ca48c4b3eaceb8","sig":"c19d3390a352e5810fc6ba10a3a8f61917315f388aee812b5f98febb1212d684cc737126bd2e381267fe8ce98611aa8d2f35759bf5684e6cc30a380f4987999c"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700371477,3,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"d\",\"dtag-3\"],[\"r\",\"https://example.com/1\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700959777,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"]],"content":"nostr relay engineering","id":"9cd9e8f2e1e090ee31c619fb3ecd40636c64874fb131655dccd036a047e9bf30","sig":"fabc1dade3cb8c51a5c01381525d6b250a602650f5ba2cdc3e6217ff7152cd3156f2d7b9e25f8464b57605b2fba6a1c42f769a219eab2a116945d2e596151038"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700959777,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700697103,"kind":3,"tags":[],"content":"nostr relay engineering","id":"3227eefbcafb924c7e8599bf7204a5b476f554249cb662d5a9a18eb5144b5a85","sig":"ad576ea5a735bb4f5ea272c8e13a0f73f1d972142d14cbeb2103c6fd74589c0dd2e227bb2786e4953e7e659e5a31676a302841d988d8d37ef370f472f5e4a746"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700697103,3,[],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700261157,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700210333"],["-"]],"content":"control \u0001 and \u001f characters","id":"307c4649dc3a1a4384cad91bf3dfadd34ecca0dcb2d3f17158a359925f567aa8","sig":"1c236a5ebfe52cdd2160b45280a2de82f78894e05b3feb19328badd4995029f2f46d43b36abbd898c47c4248de4645f77b31ac4dd1a64ada2c9151aa782702bd"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700261157,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700210333\"],[\"-\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,true,true,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700539642,"kind":3,"tags":[],"content":"he said \"hello\"","id":"54a6649efa2f77e3d94f37e621b6214c6de637e5759dff271fe59f680a8e9a39","sig":"048da3d9c8eb011ba5344955fcbe2f82b7cd0668bd439ffa999090b2db7faae5a7c6fff29fc2c0a7c461ede641df770b4f4d4c7a609586efca24609b754861c1"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700539642,3,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700731730,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","bitcoin"]],"content":"","id":"8c72d8174230abb0eb084e9f8ea3cf52438ce95c9aee791b67f38d00e5d52ac1","sig":"76dea64a401c3c140ead7395c0d023cc1c01d0ecf4f73a3dc7877e350c3dc0e76588225f509e3b1dabe7032d02087a091363521efef1f5ffd9908c0ad94cea9c"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700731730,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"bitcoin\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700397216,"kind":445,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["d",""],["t","nostr"]],"content":"he said \"hello\"","id":"3c69dfcb22b2406989c3068e37399317a8e36fddd91b9bc99e868ae4fb9f867f","sig":"d20469c8d1e58f75f9bcc49dfa58409fbda033ea9112772e9e1a7dcef807083f2b68b6e5624d4cebbab42a0e2c9a080203cdc8f68c85048c3aa6267b48491ba1"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700397216,445,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"\"],[\"t\",\"nostr\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,true,true,false,true,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700292190,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"nostr relay engineering","id":"20e4f14bbccae2481ffa2e756f55a63fb5a4f34903347a70efe987ed2470d443","sig":"ae5f13ebbd860a88097c447847016851a98ac1d1777f836b42f3f5f82873e7fc508f26b1e010e186f4cbd98135cf7ef1e23cd1968810addee2811311a1aee225"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700292190,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700263284,"kind":1059,"tags":[],"content":"he said \"hello\"","id":"a6360bf181bb65f004d4aec9c26f36f8641353bb135c001b6f481dde33a59573","sig":"ed123c6f90eae448b92c3c115171118927b9c7cfef48ca0f4ada5a55688099aca94c15336e6ad6151644cbb1f7fea9ab85b7c99725b65476788ee18a0589af72"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700263284,1059,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,true,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700617308,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700140493"],["r","https://example.com/3"]],"content":"plain text note","id":"d47338d792c6b31ab9b9b6bdd3fe79de92a57419216526af30cca162bd4a7a96","sig":"b30b7a09923b993d02ca2022560af22ce613559222967a3e56b6fcbd78ccb199fa0e0bf620074316f228e37939e5b68fa8920be4cc148bd342e1f149eed8ee49"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700617308,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700140493\"],[\"r\",\"https://example.com/3\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700088037,"kind":5,"tags":[],"content":"nostr relay engineering","id":"da96772cb1adbdda39bd18f5aafe1f959cc2ea7ef741f8ca7c45700e0ca6762e","sig":"a1450ba38ecd8b304abb99a9b28f3a86b9892b9003c18af739ce41aa054af65da20de803a028aaa6945a9026e2cc35776d90007319848651c307fb3259b2fe11"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700088037,5,[],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700137944,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-2"],["t","nostr"]],"content":"control \u0001 and \u001f characters","id":"6bd0b0d0b19b005b86754068db2a9871738be7f2d6a22a85c4a412b25f5d9c20","sig":"4a318b903b30b7dce20ced2f4a0a3a0ad46dffbb4e419048824c397b901b65aefd1ffb7d42f8f46ac423b77ec5dcea0d932f8f2da1c40062aad0209aae8a1720"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700137944,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-2\"],[\"t\",\"nostr\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700252697,"kind":1059,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"]],"content":"del  and line separator 
 inside","id":"bff179b36136150cd7f51bd825c7473e915cc9fc7cb64e5a405af9f5187302e7","sig":"deb3dad578780664370a2bf4c7bb3ebbdd94068e0bb638e0b553551f51e54d5d43803767282d65f0cd379905e0d8d265165b97df3aee57f2e5233f54bc2f4a26"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700252697,1059,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700594461,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"emoji šŸ˜€šŸš€","id":"6da9791172ad04bf65066e1805307d5766371c42f2952ba607d89f51f688df66","sig":"9a2d7cfe62f03029f0e845f86944533a4cc386c5f24bc8e4c99a373a93b2067ab2a3ff9a0dbaf618ae87e4b03e4cc6b3b4bbe7fd81fa705d1ac2cf62a302de35"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700594461,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,true,false,true,false,true,true,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700740715,"kind":0,"tags":[],"content":"he said \"hello\"","id":"681b87076a1bcf7a121742c266d08bb822bd9cd73978f883c46dfcc133024c71","sig":"439938d379fdb53139e30e83051d1ab33e5f5e4a3a20449c2d3b1154ceba462ac21e0d2d4f35a074ff4e7bb566597a1c7bdfe86361504be9106453ea9ad9caa2"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700740715,0,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700672694,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700134728"]],"content":"","id":"8cb264931344ddbc29ecbbf925ce85ed4cccecad7e7c39938580488e8fba77a4","sig":"8896f07a5d357f80057760f27932dd25df1fcc9a00feb3e1d88ee30b3f38bb7e5c90aeae82b8d6e888fdfd8da89acf41b9e6f04f34281bbe7d8a52f53c417857"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700672694,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700134728\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700302357,"kind":3,"tags":[["t","nostr"]],"content":"del  and line separator 
 inside","id":"13127dafa111c88d10d1e13f3172d3feb99635d1330b438d2cb887755c455b2c","sig":"bc1225caa110fe444d3d91b2da24325b3a007a7da42535f789e1ca52f72ca4b83f960a8aef939b1bd790ddb2b1b94eb2f2ff70a9ffad23d67df0c64dd54f3717"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700302357,3,[[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700251703,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"plain text note","id":"3d5361989f6571cfa76c7625db6141db56d8d525745ef7532ea35b954fc53b62","sig":"503d349f4547d33d3401a108004cc017a65d0058851ccf3ceec0bad7202d3253a14e854f0bd0997a2867e9ca032081da8731270e6592b309990fc93c56f67fe8"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700251703,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700666629,"kind":1,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["t","bitcoin"],["r","https://example.com/5"]],"content":"control \u0001 and \u001f characters","id":"b69bf01338cd4d3cd5d165900f1eb1bfdf25fdf5993036e939fa9a8171761b5c","sig":"c939c2c3109b2ad273740cc0138d5656c259a4914c3089d9e243e3a4de5a6ea28c8e3e56375baa03258e990732cdc68afdf795c0b4a3a062033fbc5e25022abc"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700666629,1,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"t\",\"bitcoin\"],[\"r\",\"https://example.com/5\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700419779,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"del  and line separator 
 inside","id":"c40a00e41a8c8f8f1158cee07470cb0e73181514a95dc8c8a8de1e8666e77c9a","sig":"bd7c114a6e16c41726bc7f059cad620091d8b3cc602aea0906cbbc80278e12650da42251e03918bac2828bbba46abfd24d3ab5a9a7ef60ada910a18e5873ae5a"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700419779,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700752707,"kind":62,"tags":[["d",""],["-"]],"content":"nostr relay engineering","id":"7fb52a01d03c07f10b3ff218d0c25761b1c289c8b5589b5e5ed0a997dcfedba2","sig":"dfe55e194a7cb7e16cc42462f8a7b9f24b1b6c7ed1f7c27189548ed7e1c59026479fdf2ad1923c2cb65125515274f177ec5620168fc05c96c44ad3f03b359da8"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700752707,62,[[\"d\",\"\"],[\"-\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700275097,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700299686"],["t","nostr"]],"content":"nostr relay engineering","id":"6d73a96d60371d11b99d7a5e4578d33850148a774ad0da129705f16d00bee353","sig":"627ffcf09863459dc06cc762e6338de32753db71acb89155835eaa2d9bf0a92125ff985058a6746556ad83a1383a4a7676e2ae1e5b78f4aeee3c2d285f6eaf01"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700275097,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700299686\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,true,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700690827,"kind":443,"tags":[["d","dtag-1"]],"content":"bitcoin and lightning","id":"21d7777fd51fd4a33770fbe4fd420232e4941418df5da43a0267b0a345255a61","sig":"357f5fc50310ce4ee25677c484da43d48d8b43411b02ef8a2125627a861bf6be4d90be55a435e033502c2416578b661f6fb0f58e083ad7e51097b2b0dda4d93a"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700690827,443,[[\"d\",\"dtag-1\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700106191,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"bitcoin and lightning","id":"54c50aade997e0b9cf25711667c42c5746b5a592f4e063cd6c778b7be5121389","sig":"4ca28bf7cd0fa78102a4f16439b4e6420f16e34ed9f4c35dc3103ccd6ac75a3c307d46f351d6c59ac33e9f31a379e5f20fa507afb8550cba7096c9caef62934b"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700106191,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700174567,"kind":30023,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"]],"content":"emoji šŸ˜€šŸš€","id":"1d22369aca083429cb964ac6388ff01471a1f7e54470a09da4da415dc474cc20","sig":"852d202cb4831fbe8034a5cee994408d6ae09bcad43edba1d78e33ba0742c8f303443765ce29e2cf3ab3a1f068ddf6df3061a4ae82cad46774292312a99ff107"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700174567,30023,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700623100,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"Bitcoin is not Ethereum","id":"94f5a841e19152c63a2de4dc48a1b9135d7b50f8a4fcff5e3d392668ccd6965b","sig":"4a13b67f36bc4f947e49d51736b672acce5303eb1638147d83f63f461a8c2f0c648a55752470a3a90b51f8710ed450f160a4303f7989046791f199d9cdbca745"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700623100,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700977117,"kind":1111,"tags":[["t","nostr"]],"content":"emoji šŸ˜€šŸš€","id":"bc62c287784fc77bedfb1db4e38de7c2a727ff13ebfbf5e9d5a6d87236d43c46","sig":"bdcd2cd381918e84ab97a11efe83a9290109ca91d7e46a9caee0671f323cedeed0a273d47023b3b772a22536c9f511941eaff4f85aac1b8be6a8d06e5f6006b1"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700977117,1111,[[\"t\",\"nostr\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700880054,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["d",""],["expiration","1700185911"],["r","https://example.com/5"]],"content":"","id":"a0c9901ad025e4739e35d68be1915ffb7a762883533666ff4aeae2604422cd22","sig":"ba3397860b0f7c62752752675559c373d8de9ce495c12a7ac978fcc1e512f8219ab4395c2870cfb9303ed40549fb7697ddff8353971c04eae465b0f8537452ac"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700880054,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"\"],[\"expiration\",\"1700185911\"],[\"r\",\"https://example.com/5\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700594100,"kind":0,"tags":[],"content":"bitcoin and lightning","id":"10701f430fb19d399b558a62098f1d2d32aa4520a06bc655bfa0d71ea12280a4","sig":"219fdadf5812e1f848cfa8dbc759578ee5fc9d565494304056e3d5aa8a38e7256aaa129d396970e899280b3ac091d46fa379afb4631f7727b1ae6184282c4cb7"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700594100,0,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700325986,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"bitcoin and lightning","id":"cdc510341bfb87bdf06a98e28848228e01f38e271f3e73b5d2cbb3246592a28c","sig":"571cd0c901f0ec24a736e084a01e7bbd6d05202c7f0cbebe46df8540f27260a4b8c4eababd4a03a0ca9e113cdc1fda763c0bc36e023cd62ece3801b915b56e22"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700325986,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700414242,"kind":20000,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"]],"content":"Bitcoin is not Ethereum","id":"b973d61651adae0ba5cfc2e48e26e2eab25b03c03848eedb8cc80eb25ce24de3","sig":"c7685e6daf805c2bc695aecaa8e368f59cd167348ca34cfd03c897d34c0b3be05b0a32ac66daa8d5ee2f3ac374e791b3d2bed9c958b794b064b40675d587b786"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700414242,20000,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,true,false,false,true,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700544356,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"","id":"00560e11068baf7d18787735929f7437f2bf7b473f9a981dd9a31ba7b4c395d2","sig":"5df47b0e978c8e149904832bd39fc5e4f25bd0e0e587ee395d2f8e452d83db41d84fdee8a06c40d34d4486ca5381a03e89ddcb7a3ba5d22b53f55c7ba4e0aff0"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700544356,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":9,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700155709,"kind":30023,"tags":[],"content":"he said \"hello\"","id":"458de8ee6d6f2d673436aff0f4c867990961be9ab2afe91210725c5fe00527a7","sig":"fbd44cdc5a6b5422c23e98d059ae720f207d0af1ebc7a23e42a01cf4eb4ccf980f1c638a2805b58c72e11bdf58115c43911c6e5c52e887260ece4ede728a73f3"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700155709,30023,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700462160,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["d","dtag-0"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700277580"]],"content":"back\\slash","id":"1eb46deab63f211661069176a4680458cf8535c89eea9a29deb308f3d1fa414a","sig":"bdeb7c3c569754fc8e10a3b5485373b839fc517a28489c5ba150cbe17be636e40f6f72bd324813e01072df06536cc4a3ef3587cc33e78746eff2d7aabb9afb20"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700462160,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700277580\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700437004,"kind":15,"tags":[["d",""]],"content":"back\\slash","id":"448bed3305f3c022aaf0e39d35c046c462f5456a0f0370817918a45a4725d765","sig":"48db75b4226f0a509ca008e8af684b8b77189d624fbd1af0c80634b1519982238c71d7d7cd4bee06e7b1c1ea672426d5c8cdc3dd1f1616ffb008f768509e28c6"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700437004,15,[[\"d\",\"\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700424504,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"del  and line separator 
 inside","id":"50c050758cda6d898bee09fe400d15db186ed073fe46c6d95b2da1edc3ab83a9","sig":"4be430667bc330da71ebcaffd19fc5b41805c71f8d7f536da22e2d7c50021f6690d9ec4bfde4411d5d0882c285560f476c7a04dcfef165462352d8d8bfd275e4"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700424504,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,true,true,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700056383,"kind":62,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["t","nostr"],["r","https://example.com/0"]],"content":"plain text note","id":"ba1a8e06d354b912abba063d5bf89225acebecb482fb621d4bac45e7bfc10b6d","sig":"b2bc01790d419a6449a6cae532a4449bb4a470cf54e6e0555e0926551a4dcdf934ec913120d28a34c975825981e38e6c47681783f8d642a724e89da7692268c8"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700056383,62,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/0\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700414924,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["-"]],"content":"back\\slash","id":"61ee30c7d6337c38932091ad5475b07e777cabd4772a72df13a0db22eca90c08","sig":"5e482ed560d41e077dc0d109034521768d6474d6a9bf189be133256614f691a987e8f6395523eea621759b2856c36654637d876ec100db23dbc9e1db70ba5f4d"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700414924,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"-\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700854065,"kind":5,"tags":[],"content":"emoji šŸ˜€šŸš€","id":"77a76a35096360665ac2e0f4c093f8e2dc0bb4007d78d7b1c4112dedf9e0687c","sig":"29d88bf7fa998201499c64ad124004292d45b2bead37ee9271542e2ac72f167ed1feed79a9e3a7a01f43ab8927bfb1c1a0295c6993c35d0465853b471b2aefe1"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700854065,5,[],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700958592,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700271979"]],"content":"plain text note","id":"550136c93462836d3d33211de1cc23286d06b4a6f132367f6ee7ee1d2841b1b0","sig":"7365bf9c8b82c821b855a4ed49f0462cabd198126157db55bc77f8802574ae76b10c28ebc6512db9ba91099c3aa184cf92975d088f2e5418f777773197da7fb5"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700958592,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700271979\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700083768,"kind":14,"tags":[],"content":"back\\slash","id":"7df9d5aebbc45f4408d2dbf0f986a37da0727698d39bce24a94554069bedb561","sig":"ce94dfa6ec15b0c4f256e49b20af7f1fd2ae84acfb2da6c1554e30f8fcb5116423c1e598374dd3837fa0cb9d7772960ecb3a338910de630fcb888c4dcb36b18c"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700083768,14,[],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700539174,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"]],"content":"back\\slash","id":"f02c1e2a5fa7427af4f34a284a0a80075d3382ad43957d076f0895dd546ecc8f","sig":"5f3277243180e475c893c9254b4b38d74dc8b30c53c54655887b0f72722ccd2154399679831d7a8a01d4ad3e336b9eca080b258d7fe1bfa6239a167ae0a4ea60"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700539174,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,true,false,true,false,false,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700701148,"kind":14,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"]],"content":"","id":"df365844f7029f6db41131b3270b7560b86a801010c56f7cdbbb1a3dad26f9f1","sig":"91c4e34c929be9509b2097b29a3b27f22e52732f33288cb415b41d67d7205901b1ee72839a02b26d579c53e41fd9258b5dc034bef272027a67b37443b961f23b"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700701148,14,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700300051,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"back\\slash","id":"db92b4e8dd03d69695f24b7e4013bc4cd25b4837c2bcc29908f7f1458ab0611a","sig":"c162305e8c18eb9c3648911b7b0d6bf747cbcb657d5fd15b75b19c3c0de09daafee9311b4caeb74b79024a46e1e722357549a585cab0169e58837cb33f43b18e"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700300051,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700177891,"kind":30023,"tags":[["d","dtag-3"],["t","bitcoin"]],"content":"del  and line separator 
 inside","id":"59d426e559c10ef991738c7a3df25a18dcb45b3c77ac56bdb2699487cc237687","sig":"8082c32ecf9f6626b3c93d4c213119743bdfe3ccf6f64b89fde6e1dbce2ed9440a5d3d5385a86816f897a43cfd26c4260b0c78b86a72886e4c59ece5ab6c66e9"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700177891,30023,[[\"d\",\"dtag-3\"],[\"t\",\"bitcoin\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700391822,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700224844"],["r","https://example.com/7"]],"content":"del  and line separator 
 inside","id":"3817a6b175cc13293bd63162e362e9639f6cff36eabbc6b8a3b17d1f27c6d852","sig":"9e5d43a6bce12af1cbe547edd2d5d6593f513d0109643a110c600f8d199faa385dd987f6ee7a50492e625e9ae95089815ad57d8d6feec42d396875744cf8748e"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700391822,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700224844\"],[\"r\",\"https://example.com/7\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700466406,"kind":62,"tags":[["t","nostr"]],"content":"he said \"hello\"","id":"4e71aa23fb6ca4d38d35e89b03bda241b5850183340f8133e7c992df3c06f7c3","sig":"bbd20c571b7f72b94c26aa5e306ac94e97cdfd9121b760605203bf39403412964ed7effda45c4c588e41a0619cb875d8698b2677c82e6b36e3ba04807afbbdc4"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700466406,62,[[\"t\",\"nostr\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700078967,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"nostr relay engineering","id":"6f685f2ea3650159c213b055bab0344d654933a93f902704b3ab8a29d962ee2a","sig":"8e005bb9783d27103a7193d8884dffde3b41d088a2a4d27ea7cca72f64f2eda2e478f6573e8d55ff03bdaf8a8fdca95610962dc76762e268ca8b39d973ae6bd9"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700078967,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700391905,"kind":3,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["d",""]],"content":"he said \"hello\"","id":"bd08eea7187d6331c3d3c3520b11b9e9a21c47ea800a9d41ddc0a6bf1ae7abfa","sig":"aadb141965e4106fff5bf7eb20e690c94d916a6eaa9d67c0006ab78995689e9ae06c6f36eaf07f6e4cdce5df3ff51e9329ea66526c62619a7485519fadf6b7cf"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700391905,3,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"d\",\"\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700781355,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"back\\slash","id":"d4683676e7283ff425b86714fc6a0159d0e97b5a25ffd40cd3ccd83a188e3957","sig":"eb0d83ce4580e962b32ae98fb8cff44a7f0bed3be59c398a42d82ad01227ff2c6ef809201e2a4631f60a6df58d968dc9f72555c157bf3cccc33e7625245c98ea"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700781355,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700669235,"kind":31989,"tags":[],"content":"Bitcoin is not Ethereum","id":"af98e4dfb3ad6e7bb87309e0c212f6c7151010e2e2ea99b1c676d7c32ffb80ed","sig":"8c28e7b503789f4f2388f5b164c13149a631877c583118c176204a0da6e1ae112bcd1ba1b8e896977658f9f67581a294861e4cf05f8044e6545a67a609b21304"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700669235,31989,[],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700894660,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700210770"],["t","nostr"]],"content":"bitcoin and lightning","id":"4d02f76da32a5669026c554d1e008e7cf0824d940d60b36871b31baaf7170f56","sig":"1451d0fd779230eecb7d8b109791339e0308f007cc17caf519afce0e8316fd4c859265bbbd725749df8ed2d4ef7c33d051b9a80fcc6e68f4da1ee4c8e1fbe02c"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700894660,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700210770\"],[\"t\",\"nostr\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,true,false,true,false,false,false,false,true,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700896274,"kind":443,"tags":[],"content":"nostr relay engineering","id":"e5fc2ceccc90dc08b2751717129b00c5f980dda3f852246e1a240d1b7338fd9a","sig":"97f2cd367708165c9179c539ec4901acbe1413a8a7dc573cb98fe51c7c824a28600fdf97ee37dfbb212f1da0b535acefda44a11b7ced301b0e463d4bf3eb471a"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700896274,443,[],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700015666,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"del  and line separator 
 inside","id":"d2a9f68a4efd540e7aa11ea2b3a5a3676ffd77c762fe610cc32c1264538f6f91","sig":"a6b5ee5e106e2cb6d3dc9987fc55154eff6b8f5fd2217ae0c4b761427a325ace0330d7066a55c5aba1f9e9cf45d5b65e04bb04f46587a7b7775d05cb9b07ed8e"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700015666,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700086545,"kind":62,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["r","https://example.com/5"],["-"]],"content":"control \u0001 and \u001f characters","id":"31e102b5e2341136a4c3b49064912c654f5f7ab457c987c9c74108ccd16e1b00","sig":"481c2d572cb92c0778f83cc7d9aaf8219436ad51d95662885aeac24e0790dc3c02743a7e87e401a2dd81c48c9c3fd62dd4848c105832498024e52c6bd71c9dff"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700086545,62,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"r\",\"https://example.com/5\"],[\"-\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700199460,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""]],"content":"Bitcoin is not Ethereum","id":"fdf61dc3414aa838a559f6b32e1d6dc0886aae5f1e4af1936af5e057199c92f2","sig":"5fe97ddb4c394bf08901c6144a46769ce9be8a98b801af5c39df6d7e56b9389d7a537197c8314e3ecc54723825fbaab6cbb6f9c60d828fe9ee9db7e370792031"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700199460,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700817211,"kind":10002,"tags":[["t","nostr"]],"content":"back\\slash","id":"9db59dc5bb9fcab9cb4d3deabe2880833db5eb62a5fdb6a88fd2b2f0e230235a","sig":"79e0a8ac702c40025d7427ac40f901a241a13ec1020740896a44be66c06a4560bf424bb56c4579b82194ec342210da78c462a71fc05ea05713ce54e8b5a26bb3"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700817211,10002,[[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700206982,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700210956"],["t","bitcoin"]],"content":"nostr relay engineering","id":"7dfbbbdb4b15acd20c557a567ae7866372acffd05a3f0f844c36ae34eeec6522","sig":"594dcc588b012faac084759a7153a52afff9e606cf78936fda26d7c860c03c78b9359cd2496e7f8e600de04f636bacfd3e19f8e6f5f8d8fb0cca2290d45834aa"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700206982,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700210956\"],[\"t\",\"bitcoin\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700541781,"kind":14,"tags":[],"content":"","id":"bd31165bdeb7aaa9b80d912cb295bd0187324ad85f149096fcf894fa44b09457","sig":"8a806bad12922e31c9930b3f0ec1b873ac7c9b37a5ffaec2b32d5f30674d939e7693f53ef3b057c773d77a520fbe1c05ed403d2a52c91cf9f5331dee35b4aee8"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700541781,14,[],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700155352,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"Bitcoin is not Ethereum","id":"a9ab490e005119820c119b516172b2a89f366652069a2a676c41f679403e3a96","sig":"8daa9732cd522bc99685ca1cca95700362fa7ebb450a2f1eb3ec3f3a5217778f814086259ed562d4cf8654f758de53f71782c90f1b782fa8b076adc70329b676"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700155352,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700675733,"kind":3,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"]],"content":"nostr relay engineering","id":"57b850f06431500090f56424719205316208ae811902d4c519c4ef65883988f0","sig":"0da2462d75c4fc1ce47fa34389d55075158412dfacb12f22c4f124ee00d454271ec9c0498f1afade10ab5b85be40da62cf16b8a2c4410864b7467b4b330abfdf"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700675733,3,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700200273,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","nostr"]],"content":"back\\slash","id":"5231bdffdfea35e13e3ff71a5ba37798671dac46c4ed3a990bbddbc597c6f8f6","sig":"8c58ace7d711ec0532663981f8bbb0778ffbceaaff242b463d8d8f25fd26c77ea4a6b527d9b1ceca05b83ed2d88d39e45e92fa7112da0e75a3037aa01970bf45"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700200273,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700879826,"kind":31989,"tags":[["d",""]],"content":"bitcoin and lightning","id":"9fe1c00c2dba9ddf84392b04649a46805b9ecd5177db27faa922641a62770234","sig":"cd7d91e008867dab5eec2242823e57836f1714755861a3191caac2fd36041e33f4464bfe23952019a9b1c9a6da82c06191d8365eb36f481415456115ca6237bb"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700879826,31989,[[\"d\",\"\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700109343,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700132072"],["r","https://example.com/9"]],"content":"","id":"94c4abcd586c843c527f384f2d1a7936ceed8a593964ec455fc2823150594d8b","sig":"67b5f09aa77ada4b4ee711ff4f44274f9511b73cb9c1f93f732507b2888add6624e03d547356257f1ed958aa69bc458ab33717b5afea8c0ed154b67b68e22d99"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700109343,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700132072\"],[\"r\",\"https://example.com/9\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700358160,"kind":5,"tags":[],"content":"bitcoin and lightning","id":"ac7df07f1e98226ab28b7a40d906c03ec5701290daaa730f4d8750c3f83077b4","sig":"8c803fc9dc39f5a99acf3046c6b380694e92303f92adcc07e7557491321201cab3aa851bf4fc875b4c1b0b6a18067ddd782ce3623fa6698aefb4aae5db2cf55e"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700358160,5,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700949617,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"bitcoin and lightning","id":"e61045ae15e90eb1817953d6d099c2e05d6a1157a6569da9dbe5dd647fc3bba1","sig":"136070794d3135b49d8a155792cd6fdbad4c2c7fbb9ac613f5ccc024405f9ca57dff1d1204161cc57a2a8b2c39965f3bb8ebfb9713a2f168a71db975ac4ce126"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700949617,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700870978,"kind":31989,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["d","dtag-1"],["t","nostr"]],"content":"he said \"hello\"","id":"2ebb18278ae7b7857edebf38dddb52990bfa3ecb7e67c6b94be20e0596b48fee","sig":"8daae85564c53f0929704821c6d586182ff215628cf3e43f753b4b65f01fe586555298c65d3734deb71c2cb4fa900a7581557538d399a9ae276b7f3e1b476d6f"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700870978,31989,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"dtag-1\"],[\"t\",\"nostr\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,true,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700360740,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"Bitcoin is not Ethereum","id":"885fb4e447d6152ef1bb05f13747d6a1d772aef9320e3fe6ce72df79d383cb53","sig":"f9b8759f51c4ab76e1cb82013f1e955be9269d6397350e429b232a1947fb265972c74daf64dd0772d6e2384e5dd165153ca6f750de614b1ef02b0dc32cf232bb"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700360740,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700967240,"kind":0,"tags":[],"content":"del  and line separator 
 inside","id":"716e05b51af77f75f59ea6e33875379b12a94b2c0b8cbb1e235dda915e37a486","sig":"fbcc8f87173a40eb0f3efc51319847498188fa0a88df9b605b70119210762e593df1341a93bcadf69d8e012445ecfeece90dafca6c5ef25a668abd7e08aa2baf"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700967240,0,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700258339,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700120567"]],"content":"Bitcoin is not Ethereum","id":"6d098a57439416d42cbb7322539004b602cdb313767d8a52dc1e7d658679b507","sig":"e23c32957bfe44dfc837e96a55c4837bb064e71e881c1347d30f5ff52daf0d868f4314c7439692eb4a55ebd691cc2c86b82c68d2327d4ee4fe2b3485420239ec"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700258339,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700120567\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,true,true,true,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700258075,"kind":20000,"tags":[["t","test"]],"content":"control \u0001 and \u001f characters","id":"837602604b72256378e643f6d7c9382d7c8dff71f5b338d57a9d0679674d03c0","sig":"8e794f27d10fa5c1de5634452284e304d144ed9accde9d42acd9281e90d1820667e884bbb44ac255cb1bf87efea92bc257d624b16cada4f3a9565f33c0bd0fc3"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700258075,20000,[[\"t\",\"test\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700552377,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"],["-"]],"content":"plain text note","id":"9b6dda427b1c1475d33d790850f1852bb52b7d3879657afa832ba9ad874c0290","sig":"a6019637c948552259d4434bc3d12136933a7afb8c89266a4ba4cc6df4c47a35f061463221788df0d48828f27fcb0834df03c5e7fcb276a7b332f2ef5ce4d9fc"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700552377,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"],[\"-\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700729125,"kind":14,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["r","https://example.com/5"]],"content":"back\\slash","id":"191d8cd125ca9b14edb4925211f5569f61644efe1a612d5c74b9f86051b4826c","sig":"e3aaabd99f14da0302e334670e1e4f37f19baca7ac8cb03223666542edf0ee2aa1498e058edb005a1f95d32eaaa8ff6b7ee2763c312fed7365efdf039a6f8fca"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700729125,14,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"r\",\"https://example.com/5\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700351947,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"emoji šŸ˜€šŸš€","id":"ccad66dfa666c4c5149b43f0532fb1db02b77a71b9f9aa1cb97ba0e8aadfb693","sig":"7c8e83cef8cc8a524033cce4d7a5a5bba084590efb9551a41127a973143950ee7cc8637440d597099353004252c3050e0a5a678c8c4c613b18397f4bb262cb48"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700351947,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700892203,"kind":1,"tags":[],"content":"Bitcoin is not Ethereum","id":"644c55c6f398e243c3bc7ddb3211ecf1c02426b2aa007b833222498f995fe1dc","sig":"4f4ec32af1a29049ff002dfc81139f70e6e706036f90115671f6c9fe1ea147b7c3dd44dcbe00905cde2d78b41566b39be0fda52b81560f4a429ce464504b5bfe"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700892203,1,[],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,true,true,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700909630,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700195778"]],"content":"nostr relay engineering","id":"a7d8f622ca741492dc2bd96dff819a5c8161f4cca2b4540224602b222972bfbd","sig":"9ea543326079d4f19487b5ed0339fd34aeaadeb70970c73c764cac6c4cd9fa2ef28a0c47baf44cf2d68938772d90c06d0e9f919daf37c66a018afb4a361357e7"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700909630,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700195778\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700514456,"kind":443,"tags":[["d",""],["t","nostr"]],"content":"nostr relay engineering","id":"d15d414051ed7fa2c731bc40d0191ad68d8363bca3d8fd4d5308b7496cb104ab","sig":"968a0966e1661a55a94b11ff7fce25407b09ebd72750ed761691bd634e6d5ff25b590acd2d2fef6f30b441b7186a8eab6ffc13c6e914697fc385fd1141d8c074"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700514456,443,[[\"d\",\"\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700269632,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-0"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"Bitcoin is not Ethereum","id":"db3fc639f6b118667590d7f02c0442bd346da120dc23cb5494d497d29d99fb42","sig":"5291460206777944bbe8fe22a3261e4f51b81f591c3c686ad6295b3b634a8fba2def156aa9f2fa90998cc9f23e79c9d9ccb84222ba2a1a98b940e164ffa3ef93"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700269632,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700848892,"kind":1059,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"]],"content":"del  and line separator 
 inside","id":"945dd9e4fbef1e67a72533b8deac1f167769dd9ac62301249e7bb2c6b81eab33","sig":"61e40cfa012c9a4fad28f179cf1dacdc2b4f82b2dc2bfb5e9b79e252fe40a860244f3d3e5db65547fff6a78f8769a1093c0dfd373f00812b23ae7000d75f1ca0"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700848892,1059,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700055026,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"del  and line separator 
 inside","id":"7357854248dd8f368ae18c2ecf7f15de50336834157850c99ebd5cb041da5ec4","sig":"17474fb63540041d3ef9f7624d927f24f94d1ba08e5fae5e1fa1ac1ad1a29ea967f3eb4b23ebcf3a449d001f66eb23d21fbc3c1951bf62f9cf12b37519effa93"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700055026,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700660579,"kind":443,"tags":[],"content":"nostr relay engineering","id":"97c655c1d48ab1967ea52d662bc9d94a18706663cc7d0ba8209c0c38a1b3a0dc","sig":"9d35b2646e750854fd7f1ec97200cd3e94e4763b9137210f3a3cebef813c06161e9aa6836dc3f25267cfcae12fff0865c941ad693cea49a8ce14e079490ed4b5"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700660579,443,[],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700721836,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700113722"],["t","nostr"],["r","https://example.com/5"]],"content":"plain text note","id":"f89bd327aea71cadb253ac207cf33e33c9635611b39570100c5f7b7527128c20","sig":"e9f5a62478dd8420aa2028f945f806a51099e41d47851901d39ff8351b6dd992377312357295b58a3413aea1e7bdbed54b107236f0b13255d6db5c1b6f4584ee"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700721836,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700113722\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/5\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,true,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700780210,"kind":0,"tags":[],"content":"bitcoin and lightning","id":"884346d154bf99692fe2274a56423cf118c044dcf1df4858b5de525dec5a7469","sig":"d0c0336c44fba305ea220dc454ba2fbc7c74f8284ca9cbbe87accef50d92cbe1dc794998d0b7a7e5ddc12297e8e8a8adee6127956b76b0e2435c0c1446c999f4"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700780210,0,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700747993,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["t","test"]],"content":"emoji šŸ˜€šŸš€","id":"4f20dba53840e49aaa001fd57bee59cf17685a07345bff921c95aa313e8feee8","sig":"2c8db168e06552738e4c6207489de31d6743472aacc44b7b5e2cc90aad14e446a9b38877bdd62b9ec249c89283f7b7fdc77e1cb042845bad7b8c4f47e2268967"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700747993,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"t\",\"test\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700388184,"kind":31989,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"]],"content":"emoji šŸ˜€šŸš€","id":"d51ca2d9d68830993d115862185036af308f9a1d6eed625624d60a5c5dffb0bd","sig":"b2c219623bb31d3113df97eae30f747d35201b3c8a1cdb57d4a601776b62695f60dc2423d0bfa1ae2ec597518aac6eb003c74e18ce17b83576a66dd85aa1b519"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700388184,31989,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700331782,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"plain text note","id":"c0f19fabd7d97e0c998bc34ce8fc33b6fb709b816d85cde9bfa8e789ba99ead3","sig":"f16aa4f96c13a01776a339e53220583289e4373bb2e7c9cb7aab9cfdfa76fa9b828f80663b1afde24c97382f86418030780666eeb507bda452c16b31f3b204b7"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700331782,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700257573,"kind":7,"tags":[["t","nostr"]],"content":"emoji šŸ˜€šŸš€","id":"e72ab884df2c18b57b769c05a2a62fef393bf775c36e00d70a446cbd6d907639","sig":"574cad113429477cf6aac53cc91af89390fdedce47f6bca586c581f8117e929d0e7ddf2cc520e71d2b764b9c8d22592410779b7bb8b1f124fed4d5eac298a9f8"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700257573,7,[[\"t\",\"nostr\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700572823,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700167931"]],"content":"","id":"e8bb75bd81ea6fdc469cd5b8242074c4014516e3071028e3a55773c9a5d20a96","sig":"a3c526b76d852ba22f82f965bb373c0c1faad2de4a556c813632743e658c9ab41c3739cc4b6cddc89a5f010d6737376a202495b164827adbe5a1ae97e84b3346"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700572823,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700167931\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700178666,"kind":62,"tags":[["d","dtag-3"],["-"]],"content":"nostr relay engineering","id":"7ef576bf912ca603b2a6ba5d6d5983832e3e783ffc122d5238c4d9f515021af0","sig":"c0b322c6b6582772ea64694fc81fe67ac9ab428dca7f437b55ab7969d7c01a1c0520e6c31d15f513ca9a8117ae370c4132823e5c3d350af299387a06a584235d"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700178666,62,[[\"d\",\"dtag-3\"],[\"-\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700075233,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"back\\slash","id":"0f027807cdd4859e4a15475973e37f7cad5c2febcab61b6b0eab12a17d71b2b7","sig":"f4714ce7bf5cdaf51004aea8c350d02bca5e80e5f1bd55557dd20da8c202087a3d1d613dbc374c68f82e3da409c367ff9c965f8d3acf3961e001043c1261ba9f"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700075233,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700484777,"kind":31989,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["d",""],["r","https://example.com/1"]],"content":"he said \"hello\"","id":"ba24c3f38da0c312f6cd088a710b2d6d0d492433e1c720d8783baff7043f5fe0","sig":"c5ec836a837f61593ae8d7260b0636e68296a4aef3c5032649fc9ed822252e3f9b410737aa1214af25983970b600db9e6046f5f50e5cf453b14df14a25725996"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700484777,31989,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"\"],[\"r\",\"https://example.com/1\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,true,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700908629,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"emoji šŸ˜€šŸš€","id":"024154288fb11f6ec04d6730e27ce05f8a6d281a8b57b7ebaf8b562fb985c711","sig":"ca6e870a0fea0520dc6c2363ca2917428b90b5bdeaf8f001255a02a8912a2963a128dd2f135c4855600bdea0c1c16d116d28b3445b2e3c0ea92a3e5be1ebe759"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700908629,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":6,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700653143,"kind":7,"tags":[],"content":"del  and line separator 
 inside","id":"eff1fa9a6c06f6957bbeba0001e4ffc0f1898813db580aee75f2b05634233830","sig":"d989063ef14cc9f620d2d51e4c7574201221fdb6bd8f92c25e1a4f49bc2ea1af42c10d343786b598eca3609b2014018591a80c1d5dd6b5125abf4f2e6d8abde5"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700653143,7,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700476144,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700163117"]],"content":"control \u0001 and \u001f characters","id":"385f20f050eb75fefc2a1249f553880ebf2ef45884bad02042feec1c139896fc","sig":"f5657890a698056b873555d489f59ad2b72bf3d01d7199da1d090b7174907d3c656cfa91e89ee0d0aaff21c2cdd351cdc921a2f543e8496f6544e7b803b3a8ee"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700476144,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700163117\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,true,false,false,true,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700657807,"kind":15,"tags":[],"content":"back\\slash","id":"4cd010108788038a9b20669bc689f571610da13ff38a8c62347d10bd9fe9e038","sig":"22d04c7cf27a1a8a466ab09df422cfea5b1b23e91d68aac1479302488f213adb8342d59b5c9898b248dfe90065285992c1351d4691201d4c6d1b5e3ba963cbdf"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700657807,15,[],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700942986,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"Bitcoin is not Ethereum","id":"3e7e572a9cbe66132dcdbadd93f84fd3973140f009431bcfb546b2e52dbc9dd6","sig":"18bd9da253930ca63b0b998d3447c2ca8823aef77714502f454d4260e030bb7709ef33645465fe0d682acfabe7e4ca426f829230c12782fe916494d6c5c03bdb"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700942986,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700679270,"kind":1059,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["t","nostr"]],"content":"del  and line separator 
 inside","id":"6ea55c881e40bbae876c559e8778e7752458c489f75b170397602e2950e3cf74","sig":"57510e9e5e668508a76a0dd9e17e693444a4b51cd3d8c553432529d3ea9c7a47df67541f81474c9ef3156919b05b979154c6501754224c0ebc8e3077f481de4d"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700679270,1059,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700344242,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"control \u0001 and \u001f characters","id":"2dd1a3f2cd5748e0bf3bd993a1afd1884ef5a6e6925c1aa73260650e0831029e","sig":"52421de2f25c6f2fad77b129eea24ebf7489fd80c3c7ba0512f864a0575cc8104de49705d722231ed8df840b3d8dc111882d9c0f1e9b53144cbf52ec1dc8b1f1"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700344242,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700159147,"kind":5,"tags":[],"content":"","id":"b1a410ce3f14a9f9d3460c018827383a86096691a2fe63f80900bfdbb7b198d1","sig":"33666dd48e67979b62c3f984ac57eb2f63369225e3090bbf3cb6b1c432b75f88ce0bb532c6a0f8e0479b7c8bab896ac9938e529464e637f76acec02602ed7a1e"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700159147,5,[],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700344017,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["d","dtag-2"],["expiration","1700187650"],["r","https://example.com/1"]],"content":"he said \"hello\"","id":"49b1975c4b3592a296e03541260507fb4c725b1717beccd9ad76cb2a5ea5f7e2","sig":"a793f3d14f2ef10d1a697a0c968c3183fa08522d13369389f5a1c0ea0bbb8c2b898467a97019d62372b44acfbd5b43cb7b60fdee97e21e11a440272e57b1721b"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700344017,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"dtag-2\"],[\"expiration\",\"1700187650\"],[\"r\",\"https://example.com/1\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700423639,"kind":10002,"tags":[],"content":"bitcoin and lightning","id":"f8e9b1bc3d41554da6d92855788bd6fc3f4ce45bab23ef84e15c52acb8267186","sig":"af3ff5452500413961c8297250453dcf69df3853604f3fd23772f7821257cd61caa43db4a03a19eec4625fd17df9f08d1f705397312dcc07c16791ea8c253629"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700423639,10002,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700619569,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","nostr"]],"content":"","id":"f8f27c13949a249fad74761fffafdb85a7c6e47a2095630c48533396143bbd15","sig":"e2c9e899b41de2613813fd6d151375acdbdb9a31786639cbaf1159adf330da3b20c34087856aec8992cc70598d3ff44a17c88aba709c89fdf6579e982e95e536"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700619569,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"nostr\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700238940,"kind":3,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"]],"content":"he said \"hello\"","id":"1b28f4762a4ad2c3cb8b894e51df0557b06f3f9fb09040af6f207fe36d9d377c","sig":"575224eb8590d8791e56f3305d8be628fd13495852a1df024684b14538c34930cc197e0fe1ae7065c0a0fcc4ed460899f38e865d8626d729b7c2558b4fba710d"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700238940,3,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700131288,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"back\\slash","id":"a56a1afc2a9da549436a5cbf820c5292754cee1575465d59e9025ce2baa2ebe8","sig":"32fb5964405974fb23a26a40d8ac8f708d4be07312d3393f0572fb1ac90b78dc95d031eddcc81c8dc6b10fe19898a541d7e1a2239bf743c3c2ae91a6a61d2347"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700131288,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700178545,"kind":20000,"tags":[["d",""]],"content":"del  and line separator 
 inside","id":"0752070f5356670f681a87626d5625b3c61ded2b59a4c12d67dd9f87944b851e","sig":"0498e5f18870cca484ab61a77b6d207d228c93aedde9c63bc8cf301c0e988f8f33e14a66719f2b03589dacb59557a0eafa6675ca5ba2d1b6f0523e75935f9761"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700178545,20000,[[\"d\",\"\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":5,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700746760,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700159723"],["-"]],"content":"control \u0001 and \u001f characters","id":"5a2902a8a62830d2e03c5e5a436f65897eb3dafb924e3c1a6fce7229801d997d","sig":"8c6c9457c1be985262c50e96e09a1df0ff2123084d99673d15224bcbf28cfbdf4b440bb8d383e64ffd78fec2c841b9352a41ba9da0eefc27df29079636e45f03"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700746760,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700159723\"],[\"-\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700409833,"kind":5,"tags":[["t","nostr"]],"content":"back\\slash","id":"e8c8da0d2e0182981f629fcd39f98bcb90882f1d36ed2dc0ae19457d00cfabc9","sig":"f7cf77e2de2130466c230223081ffea8df738cac830a0449ca8aead5daeb329ed6f1503fa10443cc7e6a9d32d27198bc6f60960dc50d67fe670708a6a3884b4d"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700409833,5,[[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700860136,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"he said \"hello\"","id":"ce510bb26239921c7b16230dbb445aeba853eeb83982363ac08d46e113bf4e69","sig":"d56b174e5086471b293b0f446beba6227dbfdf1dcc60aa13f470bc2f64a120a91f1bee854de9e46bbfe2c32c29a409e7ba25cb3eb2badde8c6d7908e951e9569"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700860136,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700663273,"kind":7,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["r","https://example.com/8"]],"content":"del  and line separator 
 inside","id":"38beed7616ff283b9c066c4ccfed507b39c5abfdbaa570ff823992cd35ccd341","sig":"05f0ee9d3c0baeee1e6b9a87f8123473d47914c78f8e7b34f991c2c06b8eed7dc9c8239b3ca3cc486f22574b6687876ff2674aa854f17f4eef2180617634186e"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700663273,7,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"r\",\"https://example.com/8\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700357085,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","bitcoin"]],"content":"control \u0001 and \u001f characters","id":"2f5b695d1cc6dfd0cf7cef8380e2a07c1920ae59319f6d48b930e8b19d860510","sig":"47038f2e67a336af2c16f84790d98b61b6ac1fd7cf566e55ad8bef6bad5ec02af8d58120c04847963d632a16a2af025526da973707a921fa4ede297e28c3ed92"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700357085,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"bitcoin\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700843165,"kind":1111,"tags":[["d","dtag-1"]],"content":"emoji šŸ˜€šŸš€","id":"06451cfa30c4645d875297cc2d627177ef91d8672b99f5b025d2c5effb1408fd","sig":"333054acd544335ec781391bb03d7a4948f5eb8c557958a6cf463d730cbfad57b5e730c36aa1e30967d74b6f9814c96016dbc05ca740aaa3085025e23c7e8308"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700843165,1111,[[\"d\",\"dtag-1\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":5,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700137749,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["d",""],["expiration","1700163465"],["t","nostr"]],"content":"he said \"hello\"","id":"38538c48b5f06d445ec41ffd9893475eb3624f8842daf7c739a41fde304e1826","sig":"7ffbc9f400500bd12051ff75101ce5418edf8efb69b9fbfa28280be3bf82320dbf20bd84e637156d52097ff36563cd41566aec3a2dd6906a111b7605a1cfa760"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700137749,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"\"],[\"expiration\",\"1700163465\"],[\"t\",\"nostr\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700044029,"kind":15,"tags":[],"content":"Bitcoin is not Ethereum","id":"bddba23bda4b4a82c7e452ee5e0a4b57bb6add0b5db7e4b627e17da24f083234","sig":"cc1a0d7d8a457e2165391c560c7f6f179bf1c92ae2a503bdffe26c15171ccf8c2e365a843c21698101e5eed6337d9de85820136b023778699980b7dde44bce16"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700044029,15,[],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700157596,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"bitcoin and lightning","id":"efcb2ab44b800f6fe2f6dec8895e17b0b3cf276e47899bddd9ba6197fc4b7d86","sig":"5b8dac7a70b2a4d34feac75d56f2e703f71cfa0b2eaeab68a6a78c708bf02d3fba7c587a1fb5c68b0d023ef5fbfa0811f7d52b4c807df13e19f0ca7a00ee6501"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700157596,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700675642,"kind":3,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"]],"content":"nostr relay engineering","id":"e6bbd185a3d3330fad82013c92570537b0655716e1d17129c757509d43d25c02","sig":"f7917fc6239ed7835493e0e61dfca16729cb6a3d0e54fb3282baf504d258b3b785b1c34b442350a3d8559fc5f4d6558921115a91ef2850b497c80aec1246e9a0"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700675642,3,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700303995,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"","id":"5b0dfce31dd13fa944fa59dfcb594f2add57d67eabe89e9b3fa56890e8ae146f","sig":"864f6ceac72655eabdf1f24b180de720c088ed0f1d2c995e49ecbefb105b3ca8b9886c580c7d9c1456c0b22d75c78ab92b91b15f9b0167ffc02f469864c721ba"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700303995,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700577067,"kind":13,"tags":[["t","nostr"]],"content":"plain text note","id":"b9e534c844134e9c763dc352121517916b562a7581203864049c725268462042","sig":"b125e9bf35e2eace8bdd37bf8b5759da4d009a95285a95290625ff570f8cfc97dcd4072c5ee7a94fc839bab3934f4ec8863747fb6492fda7b8efe1358e89eac0"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700577067,13,[[\"t\",\"nostr\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700874381,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700260764"],["r","https://example.com/9"]],"content":"back\\slash","id":"fbff05d808161405ddb77753cb00ac4765f52a200084e8d143103994d50e584d","sig":"0ef6456e69c7ed5f878e95aec571c6bae1e07f9393ecfc1c33ab1ff9b3d2a4ac58457005090cbcee1a20588ce07a88a32bce079adaefbff43bf221cd78eb0183"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700874381,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700260764\"],[\"r\",\"https://example.com/9\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700881311,"kind":1,"tags":[["d",""]],"content":"bitcoin and lightning","id":"43c114d0c1d7acf87de856ad24d01a89fb69342ca75ba5239254c03f1018ee56","sig":"36147f248954f9205458ba98361facd950ef5b1be695310e593e052cb2b2c056fcd4c2cd9e6abb2a8bdf6685b03a3006c394fc042c1bd787824767ca903c5af0"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700881311,1,[[\"d\",\"\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,true,true,true,false,true,false,false,false,true,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700011392,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"Bitcoin is not Ethereum","id":"5f50251530cf40ca61477d55f800c6e6ec95e9bc9bb219340d28cc2e646a0df3","sig":"fecbe7a8546d555b0f0f1db0f6b06d28c4841df180131f4945b175ee040a30c81f579fbe8a863543461dcf7b7b09dea2272f7bea3db5a6c6a4be738427bc9cce"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700011392,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700673760,"kind":15,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"]],"content":"bitcoin and lightning","id":"166cf2f77023831ca68a9c00c38f0366583345404b21d3e9b9b4ba0f069f09c0","sig":"1c31ab80880c61ec5e91eaccf0cbbb55c4dc596807faae21a3a92f085c4fbbe70e8cb1443c57bb5d05fb3ceb7d766aa7dfdfaf358add4f222af76264f5483cd5"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700673760,15,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700639123,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-0"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"]],"content":"del  and line separator 
 inside","id":"3c5c43ff122a5abe1764d432aa1fc9b64b53dccae89d55b575b8bd794cff278d","sig":"51d38b7e2c44a0021d56eae2abde8cf56984c5867020ca942d20e28bdaf348976a7147b7c38fe3d5299dfdeef23eb2789580bcab0f96c4f0053ea20579fbca84"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700639123,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700751719,"kind":444,"tags":[["t","bitcoin"],["-"]],"content":"emoji šŸ˜€šŸš€","id":"4184332602e055e51b21ac8a6861f2f8aa28bc263ff4ab0d2162fe2716c69cd8","sig":"4c8b54743f71eb26892393e6a4639135499cccb97398323bec2436715a66f09db9a78ac28e4e8a634f14478d2f8ced33d5b6ff3a6966ee61d311ee6b22bb2c99"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700751719,444,[[\"t\",\"bitcoin\"],[\"-\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700771225,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700291866"]],"content":"nostr relay engineering","id":"d8a3e664e905bd5bde9cd48cd0151d058c96c220d0d31756c4644d7f8409a326","sig":"eb4c7fe91bc6dc15ad50f276ea377178dd227be92da2f74d3310436ee7b6406105379404d84dc2ecd11e3dedb6d0f2a0e432ed309eaa42010e6e63784763dc8d"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700771225,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700291866\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700504291,"kind":15,"tags":[],"content":"bitcoin and lightning","id":"d126ec0ffb2b75cf93a2394651a77a25c1bf154d3804b3fdcbdc2e1943b5d39e","sig":"8a21e57176966e8f15a9caff10387ec266b5a22b216fc537829f9ccf14fb38befd168c243143566416e5398cf734166704ec0bccdd5cfcaa5a7e166bc141fac1"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700504291,15,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700911719,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"back\\slash","id":"49a255e39ecde3f19b68740313cb11373238151413c17cdc27143fb9cd03a729","sig":"0831feb01e56c8f697916153546016846f83cd52a76372a29c4bf3a8f7a04959792c77021ded681a1cbadc6ac48b90c6c1d5d233075c8dbf5550700546f9dc1f"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700911719,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,true,true,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700590155,"kind":3,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["t","nostr"],["r","https://example.com/1"]],"content":"back\\slash","id":"4d2b38145ae503eee725fd583ebbc691f5f5cf2aa8610145937c759de1d03e54","sig":"27ed7f694c518d9414b95e67fad95e66c5575e2e7d772dadb1a17b273c2e0a6d8e01863de5c992914a4edd4b043e7deadc81698292685694a21afc995422c4d0"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700590155,3,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/1\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,true,false,false,true,false,false,true,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700509280,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"control \u0001 and \u001f characters","id":"32de8c6168acce1de864478e6225efe372e07b14b04340324c773e70a2947030","sig":"98009f1fc94bb1b8451cdf4831278940cd55f99d7d13a4f402be0be94a7111c54ca157d22225401da006c7f53dc5f56cc173e291d92acf8b577590270884486f"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700509280,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,true,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700836668,"kind":15,"tags":[],"content":"he said \"hello\"","id":"3edbcd9e1c0abdf8f6f210b3caae589f28e6929811be717ce1a4abf0a82b4b08","sig":"f669c1ed7661fe12e0e16ca77abb6ff67d850ebbd4a28cc383e586a3615f651180645f044fd923e33a4e8b834c141cee856c0d4b488302b27510edace33fa1aa"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700836668,15,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700712820,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700134852"]],"content":"del  and line separator 
 inside","id":"a6713c3679ce11e55fa0c204ec1c116ba8225d91af7f44fc889aafacd06e4181","sig":"1de2c54f7cae793519d801a28cdbc6fd9281fe20db0a65190cfc131e2ff7d3993186de93cb940d1d1f47b06974c6edcb8e23174ecc1a5b35ce76addab8963da7"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700712820,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700134852\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700329605,"kind":3,"tags":[],"content":"back\\slash","id":"475d4250cfc5f61d7683b286841d30998de6c57b27561814ae3d7409638a62dd","sig":"3664192037354fe5e4406c557596432e05bd7ceb15a1e7050e5ecd02820e12649cbbba9bbf405fd79c2f98d8fc1a0d481969f1569ecb203d523cac3426c480fe"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700329605,3,[],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700243864,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"Bitcoin is not Ethereum","id":"eb71b2a5c9a1dba00194c86c91ce9247770eda461b3fc745f2989548edf36da5","sig":"49b0f7eca48b270c4830465015bf27e8e00cf1604cb43467f811955690d17684809bf3545871c911a1797bf6ce4c14cb8345c9fc395a33268600e636d0b485e1"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700243864,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,true,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700053970,"kind":444,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["d",""]],"content":"nostr relay engineering","id":"da2a6d8c8fc3b2c1df156cb3392570414492ae51e5d283cd7d09f9237b190af2","sig":"53c90c3cc3e1f5ae8f2bd1d3feba8ab58273c9219ca241427d01af53f49c187370901a14b508e8de75385905562bfe74b3324ab194b2fa97a08f4ee226a7f1dd"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700053970,444,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"d\",\"\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700706484,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"he said \"hello\"","id":"65212495b1ce617ba48c35503aa959c36d2af263f1325dfbbf7a6b0b4fe65750","sig":"ba132ecd26f50ba2aed52594e252ccbf8e43d286d7d4254ad37b25e86f279298311cc85990d40c2205687572a19f1ab0a787de8be16ab6e3a4ff2966ae86816d"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700706484,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700633952,"kind":20000,"tags":[],"content":"","id":"9ea7f5635949f3c45f7a5d362cab2ff4390f3498e587b7e3af79d69af50fb4a3","sig":"a95df2d1858fb94d5f28029dff444b2f4dbe301597d08d326a69b5dcae2718cc95d3d9c43a166bc11dede4ab84e0a23a7d91afc5a27f0fdfc27f163bd56e09c3"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700633952,20000,[],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700222882,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700218587"],["t","bitcoin"],["r","https://example.com/3"]],"content":"bitcoin and lightning","id":"44da10cc3f98862e6e0a45f16eece8b142b38433e093be060fa2b5af4a015473","sig":"ee104453093a4dcead06dcdfa62675b09f672abc2808f1725d2326a41c6a52bdfab52d12a966e9d93db7cc1dca2bf17af214e896c768ff068106258494c9a10d"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700222882,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700218587\"],[\"t\",\"bitcoin\"],[\"r\",\"https://example.com/3\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700153664,"kind":443,"tags":[["t","nostr"]],"content":"back\\slash","id":"202ded9917c6ac2d127edab56843fd353907580da2f1eddde3ea343c2e7ed73d","sig":"ebd749904e7d6e6ea6acdc5480213ae8c822a03b38118a621f666390d9688b9e9a13ae37c50dc625aff7f0b22aa36d305a6996f74f863c27a865c0342d03385c"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700153664,443,[[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700673818,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"plain text note","id":"2ad278defe7c899d074ba1ab22f0d2be9b8c67492d79c1e79502638fb3a1c551","sig":"77b05722d19d51ea3d744b83af51e2e0a02a0ca1117da87e43a70ae1ed291e2ff42231ef1e1b06959999732f08aa75548315a2cea0b5ca6b523e1a82f6f0b10b"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700673818,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700523574,"kind":5,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"]],"content":"he said \"hello\"","id":"dabca4954baa61e914ce2b5b959c0269d893ba519f74d5d07be4618c27f5faba","sig":"821db7e8421fb06930232ca590d13d5e6989f6f9529129b5a716ca20f9617b1a470b24cba6f597184b07fd39ffadd3a1f28305eda4f06776e09c7de862fff111"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700523574,5,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700141496,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["-"]],"content":"nostr relay engineering","id":"0437e89a106766ef8577488edbe38d54124907e3e626c1eff2f08017b033c3ef","sig":"cd61cda0a6be5df3fcb3560e4eef430fe996399a8659188b99856d92aba52534b50de4fe6b3c9c3843dadf68a0c17ea25f157648d629cc585d5357b15a731dc4"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700141496,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"-\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":5,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700243738,"kind":62,"tags":[],"content":"Bitcoin is not Ethereum","id":"c1f76da162449b1f1272b48a1fae6c4382a9d3b77984df3a97723f1d4b4f5394","sig":"d482d3d624049dd4f6d5693b683206a1128fd26ea6d524227217863964238fdec2cc9fbcca8ea92db285e2aea814bb8b0cefab1a603c295b80d2098cbad7b9a9"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700243738,62,[],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700709222,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700230828"],["t","nostr"]],"content":"emoji šŸ˜€šŸš€","id":"afec04a55cd25afc5f73e6b985a40d8b2ea540e0e0d03323f2bad7ca655904e8","sig":"e25aedcdd35ef07e65a77fc51cf505ff085098b3dd08416ad4c7f44f965bfb7e0755cc4ff58e5d8623bef52fa2df3ffaf63901544d03fef9a714bbe0beb909bd"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700709222,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700230828\"],[\"t\",\"nostr\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,true,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700397052,"kind":62,"tags":[],"content":"plain text note","id":"0055fe887824ffef4f9ca18aa556f6030b05137a30b881e86530978f049d97f9","sig":"48162231d35b0a7763ea0fd91e22cfffdf4e4414b79ad44da8151ebf76208c819a8a29816ecfc158fa4920a16b78e3f44d56c3479f345a9a300116a00d106ebf"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700397052,62,[],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":9,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700549562,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-2"]],"content":"emoji šŸ˜€šŸš€","id":"27c0ed7e1b8043ddf27757a3ea9615fecd4d616ccceadc269ebdc6063e6e3439","sig":"ee60cd39b9929d8097ba4df222ae2a5e7a956a018b8384b8ea2cecada1ec2f5f736a5bf43df329dd44b3e08596e2d939110cf677c8d4dc162680dcf1d29df731"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700549562,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-2\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700125508,"kind":5,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["r","https://example.com/8"]],"content":"he said \"hello\"","id":"034af2f8ab5ca1650352fa24cd20e5ac03463a473fd182ae78f6f7145cc2e953","sig":"6934ebaca3bba8a2f758ad7e6685ed99a800c100ca69ddb904fa73adcc6e5f97791c37c236f7b28c37ed5f24d89e6d15162ed3b05c08fa532f6b5d3d4f419ecb"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700125508,5,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"r\",\"https://example.com/8\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":6,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700636170,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"bitcoin and lightning","id":"7bec709132cffe467fff1af56f09a3b732d09114cd48e18e4ccc419256d424bd","sig":"1c9745afb0e75b950e51caf50e3d7620911ed0d5757742d96a4253e9e78c4bb287753e72fc415f8ca0cda1d4b239aaaf4ae7051c3d0078e197fb1b4646c3db9e"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700636170,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700325276,"kind":443,"tags":[["d",""],["t","nostr"]],"content":"bitcoin and lightning","id":"c51795f669bb68263a5a242c8f3e3610ebd72ba7d8cbe5ccadb644cba117e1e7","sig":"a11602b319a9353eeca651527d010d6aaf24f92bf8a8ead394cc475dffbf0018d9e186681b213ffd8c346c7b1e25b7071fa1d28e1f9f58df3a6400961676ac4f"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700325276,443,[[\"d\",\"\"],[\"t\",\"nostr\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,true,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700151391,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700157436"]],"content":"emoji šŸ˜€šŸš€","id":"949a92ebbe82b1502de32fbcdb104e878950cbdc1f48920ef665d51d9e8616ba","sig":"4247dc543c953055f8a02e3e07ca77dc5dc5d5ce60a53946b80e7ab0c7db64351432979ff147149e64cff585e409454b609b012ab6f3643a2cb4ac43960d2ea5"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700151391,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700157436\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700660975,"kind":10002,"tags":[["t","bitcoin"]],"content":"he said \"hello\"","id":"2db9a5703b78b3e998d96b051af41c6b736aa5a4d8b51ee641b626981bae0e8f","sig":"e157f9df30195bddccf44c7612ab63af13be38ca83c727ea647d81508425b94415bb1cc3ee7c3b019665e3b962c464a87daa4f9c68ebdb7e62fca193a6c34bec"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700660975,10002,[[\"t\",\"bitcoin\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700386094,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"Bitcoin is not Ethereum","id":"b570fcdc8fd34979fdff5373dccc502d70eeb6195f9c14d04a4358a15934e9a1","sig":"a9cf823ce0be6e2fcb793b788f51b997cb6610ba9d9d28af30967466db60edbbd332f94ceccf2500ab85d95447767cf7435f56a59708f62ee0b6acdcf7c27fa9"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700386094,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700020834,"kind":62,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"]],"content":"back\\slash","id":"2ad741b32d2e6d58146ffc79f2537b53ae37bd90b8464071593a594870f9e789","sig":"d0e752feb5a6bb58de4c76fea993bd339f4834210ebc0bd31b6f276d9acc4199fc7470ef8bf05f28e2f89db25aff5261ab65f101ec0db8712d11ec76cdb28d3b"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700020834,62,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700233353,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"back\\slash","id":"96eba19f5e23ddaf4328d8cd8f4f051e4b92d1a8ea32939788f1cace70470554","sig":"16e9944494467a25d6c1d4bfeb22f0f51e293b2e40bd8ba95351d5729a2e04ce679e0fbcec3c97845e277162bcf90b9be592dabd61bb69c2adc67c39acb78969"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700233353,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700313123,"kind":31989,"tags":[],"content":"nostr relay engineering","id":"bb299530ff6fecff9e7fbf6a522d65e01d8080d086d905aaaefc0b1e102ecb06","sig":"fa22724cd98f88ab857a37500fef7237a4b57e4f103716c3e9f507a4692afb962f42daa5a01d99edb65e45ea099ca55f21c24a0ba3a3a685d29037a89caf9ad2"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700313123,31989,[],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700804640,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["d",""],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700233047"],["r","https://example.com/9"]],"content":"he said \"hello\"","id":"c00455343cbcebad70207409a8a08964cb957cb6cee4a6273c683a0f4daab330","sig":"db82fb9f4b10b4c04472c24d3a2898727871dd41cba54cb3252f3498b7216fa474db0d5989cf247c44fbdcb62a5926e2ef9ac3906b7d1a648a46d7d5afedb35a"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700804640,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"d\",\"\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700233047\"],[\"r\",\"https://example.com/9\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,true,false,true,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700979525,"kind":443,"tags":[["d","dtag-1"]],"content":"del  and line separator 
 inside","id":"a46865f6c7c5e0deedeba3a01453348a081e977a486612bd226ecc6201ddd469","sig":"a647bfbc5d475cbb43265937d1a37c8877f753da03d64bffe45fcbfeb197f71d92a8b676bd1b2582251ddc3916b764a08244f39e0070c38e84e177ea3852380d"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700979525,443,[[\"d\",\"dtag-1\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700634614,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"nostr relay engineering","id":"8b62a96c2e2beb966ca4e7659d826a57dedf6a0613e06c1f8485ddbcf21bf872","sig":"fcf6e97caa971e37d38973ffa64dd2488552af88fc61ec22121ce96c05b67b5ee472910c8748b00042380fd5a402e1921a035ecd195224cfb941285a16d84b64"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700634614,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700684997,"kind":0,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["t","nostr"],["-"]],"content":"Bitcoin is not Ethereum","id":"7bd56fac563b82947290b35f83a7832264f3a74b610769e573b3fb60ab2e6788","sig":"d69dcb03dad405e09c739bf3eb42ae5733d005cab464c556c516f366ac65aa278484cd0688b6fda1858b2937e874391597f7de19b3f1e9b9796160d778eabefc"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700684997,0,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"t\",\"nostr\"],[\"-\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700717906,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"back\\slash","id":"631d8dd0655972ae3319af490468b5fc2a5d370a6f537e76ff19be593e261080","sig":"057b4e5d27abb01c69119ec3cec7ae72654a4d07263f317fd8871b98ff8a1a15047ecc39cee1c538ea622080bcb5e7365b974bcdd3e4ae49c14de62f29a3c92f"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700717906,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700478734,"kind":1,"tags":[],"content":"bitcoin and lightning","id":"d317b4fe3e5ea74273a03253055f95bc2d8798b33cff66326c48a27a8715715d","sig":"2ef5723e726868cfba4356ed73ab26cc48c040425f40068482247a0ad3d5e8e463d9e9671b071f621709e0eab891ca10df75dca64874077c5d2ca545f53722cd"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700478734,1,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700135914,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700109985"]],"content":"control \u0001 and \u001f characters","id":"33ce6ff7aefd846a52751cba1962b447f95350d1a91272da399af741374b4317","sig":"8aabebd4141ff2729c753eb2af2c6a04700e1960a9ddb3bcbb1a06678b2efcb7c2855e7343b8707a9d990b05003a40a0b20cc108da2e678d5da480b108391d02"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700135914,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700109985\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700982501,"kind":3,"tags":[["d",""]],"content":"emoji šŸ˜€šŸš€","id":"fb6b49153b2eed3e44740ad179c8ffa141825b56f6692ede11dfe933893d6c58","sig":"fe1199545362735250079fc1fcf21ead97a1aa71d57eb0b0ffe4ca9499251a658c43551544f9e1e2845e82a737cb8056b10af71b2a90f7a84dbe40a0e714ebad"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700982501,3,[[\"d\",\"\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700910721,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"]],"content":"he said \"hello\"","id":"d50287acd2d6945807e450b1396d0776f799ca3094e17af360ba79cb15dfb001","sig":"7e86665c2024d48d67db3793007e9276b2984dd47c0f8d7e13e36e59b878cecc74ad10ba6a91e01aae3567a8e9d18decc2fb94f92d86900065acee8f6748a90c"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700910721,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700872921,"kind":30023,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["r","https://example.com/4"]],"content":"bitcoin and lightning","id":"c7c9d8c1afb19e237f9b9b8bee92afd2617241edea6fe5d277285ac85db59884","sig":"98139c939a72f87631e77aaacdff180d9096da98b9ed34f43e02d0a309566ebc3ae7f9ceea0e2e425c8acceafd02d2b77bfa8f268c7cd7f1c3329c2ea936d371"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700872921,30023,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"r\",\"https://example.com/4\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,true,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700475297,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"","id":"55cfe596b7e38990e6756c71ecd43f00d059b5af91516f688264c5bae42c0085","sig":"871b7ae32945c79434350f96025af3c7ed99242c314274f5a1ba74cbb47b940ab8b36f3bc64642dd3e1150561aff82cffa53e7435e4ccf76be5c6605abdeb979"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700475297,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700879838,"kind":1,"tags":[],"content":"emoji šŸ˜€šŸš€","id":"d0bf0cd411a4e2e04f9139731a22b0ec22717623460be4b1d247b75cdf9a9ed7","sig":"2711ee43adad4a6f70d14c393e6f3ce3d433e6f6de5b45d23a16f94524bf6e38cd45a21bde2b0429cbec474f5352193f2655d91f22bd8703437839bdea021ed7"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700879838,1,[],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700549651,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["d","dtag-0"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700284959"]],"content":"control \u0001 and \u001f characters","id":"339c36f0ea53b0b90115389c7cc950d3567a61478332eb3412f7e23c9a23b96b","sig":"05dd2701440475918061cfbec1a969335926aef3c809235731fbfa423cf1a78da25c05a0e8bb9b1abb2b0aed3d8194136198fe08f42181663983c1a589d4a559"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700549651,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700284959\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700677207,"kind":31989,"tags":[["t","nostr"]],"content":"control \u0001 and \u001f characters","id":"0f224949334d9dd6d069330ff4e09b3c936374d87be8363772b085ff6c741689","sig":"65aeb1cb2c3723259b88e1f5a4f4d6f4f7f00ba65a9a0b4917078b747b2cba13c782ad5e2c01781cabd33051495eaa8601719d63849487e976103d8b4258181b"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700677207,31989,[[\"t\",\"nostr\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700773243,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""]],"content":"back\\slash","id":"287f6c58bbc6f558f299d638bca9a118b981c4fb42178d1c6e38cebc5e164c18","sig":"374af160b8cce83454f9dfcb5bfe2d1f2893b0f49a696879acf159a133f5a8766278de247bb3f27862c18fa7c14408e3a296b6c1ce26ee26f6aec62dc9236520"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700773243,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,true,true,false,false,true,false,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700392201,"kind":445,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"]],"content":"plain text note","id":"4a17d3dd5e4b79fce789e02598114550d5e203b66c178270618aa578494830ba","sig":"c375ecb599d3305ba4fd770277c7209e8bb3e769d8a90c18d5f70bc9f5bc1f33a0a3e81e6ffd1c7f90305aba35ba5af779b14d4ff277015b5325545d9274e779"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700392201,445,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700910522,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"control \u0001 and \u001f characters","id":"b224a4c4ab1633d108e7911cc9330222903a22d41473b9d1cb29b8604caa2da3","sig":"eeb3ba85a21ae04a540cf806f3c31acb09d072595e0435d2b7ec949cb2b9d6d44ad227a973400c860295abc70e9c677cb4734500988b743e8a15705fd1c6e5fb"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700910522,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700106226,"kind":10002,"tags":[],"content":"plain text note","id":"418c9dc22cbd916f7584b0bc21c3a1722215f5a0d96ac83cab47146b8a9a0d45","sig":"5e1f45ee38cdde44007b227016b36d98402cfd27505cccc897a31e0aeb3a3ddba9ac55c83c14eb16e21f83efc156f75637908a72e515a37f34a10eff946f745b"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700106226,10002,[],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700557310,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700213957"],["t","nostr"],["r","https://example.com/6"]],"content":"Bitcoin is not Ethereum","id":"dd735c8a8a9a26ac888a8192116b89be778cc3444728faee67c84bea1ce5ab52","sig":"a5798b807fd027be993027491a16396abf980f607599a655762737a2a36583ba9e1d8fff6dc1678fabee94a371a456ae9ad3e7273d86ba753d6395092606fb6d"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700557310,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700213957\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/6\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,true,false,false,false,false,true,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700198306,"kind":3,"tags":[],"content":"bitcoin and lightning","id":"3f09abcc2f6cbc1ec69f2555b119b7827d4992f188b5aeeed5db29e4b1b8a554","sig":"89984f72fe63597ec272e99627b8ac34bdd6c59e29b531273135836acd6c2b480b541e647de7bd51a3c4bba3146e978a1a09a0ea957b448416a5ae3d9b9f8d41"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700198306,3,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700236156,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["-"]],"content":"bitcoin and lightning","id":"9f72359f319e78eb6617712ada7c021a1d07a13d41e1bddb74a37d15191577bb","sig":"5aedc3611c97540bfa94058596617b71f29d460d414f35adac45297a3b635793e55a9fd4c4f04f511245f4303123f72b302fe5616f7746e85a57b61e58878ece"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700236156,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"-\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700338072,"kind":20000,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["d",""],["t","bitcoin"]],"content":"he said \"hello\"","id":"aaa28e9d6dedb1cdbb47af0a95203abe2e80c57d0f9e98704fae9b8136592ed7","sig":"d31ca0a045878d1c51af196d16e1dfd77f5a26d3b952d6aa87fde4b0cf4c50597f87181218ce65507e62367bece739fa9083597b15e993532ac9f892c3dc3d47"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700338072,20000,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"\"],[\"t\",\"bitcoin\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,false,true,true,false,true,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700277356,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"nostr relay engineering","id":"462dcda0d452525a78d9cc845d01cb29e1f9e6e028ae8b9856d64ddbf77cd487","sig":"928c54767fcc0852f860ac3c1ba5c9e76f4712936ad911560525e276d63f44d1a392c1aa0f1145cf2458b25657f6558418601536fb7f61dd655da349b0931d94"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700277356,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700290117,"kind":443,"tags":[["d","dtag-3"],["t","nostr"]],"content":"plain text note","id":"120f17f1028c442992d8c1514077fa4b6b9b7fed3220e3fca8d51c08045a8fd9","sig":"3049384cec5b50318d711b98b21365850c4ad917e58e24c4f140484b7655e275bf4808994fb8d328e292aa51632410916b00df19d27de130afe1811d4afaab1b"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700290117,443,[[\"d\",\"dtag-3\"],[\"t\",\"nostr\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700403420,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700243321"]],"content":"plain text note","id":"9f6469a411596b5f746a7ec2f07654fabd54e59ba350c251ea55c1f24598b495","sig":"1a4486f5ebe0a8a41c7bd830df46b824fc19d249cdcab26adfdf779f0fe7cbc8f15220ebec479bc1b8e7aff2f57fcd8f65ac96c82adb66a370484eb108d0779b"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700403420,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700243321\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700162996,"kind":30023,"tags":[],"content":"del  and line separator 
 inside","id":"266db01ab19b10f349b187ab69218fd215056fbfd734e483600b942bb0ba18bf","sig":"f8cabe6b758a4bbdcc165267a6a30fac5602cfb16be7ec6032f4d8271b3ae8fcb0a5ba0edb0e3c374e3cf402569fa48e0a9f312a5accfae3ed6b339db2d32dd0"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700162996,30023,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700444532,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"he said \"hello\"","id":"fd80f8faa452907504886e16db02eded09d14ff7a7ce50a24c65b5d613d00a83","sig":"0c0a406537c2c5377e922cca6681a5db9fdd2988c65ea416ddfd002e5d0f378084cb525883583c641d62a5fe7c5b524b34ead638ea67fec73e165555ba9848b3"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700444532,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700584546,"kind":31989,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["r","https://example.com/5"]],"content":"bitcoin and lightning","id":"05b8d698f67ba7c56cbdbe77fd452956a9e822e5afb15d256c40ecc7392e528c","sig":"22d80780d567387798b2bce64259b08de64b220bc538b3ea175c95bef07dff95a64f4904ffe3c44a05e52ceecb3f80d4fe6fba89adb873b6d1db64b1cb81a10e"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700584546,31989,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"r\",\"https://example.com/5\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":5,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700440821,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","nostr"]],"content":"del  and line separator 
 inside","id":"5f27477398deee1e4eebba4977d3cf0a344b25ece9d9a1b7526c2d410f8cf79a","sig":"e86c087b320c38212d56ad84861bdcca00c43a4406a8091a8fb81e23990032095ac801d6a7e5fec1570b0d6cf12f9b7f683040449c20ab084c6138dbbfd1c586"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700440821,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,true,true,false,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700023727,"kind":7,"tags":[],"content":"bitcoin and lightning","id":"84cdbcf25ce9d352c95b92dee541b1a7b0a756438bb5a996dc7e417ad8295bc9","sig":"3994fce0658fed5eb20263ae0db4453e09e2fce527edfc9c96949b38e21e5018d9b058f5c9802b045e70af34a38f032707e5c975ee37b8bacd033c88719cc164"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700023727,7,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700659817,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700149925"]],"content":"nostr relay engineering","id":"febc2efdf25c477ded679548568a11999ab2fd66cd4670fd841a51c386bd7b1c","sig":"1e8c9586b47ee6eb00aed177cb3fd7687f0e777446e7cb2eff55bfcfc2959aaab9f8973022b931e34fe6a1e2a6e8875627a2cc514e9967a362be5a6dac1ba0b4"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700659817,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700149925\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700945943,"kind":445,"tags":[],"content":"","id":"702e8b8f9ee1ee97e23f851a389afcb4616586d832141ed0c7f38381c9bc9ad8","sig":"7ce1b084d39e74e2329ffa6897036e931b8c1740a9165f09d1f7db03976d436bb3315d6f5f19249e2f68f5ae2a09e9f429935f7db47fd4e4b3d2bc0f1131f114"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700945943,445,[],\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700197050,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"","id":"0047a1d92fa75ffff814f33fa26c339a9fc8432cb90561182a98d70b10b5befa","sig":"0fe9647405eb2608d83751ecf418f70a20e61b6d215280c116b5708426ce04bfa74745c4f0ee2ec39df62e62f5659b9b18c2345c412119090daf844610bc190a"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700197050,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":9,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700686614,"kind":31989,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["t","nostr"]],"content":"","id":"2b4f80bb9e17a5d4b3a828aef6e2ee30491940c1ec0b28011b1028f510fd7146","sig":"66b56322d843ecc1f182904cdcd2f0c4d03a812403f03624ecc8441f28894d11417757fe16dc6c250865288666f4cac1a4ac5e96fc17afc1810dacd03ec4ad63"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700686614,31989,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"t\",\"nostr\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,true,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700910441,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-2"],["t","test"]],"content":"Bitcoin is not Ethereum","id":"b1863570aa270084939828550c406fa2a7a2c58f04a261d2bd0d57bd06f5c469","sig":"95481a6a3c4ea0fe101a3181be5b615283463a9a79095b35de252a0c442cdf1ccb670d4384e8cc71e1341f0e82fc955428ae466a87dad0075f3b1c63692608d9"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700910441,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-2\"],[\"t\",\"test\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700423086,"kind":445,"tags":[["d",""]],"content":"Bitcoin is not Ethereum","id":"9277daa97129c70c708144832b0addff5784e109d6411cb6c19c02eed71736ba","sig":"242aefd2f8694f64d5649db9622f5223169dfb80722934461b7c31a06c2195f782cf7d8d5222ff67645353ca023571901741fb8a384412af1fd32153aa5a435a"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700423086,445,[[\"d\",\"\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700603651,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700296397"],["r","https://example.com/6"]],"content":"emoji šŸ˜€šŸš€","id":"9e44917bdfbaedb8011864b4ed22fc2ae4aa009d1705c259f1d081272e276c36","sig":"13bd60e9b65bb85ab9e05f99b0cadde3967a26ae90af8ece85f2e24dc3ad0cc5973d758d09fa8a3cf85d4cd9579349c28c4e2ab499eb04a407c497bef47998e6"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700603651,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700296397\"],[\"r\",\"https://example.com/6\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700026010,"kind":31989,"tags":[["-"]],"content":"back\\slash","id":"5413010606c6908c0b55dbb1b038185ea3ebd5f1783b1fbe5909f71a0ed8c079","sig":"5ab3033ed04a462d2ee6b9586a2906a6568c560a78355bfb5639c5f26787604587b9b41c489b0791ef0556ead7904c9246e3a5ae5b2f3e496a8e1e939f8ed0a0"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700026010,31989,[[\"-\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700429305,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"emoji šŸ˜€šŸš€","id":"a6bf198847dbf647e4e57809822229a782dfeb4fe9cadf359ec2b0c79f79ebe7","sig":"ded1334e4ca60e28c378ba92e24783ebb06cc1184968f3a728fd38207deb6251ed6bb7175ab8da13d506b88b449359d6af4023c87a0e202727db76980bb69fad"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700429305,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700516615,"kind":5,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"]],"content":"bitcoin and lightning","id":"23be3a57246870f61220ef762fee77c7c9932c0a7ad802aec4c4f030bf11af07","sig":"421edc7cc94625187c2a9755fe4751bf61d4ab197b67074fd5afcd286cc182047ac5860c6a3087183aa80d8252ae3b45f3de8b01ccdb2e05e63622ffa1166998"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700516615,5,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700004272,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"he said \"hello\"","id":"a8acafdfcc7929fb0bff0f1c957fb1057814d0351e5a1505dc3c89978b0fda17","sig":"2c8b3386070bcaa70ee6f2ff2c798e2b5307d6eb56793e0f25dfe9acd02e80f61adcec044cede4778c12fe968429bf6e12b5b5decdcb18cfc1cd5099c44891f1"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700004272,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700675574,"kind":14,"tags":[],"content":"he said \"hello\"","id":"a7b62cb6fd2048d94f13e2c3cfacdf8b151f010ac4584042d14d4d7b2828a1e7","sig":"45ca07f2491083f320b81d2f31b0b713f27466cee8f9de315274b122dbbe5358602dd207927edeaf979d7dd713a33c1c7a0c8d230fdfb38f496d91b864891249"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700675574,14,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700118050,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["d",""],["expiration","1700292532"]],"content":"control \u0001 and \u001f characters","id":"d6b427b33bc1faed0f9167aca1c71f417414ac9dec6f21fe049c4f73888d2f2d","sig":"5bd8b1f2d2c2518632bcf97fb0c94ea128b872b5b3224b41959ed986d110b41e6b8c2634f75df38aa4d2f9c2783ca8a2c602ec1157fb440c216d5a7c10c31e36"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700118050,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"\"],[\"expiration\",\"1700292532\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700387438,"kind":5,"tags":[["t","nostr"]],"content":"nostr relay engineering","id":"de7c3e67b01de6876d7c67d4401bb906a7857bbbcf3b2652b82053c40a85202f","sig":"cab529467679de89704f64e17b314b8b55396cd2e29246e47373aa45ae29f206351dab00c108c440572f210ae9901d929191cabd8e6081a24153d9ab7496d9d9"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700387438,5,[[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700650421,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"bitcoin and lightning","id":"cb05438327e823a99dfa865ff87a81158c84e1b7f6ac00bdd7f4452e44dffd58","sig":"0fe5727d9c21d545f77325def137b0240664e9202f21fc9041a2a2c8cfa397b064a97a75df1787b192a1f09b2906828281f04e42350d7a2b8b4f16421ef53016"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700650421,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,true,false,false,true,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700538914,"kind":443,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["d","dtag-1"],["r","https://example.com/8"]],"content":"he said \"hello\"","id":"665d26b8840bf2503520ce340b242c9bf521dabed04f38b090ea5778e117bf23","sig":"f43d6387ee65a6f7eedc1d38b032a34d8193fb2f51510368a62aa4c44137aaa85e95741172f76b749afada5413eee2b3e937be1d9fa8ed0b359eceba72837e62"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700538914,443,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"dtag-1\"],[\"r\",\"https://example.com/8\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700848342,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"","id":"41ac306079fe08d65451a72d3272667ea30aa8e882c7bfb9b7adeb1d3841e317","sig":"64dc220bba733e4a36ef14ea487a0e775e02aa995e826fb204eff13f9fade673ab3cc0426d275ae742fefb1bb3928d05b320cd7bc15be40b8377279427f30526"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700848342,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700786445,"kind":15,"tags":[["t","bitcoin"]],"content":"del  and line separator 
 inside","id":"eac49d33e1bc15eaf2ad8efc337834a710faad44f0feaff220615c8cddb4575c","sig":"73e2e3a9b0557837469ca18c740b585ea61457726b6554bb5c828eacc081f7684ef1a735631eaf45827275d1082316d2d6c6a96e1569fba2c2dac8984af0e5c8"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700786445,15,[[\"t\",\"bitcoin\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700390798,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700241658"],["t","nostr"]],"content":"control \u0001 and \u001f characters","id":"8e1c15a67245c380ff3eaa10ef63871f78a71bc81297b63a3ad57374bc92e0ac","sig":"563585d0a9a9dec781a95f2dfbc8836843bff885af1f236447af557dc3f731ad136727fcf40b3729a4785baa468ba5a0fad122359cb1849e0d01cd9bdcdfa7c1"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700390798,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700241658\"],[\"t\",\"nostr\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,true,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700455737,"kind":13,"tags":[["d",""]],"content":"he said \"hello\"","id":"810906b59ce376d85a201ce874c17d1e4310cb760e3c73ac6ae0544b6fd1feb6","sig":"47d1c5ac87416db62e0a1999aabbea1c09a74503e0943939ece72f900166922a8b7a4104c13751cd923328b3d1dc98bfbd4ee321e1ea44569729e7e6a424256f"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700455737,13,[[\"d\",\"\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700544081,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"back\\slash","id":"a5355e3dce6b5b1da945593e5d13d2e4468714f94d044ce141f69f0b03bc0dd1","sig":"b109d58e3c253453214233b412e78e999816d33ceb9a30afc895876a2837cbd4d16421732bcf25e762a4e37836c95c79282d811b469dbfe8b2fb4dc6bea40aec"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700544081,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700726204,"kind":445,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"]],"content":"plain text note","id":"fd23383f926dfde8426f811fb9b7dbd72ab188370e0c89d7dcdf75e3f1eecb39","sig":"e27f9ae72b63852fc67b06a4e498ab90d426b728e9a63d3e550d21bbba8a10a963797ef1f48516af76dd7f420c49fe627f6396cbc4b6f90f9558ad9721eb5a98"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700726204,445,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700184874,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"Bitcoin is not Ethereum","id":"99f759f1189bfd02be5e4da92621e434cd2108e04161f4ddaa36cb45afe18b74","sig":"40b5308fd553699b6c3d1434800db608a582fe88d346d3301d2746b8ba5a7fa369ca2f3af5183dd52c791503d43d4b57ce205a994ece80192368761426891e13"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700184874,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,true,false,false,true,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700421342,"kind":10002,"tags":[["t","nostr"]],"content":"plain text note","id":"c645ac931fb76db2e9f0619d6e55c14390dc9a0a032ac288bc089059867a8013","sig":"ea0839953195321348ff262fbe7d396f4892887d9fed7559b14c1571acd3b89dc899ed0db4098620d2ffe311098c2cae5a76988467b86a80ed365b213242078d"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700421342,10002,[[\"t\",\"nostr\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700253460,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700158545"],["r","https://example.com/9"],["-"]],"content":"bitcoin and lightning","id":"db9dcc87e92261067cbc76a0a1b10aaa1c2c3641469c3b5b72e9f07dac6195a9","sig":"4c508eb4a80d8ac40bc2058b50dc0ca793881ab221901193f71f53a4fe6b3c87f045bd77ee0a2a5e64b9730e797fd97ac430d8ed58eb343035c4f31b9a75544a"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700253460,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700158545\"],[\"r\",\"https://example.com/9\"],[\"-\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700647688,"kind":7,"tags":[],"content":"control \u0001 and \u001f characters","id":"e41f055cd6162f0406a0f1bbeecd01164091ea7216c545129ebdad017ffbd8ad","sig":"528f4f7e321c7e4ce17217875eeb94ab0427d0af59a00a4b7658b120471fdcb05e8f517d38934643b011039046fed2a48f42787ae0d2469cb3c3ecea6c267475"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700647688,7,[],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700801296,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"he said \"hello\"","id":"1958dc6d102b1b2dbe2f6010a217e75e3eaa3dd137a7ec88f7c91c51757d58b7","sig":"4f74334c22014818f663ecd5a7ba0304db7744d99aea4c84073720837470ef62e981e4428c05e3d3d5fa7f344c4b4ef7ca7a6b8e149636429e35475ac80fb8b4"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700801296,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700644416,"kind":3,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"]],"content":"Bitcoin is not Ethereum","id":"205d654b92ed4e6fe1e50c288d9f6222ca9d8a57219000d4db7b60f81c8f7494","sig":"04574d43b857c4e9d230d301576cabbd04678f91c706652b739f0675f2114c8f7ec0fa13eee2ef0e646a6ae2eeb90e19e26912422deeb24bdcec1b7b8dd84e9c"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700644416,3,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,true,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700218052,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"del  and line separator 
 inside","id":"80aed5c7b92487a2a57d451264a500acfa019f355df3fcdb26a8a16cc73b3fe8","sig":"4a63755cb1f3caa218d3509236811c591e6897d177e68e32e39237c97c9fe02fbac3fdc8f45e6c3c52c8b94340b81a8fd60b151bb10637c839c762d427b1f8dc"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700218052,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700740850,"kind":5,"tags":[],"content":"back\\slash","id":"2b464871f803055b2db00424632d7fffa6168cb21f3a8b84c8f694456dac454b","sig":"15ad933b5d8c3f718dac15236b2cec7d8f5b7d402b7e545154f1353eb5fdab6be1ae22c5cad660224d175d5220a56ba0bab7ddf4372e7baa0296e34a1fc77c97"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700740850,5,[],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700502079,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700125846"],["t","bitcoin"]],"content":"del  and line separator 
 inside","id":"486453c48b8deff99ef5d029f88c713cd67d18bff600c3e5c6563ff8ba39f9e2","sig":"abf5f1b3024b9d40fccff11714b40bb40384f433278cd03c9322802459bbd70211c477dd84b6df1327f58bfa4f32eb3ac81cbb9774591d4c7bc7302befc85350"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700502079,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700125846\"],[\"t\",\"bitcoin\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,true,false,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700517792,"kind":30023,"tags":[],"content":"back\\slash","id":"e2f2d9e8f2de7a360fd33d439787e81dcf623498a0a4322686fbd7986d53104e","sig":"d6585eb52dde531407d2c50b35763345a5c8fa4263c26acde350057c4af7b683f183573783832113e6f148ac48208f964ccd841403f0d5c346107d9e78d6d28d"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700517792,30023,[],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700145011,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"emoji šŸ˜€šŸš€","id":"a4cd9e3e6fb532dbc3b01a02182c2ff0e2477d5dfc3ec35a7c50b9d4063d07df","sig":"9fe0605a7d47b2ebbb0537cbf7de9cd19108d05e9fe2a0002c756f174a7dcc8f6dd8448a997b6096d95b89f1fecbd2af5a85934ebb52f2d9b3e27a64fd31635a"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700145011,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700166885,"kind":1111,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["d",""],["t","nostr"],["r","https://example.com/7"]],"content":"plain text note","id":"02fc4458883668c32a835688b3ee73f190f6f9cdf7bcd4c839ad22b8ca2f5fde","sig":"b81caa263711947e50d170e83af3a46257510e35724f97eaf5acd35aae6f118e7270a1eb34f65e888257321b136e17adefc872e54b55ef8729cf5905e89f9c34"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700166885,1111,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"d\",\"\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/7\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":6,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700380795,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"plain text note","id":"c5d484ad92ef570fbcb7a038d39629c50d8c8d94784470919266f57230cc9ec4","sig":"e6cb09fbf0434ed7ec95b2e1d7c28d0c83ed865bb2b1be0fc325e5f86ade46f3d1b56681bca830e96775453ec34c1f8da5eb70d6b6778f1e26289921f4fc5efa"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700380795,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700932733,"kind":20000,"tags":[],"content":"bitcoin and lightning","id":"d62f26acb58d2f995639883998062f6adc61e7f4588f3a997563dfd3d7adceb3","sig":"cdb3b0dbd2b3c718a5c621e6972b76d2840192b6e5c08255c447b7c1462184b2aa3b2d3329a95344b44425634fb155946ff32a5d49c0e0e48b3295cbfae8a20d"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700932733,20000,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700454939,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700237796"]],"content":"bitcoin and lightning","id":"5cd92849aaca830d52f26d4028d29fefb685208cf422addf506fca8bb4f26ca7","sig":"45071d62e791d62d4eaca18c867b21095fc6f3fcdac0c4cc509f96bad0163fbc5ddb2177ea81ab4fe19c46b30d27b83454542ecaf17ded973498b4f0cf576fab"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700454939,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700237796\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700497456,"kind":3,"tags":[["d","dtag-3"]],"content":"Bitcoin is not Ethereum","id":"feab29b7b210e2799a9d4abf7e57a5b10fb7778782769fd80b356a1a75d3e6e2","sig":"c72bd8444840940c194ee5a409b87765c4cdc345444076a7f8163bd62616ff1ef6e0c5748af2c6109f21f5ab4dce15375c15c7cfb4a0b359266abee5eab5dffb"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700497456,3,[[\"d\",\"dtag-3\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700025800,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","nostr"]],"content":"","id":"83e0e2460cd043120511de287d769b7eaeb72bdd79bd2a09af2c71b409118e9e","sig":"838a06013ec85505a0991c290ead21745538eae7c749077362734966686472e0985f9f25b50b447620f760fa5b61b9f1b715ee99b2d0c0883cf8068c8a05ef79"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700025800,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"nostr\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,true,false,false,true,false,false,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700122768,"kind":7,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"]],"content":"plain text note","id":"dfaf8f2bc7a2253cb60c952edc00e584512fb72482bab2df8e987ff30e4417ae","sig":"cbcece59a1556da094a8e445cd6cce50fb8f9338299e9c08f57e440239d730583c2af29d3d6a7b7b96ad75afe79b43b4d3375323c1bb395568e28ce39f9f09c0"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700122768,7,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700820350,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""]],"content":"back\\slash","id":"eee60d22df3206e636a05bc2a8b0b28178ea1d71db9673ce09adfff1d4cd715c","sig":"69d235b363e5cea7db81a7a48f03d82bb03280e6fd78a1ba078021dc107e9ba001a1ad3e8313073cd7ec173d2e06ace4c852f21880840a94c0306ae75349e187"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700820350,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700992511,"kind":1,"tags":[["-"]],"content":"del  and line separator 
 inside","id":"b98989a659c206702b49b6e316efb06fbb6bfe697696eb5078da218f8c8ab309","sig":"e4d0b95b1f9cae4dea5bba01b7f7115f91ab9ac934ba93c1148276c08dc04c94289cedc409115986fd446e79e63aaf62c595e5bbc5c9b02aac0820b71e29b615"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700992511,1,[[\"-\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700846193,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700250526"],["r","https://example.com/3"]],"content":"plain text note","id":"c8733d61bea29f9b31589b529dbf7d7ddbbf9f448b35dda64902d585aa6d2372","sig":"dc3483e22176e604a64c5397c933a03d6c4b1d5bc9822cb92adcb5db8acfe175665582dae3d66a1eff7fad07b211f0ff5c672b2f3b8db25fbe61d9c7af3984b6"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700846193,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700250526\"],[\"r\",\"https://example.com/3\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700848081,"kind":10002,"tags":[["t","nostr"]],"content":"","id":"122f81e47c5ffbd66cdcd6828d268172cd7111aa166c501e4cc8b1f40264385c","sig":"1009d6b196c158911448001483c5d78b161ecd866ede5b6ba0f4aa0388a93d543b287c70f8aa035c8ba83f5989006d6f96fd7f5a92d73c1e697cbb41b5c5af09"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700848081,10002,[[\"t\",\"nostr\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700624815,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"Bitcoin is not Ethereum","id":"4a240aa3897ab156e324efb32b0003e3d153bd426a64873da89b6a1d6912dffb","sig":"85a8529b239e9df456ef759e9ba625be75158df1084c5b37bcbb686e0102e0614aba2375f1dd4184f561349cc716ae13785d0a31c9345a00658652cc0133c8f0"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700624815,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700037332,"kind":1111,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"]],"content":"nostr relay engineering","id":"0b81e7e1e2c2ea51de3082e575a4c1c74bab89d67c410155725db0bc737ad2de","sig":"0233b887c493bd457abd060b384ec1fbd94609f5137a7195ee5bd3c61d309cef319f085c4c547ae85d0161b7609c0d0fb8e7d033ac0e747043b26a778d1231cd"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700037332,1111,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700474513,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"Bitcoin is not Ethereum","id":"0135b7c8cad3a7dee2f64b51acfb66b2ad81c7f73f7fa2b5dd982783f1890870","sig":"f83ded149190f98fd83f8d9b6105d8451368803012b83e930f6c41ff53a355bf87e0056db8d03469a62f010d276f95746c031b3c8df76682da38e7789bef3c98"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700474513,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":7,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700729688,"kind":444,"tags":[["d",""]],"content":"","id":"1cbf43f248dd14521f633671a6e615284539af1a223baa2f78959811301a60cf","sig":"3ed7c7e06fcd8c4337bf54b86f7ba86a4c973c9db0487b54783e48d1e2bac3c95c81aa2726eb71631dd69f96416fbb9e9409dbe59cf643ba8562aecc5bfc9197"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700729688,444,[[\"d\",\"\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700076099,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["d","dtag-2"],["expiration","1700294480"],["t","nostr"]],"content":"plain text note","id":"87147d37f5cbe8b01ce6720bddc6f061689178e314c7b7620b825181a7d408a7","sig":"a00288c95dda71166158d4900bbc249ee35c546f6073bac79cbecf07346355b0a50378301afff4111e42cef8a3d49552dfd75a0ab04d6b2a30f1aa774371366f"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700076099,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"dtag-2\"],[\"expiration\",\"1700294480\"],[\"t\",\"nostr\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700988254,"kind":0,"tags":[],"content":"back\\slash","id":"aab1e9c9c9bfdf0003328f390832edd598d8cb162898cfe32b2cfc172f3a2580","sig":"9990e346aa6354a431447d217afa9575a6b22f826306e0fbfbcc816e9cb7ea83779fac159b647e602052f787dc1883169c5e9f73661562987ba0fdc8c50c933f"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700988254,0,[],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700083009,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"control \u0001 and \u001f characters","id":"1fb72c39206222e9e1bbafd456a69aa6d5574ad6adfbd6f703c3534359427dbf","sig":"6614d91134b660dab9179e604b8b87158fcbf2dc912587be04e2a3d43be3c89c81f75502e73f933be80b935d9f9ae4ab959fa449cd8b10552360b03210469704"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700083009,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700269722,"kind":1,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["r","https://example.com/8"]],"content":"Bitcoin is not Ethereum","id":"da4d3d40ca1feadfb59e0350a2ca31169b9760185a744c1fc5062dbd76e0da97","sig":"08bbd5cd3cbd10e1cdf392034c0f0c2edd95413e298f8f83fc44d524fe30c01eccb40f80e8826c1ad5374a61166ecb1fe57d736c8c5fda83b6fcfca3857f39d2"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700269722,1,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"r\",\"https://example.com/8\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,true,false,false,true,false,false,false,false,true,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700367241,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"","id":"8b94fb047774e1afcdac38d231449242cba4a44fa669a1d14eee6d1f6f062f60","sig":"d749c57ec7fc8fe4ffed0943c51c74f7e45bae3edb136941d55c2f2f19058ce2db86e862a38ed3fca1dde08964c23e3ecb1f812dcc503c41407c7f891a6a3d81"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700367241,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700523716,"kind":7,"tags":[["t","nostr"]],"content":"back\\slash","id":"7305291ec511b9e106ffc88fb19ece25b6de2d8240b982189f3cc3732e62f7ed","sig":"f83dc38f42c10530f57a5af371234d421eed676bdb8426dd466bac349a1e7ae01e383f53f30c172062723a350de1c656a68c536d57db2db1baecf4a2f6d2792d"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700523716,7,[[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700672686,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700285500"]],"content":"nostr relay engineering","id":"37d1f82cfc6046d06282ec4425ba2de187bb0ff564321c146dd64e4f9be577a3","sig":"573fbef58bc1aaf0b38b45824c2b8706c3525ed202a6e9f1249ffab5328297663b74f822be25ac664e379336f774dadefb2f7ae15c7c4fdf80fdffb66ca620ee"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700672686,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700285500\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,true,true,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700945680,"kind":445,"tags":[],"content":"he said \"hello\"","id":"c88d7e27b33a3b3805a09aa6e0bf0db6988b1c3d0794b0fd4e9b3a9e21f44240","sig":"52ded0d5bb11ae8255e5bfe5a4acf4e01eef48e79bf950272a59623803d59f918cdc711c59504032ae8b00516e07adb03c54d9ce79d83934e5d57718169a808b"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700945680,445,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700446864,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","test"]],"content":"nostr relay engineering","id":"5e0289a449f660941ebb5934c9fe34d5375d4009b2adae26a0139a801f7a19a0","sig":"a522e78c404dfbc7c1d6b7daaac925eeb60b93d16719061773749dceba1a9cfab0dde688f09832ce8f0be7e720e4a08877e82a5deed3bc4c650743d4fafd3a69"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700446864,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"test\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700780533,"kind":13,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"]],"content":"plain text note","id":"07c9db51629a0b987510ee2c01cb07814efc03320d1155b2d047b82b3703aac2","sig":"c24dea9eb21dc36a0575cd9046e7a68534efbdb576b6f179b670102fd2cc7ff1a22625fb977865b42d109828b939ffaf923a3481ff6758550f45ad9fe87fca22"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700780533,13,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":5,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700999177,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"],["-"]],"content":"Bitcoin is not Ethereum","id":"454a1d45baa603487da000926e2b0e15b871ee5639f0fbdf81a532655f171b72","sig":"a031bbc31242caec8e9eca1f4a57f0f885d7e82921a5711521b6b622a7215eb6e5c2f2a8206a3d61d926ebbe03485d36bbb41e5814e7eb7f45ca92f594db4563"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700999177,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"],[\"-\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,true,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700590192,"kind":1059,"tags":[["d","dtag-1"]],"content":"emoji šŸ˜€šŸš€","id":"f134cc359ffea4f9ae60b644357aa776ac40c41187b09e260bab14c11d8c7ed6","sig":"30c2afa495b29eb69ecc298ef2ab9e4bca31b735b189fdafb5519d91eb4e23e4f77548310c4037667e406c086d715c298a962ce0e8a62effb71f6f6acdaf7551"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700590192,1059,[[\"d\",\"dtag-1\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700617729,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700171042"],["r","https://example.com/2"]],"content":"emoji šŸ˜€šŸš€","id":"359c039ecdc0ecc10d2d4ec5a2ec02815b778e22d173b4ce65fe4b7c5f6242c6","sig":"b444daa005f50b22346fa0bf6ec022f6768d662a89c950e4d2e5cd565f7a2b343d143cb325e4c98bbc83ed025b0888eb09fba25db509eea6453a3510dc36eb3a"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700617729,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700171042\"],[\"r\",\"https://example.com/2\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700643931,"kind":20000,"tags":[["d",""]],"content":"nostr relay engineering","id":"faa48c2484eca44789c21081742e9e04b4682ca4737b60c07579ee606b9057c6","sig":"ca53777588c1fd79bd45064ad86e96963978bd91db575d733659932e11fee6a2e190c7ae1afb91e9225f6a825e9d67793d67921aa7a3e98ac9126a7a0da4b6b3"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700643931,20000,[[\"d\",\"\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700544340,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"nostr relay engineering","id":"e8695bc47046c149c05b58e5521ef7b9904941d81482ff890aab36e3149a1771","sig":"2ae3b5708ba196ee45d4bf5f781b387a88f56905461c08f40aab4bfdf1a53564097f4fc55ffccbe31c387a91b9ceff93b1273a3c79f0b8aae885a8505b73390c"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700544340,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700130200,"kind":30023,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["t","nostr"]],"content":"del  and line separator 
 inside","id":"e36cec6ab5134973da367b263bd68a0e6e9af2c1ce9a4b375f7310aafd15e23e","sig":"2d67249dc831eeafc655732ac2f09dd7ebbaaa21161e23fa263c5c2c48c7c383cdc5fc3f0f1fb7895089d48ad8acb7f731a48064a99982509a51750c0275b855"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700130200,30023,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,false,true,false,false,true,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700284272,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"control \u0001 and \u001f characters","id":"93208a6f212ccaaacb7c1f8f375b6adc4d251971e3b19a90064e24c39fdf6383","sig":"adfbf5b50d26069107d6c6effa093aa71eaef7a9b4eebd7787662217937e440ae7607429f8c2c9b52c38c8f5ca7a7104da4b4d99ea4389c5b8c4cfb6aa894cc0"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700284272,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700821825,"kind":20000,"tags":[],"content":"he said \"hello\"","id":"2b1973d3a6ee40cb721690a2cba77f2589ae47472eb4d65796b7e0b19a87b0c5","sig":"89179cc3f2474e7330769a4847f9a816c076085be2cada9808f237c5aa2f39a96b1e92d5c9b0bfeb94c051475ae99f90b43fb0da26ff8615e8ecba0dc36b9a1e"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700821825,20000,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700774740,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700147994"]],"content":"he said \"hello\"","id":"45b1d92a518d1eff0fbcb78ec2e226ff586abe9ddd76ebc9ee839de0e1a22002","sig":"48f7004a01776a5ebf14d99c91bfed553971d44f4aae4174a3a596bfb664feeeec28e3ecb74a6b4515750e6a2c5c8c686d86a9268353af7c008769473c7d893c"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700774740,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700147994\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700201491,"kind":13,"tags":[],"content":"back\\slash","id":"63bbd396266e1a3b50e59f32c0fd0c022df9c5da36f24a01bee767ef8c373ce8","sig":"df91a39204bcdea1959d9efdd92e541f1c9abd84350ebf58f9fd796ab2dc4daab18c899934769cdb7151e0a11351c7d04387a6a2292d539196b463f713e38745"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700201491,13,[],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700196566,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["t","nostr"]],"content":"he said \"hello\"","id":"fe20b200d82609005792274a89e83ae8577e6d523b35b6d0ce6ce59607b3af70","sig":"c90dee84c8a02185ee59059287eb66442597838fd1c8f97c719d3d8cfbe46f9a7d82288da87459b8d0fb81568cbe51f641b4819919fed679f54d2b987e30a463"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700196566,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"t\",\"nostr\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,true,false,true,false,false,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700261510,"kind":1059,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["t","bitcoin"],["r","https://example.com/1"]],"content":"nostr relay engineering","id":"2bfe5824ca11d5f72549946a5172aa33b98d0a44f8baa3eef1f90d409dda6c0a","sig":"0d6949b4791f7a9eeb1975527081921c481348744e71c6d014ec959325a594e1aa73a82857655672637069cd66e62df3e68bb7282e97eb4ae4380f5dcc13d641"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700261510,1059,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"t\",\"bitcoin\"],[\"r\",\"https://example.com/1\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,true,true,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700449396,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-0"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"del  and line separator 
 inside","id":"6299b60252e00cf3ededce4135723d91b138ee2a07e81a147a28a67773e0696d","sig":"0287d31099a7fdc9b3006a52389c5690463b9fd37a0eb693fbaf4f27851e5358577c6e8243edffbd40fcbd534756b0248f16235d9b56b1724d85ca7ac1efa9d0"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700449396,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700561677,"kind":20000,"tags":[],"content":"plain text note","id":"769d700840ecb81e9dcea0ef26eb2e7a48279b5fa1063656bf54e7c14b9ac1fd","sig":"0fbbff8a0d5c6d7673ef49a34c8cd5a4d137c30c309c174bf42bb4da718c888888f4042646f4f6c8264e43d43ecc6fb79378e57653853179b356a6416fb83333"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700561677,20000,[],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700806639,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700177552"]],"content":"plain text note","id":"fed11746b28f9c11a1b100aff227c4329effbc5b1e6c60acb41779ede4d53254","sig":"76eacdfb8508e1092dc43252d2f1b28e0097ee663615ee635593efdedf9860091b5ef75ac59b56325acbe8db3d7912f28c60efb7a67a01f69de88edd825a542d"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700806639,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700177552\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700472243,"kind":1,"tags":[["t","nostr"]],"content":"control \u0001 and \u001f characters","id":"0aa92497fc7b7092137acd9da0f92611739ac762b66d66783426880013993347","sig":"5c6edb5d556fde299f2662195bb87de3e943bb239b60ae62e77409da43d883fe14d6e20b81da67a596c9dc1971b07930f377e4dec981ad880d359f20616b5079"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700472243,1,[[\"t\",\"nostr\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,true,true,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700328233,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"Bitcoin is not Ethereum","id":"41fb35296c65233a924b81cf048a061e2a7664fbc34fb251334ea0bf5773476b","sig":"797c0c2cce8157f3419dc105a15cd802b39788d9c4d937fef45cae84cefa1a65717c22d54d88d57f990cfe2fe827733e109c518d86e6055e76225995111413ac"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700328233,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700524278,"kind":1059,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["d",""],["-"]],"content":"plain text note","id":"24c9945b35f0eedb0e54d62000685c87d2418c7e19c424151ba795c788f5bd00","sig":"fb34a0d87e2eaa20f6781b36d7c487a1603324fdf3206c3f3f57d4170af0119f5c1fccac7efd00b8469ff239c084cf86c6ddd10a8f2e09e0c5bc447fd3806bd6"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700524278,1059,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"\"],[\"-\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,true,true,false,true,false,false,false,true,false,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700603030,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"bitcoin and lightning","id":"b799d1b48acf18cacffea26c928e99284fcdaa3f5dbb32c17224cf634f6ccab4","sig":"02b20eaf7801ba08f01dc3aa04514496e722a7aa9872f52ff4e7754649e3cacc33aa3fd19b539963dbf3272150b802313b04eb6692f8e361188c9fb096bb0657"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700603030,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700903196,"kind":1,"tags":[],"content":"del  and line separator 
 inside","id":"bc9805101dff97d9d8630e64f24f9915e1e1e31d2e3a11ae08d994ad94bb5d6a","sig":"5d1136a306bc7b250a06e997445b1fe7cb4ca4b5f39786fd4afa6facadd65b3f2a6d6dd956849e4239145db28c4214007d435eaac1ccd91b109f78468685dc0b"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700903196,1,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700264034,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700159701"],["t","nostr"],["r","https://example.com/2"]],"content":"back\\slash","id":"cbb1057bbf9aee36604ca5ba55d6b5100f3fa9c357bd6ae6787c80df935cea24","sig":"bcf148c9e1de701a4e0c276555eb4725626a471e97107b942f67aa683972eb9132bcb6ceae3811f8cd4e8239c927e7f7485618df7dc11d45cefd9a9aec703ae1"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700264034,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700159701\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/2\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,true,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700538064,"kind":20000,"tags":[],"content":"control \u0001 and \u001f characters","id":"ed10b8eb337921de9be3dfd8a58f85d620bbcc8f666fed39f8e2b8957eceb925","sig":"550e26d17bab29a360038a495d7ed7a804387aa43c2dc6538966b59760e5a7483eb2641e9081c012b1fd0a23250770d60be7693cd48205cbd1d6508508956d2d"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700538064,20000,[],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700336938,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"del  and line separator 
 inside","id":"ff5c382e6e9f6e9797bbdb9cfb54a91725d6f2a71167c1ead0e3c715c68dc5c9","sig":"6d8f7c4bc96ac866821436e8c552dd194452b56b8602b364447bc9ea61eefe14d62918b00f25d33ad1dc92a5bcdaaf2a2acca2886cc8797b10a8908c81b84d82"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700336938,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700346161,"kind":10002,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["d","dtag-3"]],"content":"bitcoin and lightning","id":"901ed14f443e1dd242381495d5e2620109a55d97a490183a874f7ccdb15d71c0","sig":"d02aa3fe68951aa1ee4caa185164bbcec96a2af6e340106146f6614434294b82dce14b66db26ab976917d0017a2a48bac11c564caaa512bd6dc5c17c7dc2d5d6"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700346161,10002,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"d\",\"dtag-3\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700576722,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","bitcoin"]],"content":"emoji šŸ˜€šŸš€","id":"2754801ad302aa475f83c8fbb6926e82b9663ef828dfb546428b83db3ceaa4b1","sig":"81fc0ce075be4b88823a2d95c462a7a458d061cc7999e61cedba79b49acdedf1c05168f77e175b4ac82db8c4bfab900256c2ac97124c0c1f8f5217dd7de3a4c0"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700576722,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"bitcoin\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700079081,"kind":445,"tags":[["t","nostr"]],"content":"he said \"hello\"","id":"021fc0a93aedac456569f31cab3cbf6b793e6eeb80f9319ba5513b6a89921f07","sig":"4bd52f1551604541c38532cc94f5b4f36f2f94b8673f928adae4c5db70d2ad662816a09b534be9b18f05c75741de285cb1b37d316e1b50379e6a2cd6752228f5"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700079081,445,[[\"t\",\"nostr\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":6,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700091200,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700144923"]],"content":"back\\slash","id":"82f85e914af6551df01ddd9fef263e323a7c8f45df846ca71b26ee3aaa2c22f8","sig":"905f3e3ac6f58ba2569a56260a021eb0d7ef23411feb56c2e48a6f9da7a1385c9141fe848edda939e802651501b74399ab4f4d4dd99ae64535356b0c4f2ff6fe"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700091200,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700144923\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700865992,"kind":1059,"tags":[],"content":"bitcoin and lightning","id":"d73660d79a141d1a8ff27d58a8ae9cc0a2ededeaa2f0039579d22eedab75cb43","sig":"5559839890fc603f48873e1b46f953c8e88c2c3d2f84c721a9209913320d16acd880504b90a9e80818a04ce1b66dd277adc45b49b14480e448dbcbd435039cc3"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700865992,1059,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700094320,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"del  and line separator 
 inside","id":"bfea620299ae924adb86c696a0b47d31894bc8979925cfb8e88adf0197e621b9","sig":"b300519e9221fcd26f65ccabb63072a02507d71bbf835929ad0f3c10ebaa5e45e0fb22645e1c08eb85086efe11937566a8b892bef68ab4ac82202ca08ea28eda"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700094320,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700507799,"kind":3,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["r","https://example.com/8"]],"content":"he said \"hello\"","id":"d50fb7660f701904ad9e2657e10c5adae4b4670066394a67c2bc01494e2fd9f7","sig":"a2f96194e9ffeb1f5b5e967be09c55cd2caaa0c60cb435d0ebd337432b445cbcfb648bc57c061d7766a34cdef8ef057f91765ea0ee4792bd07b32074c4abef74"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700507799,3,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"r\",\"https://example.com/8\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700686203,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"emoji šŸ˜€šŸš€","id":"b6f9b0be5d3df3f4d48cf0b166e61125770bc5ccd5dff4064cd095ce9498703f","sig":"31ff857c7e25588a8c0c0f2c86961da08e4c8848675a4365d140a0f04594f13c1cd7addf9af58f62ddab1aa6e45afb287a257d13937290b3675c71b981dd15c6"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700686203,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700121284,"kind":5,"tags":[["d",""]],"content":"plain text note","id":"64bf9fdf985a1f87f32896396c688c1e5cabe0d6adfbad4e92150d86277e3c32","sig":"b0da079fe1df3d58cf3418059d591d0d9e15e0b7985b93ea27258185ca034c1d18782844e2162b2f76d944827d563953de7d2ee52437495908aae9c93bb9d05a"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700121284,5,[[\"d\",\"\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700022469,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700205037"]],"content":"emoji šŸ˜€šŸš€","id":"66530c9ba267736eabe445d6bfe1b953e2fac718e1a9c397c68d32ac05374a27","sig":"7766d19bc1a6f6e33774e398a4a73ed8d5ab6bf105d7515f1524af7d596112b7a9d2ff4fe2b8fe9032e716724938d28e0b27efb36a5c70f67375edb6f83a4ea8"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700022469,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700205037\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700724264,"kind":20000,"tags":[],"content":"plain text note","id":"7ecba1ec1acbe04bce776501fdbc0c8b40a4f1d09f606f75ceb1abd793e3223b","sig":"133efd3b02b0d6c4f1ce95192426b5beb68708a275f61d629f841246df47f0ef910564426fde07a3b2e53dbb2a16a83e42df86b4f0f3e1d942310e96e751175f"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700724264,20000,[],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700076043,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-2"],["-"]],"content":"back\\slash","id":"612ea8f2c192fa628da00ae3653915075eef60ffe1ad47b77023930afe38bc3e","sig":"818eeef4dba5ed8f31b3df4eb838e48941a34dc4b41259db4fe04a99be4679f3fadc34619a53fe191dec95bd540baed0c057f456f9f595fa87a0c699b1702b20"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700076043,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-2\"],[\"-\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700561469,"kind":20000,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["t","nostr"]],"content":"control \u0001 and \u001f characters","id":"63ca7a4f9191a78139dd19dedb65bdca1e65f9fff7ca0f4ed1f50d251d3acf65","sig":"4eaa14d90eab5a5aa472a4bd7c732c1c731999d13cc989ae04be3a5c769fbb6efa05ddd8074bf3954a5bdcbbca5456e1bc2b33587663e3e79ff7aa6b52a18202"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700561469,20000,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"t\",\"nostr\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700410489,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"Bitcoin is not Ethereum","id":"1a193fc6a177b40af9342dec9a75ad59ebca1466de6458963e01b17c30120a1e","sig":"303c3bd5dabcfc6e80928a69e3417f3f655a6aecb911fd7725a4b1277406fe02687aff6ca06fa9f540ec844446f6af5605222e56c00e0aa57789c7d6832516b9"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700410489,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700297913,"kind":0,"tags":[["t","test"]],"content":"Bitcoin is not Ethereum","id":"508b5765535f6cb642da95a700c5d377e78238ddc5155bdf84810d65d5897624","sig":"50df9bd5e84499079cd65e666e057614d6008b18f987d7cbe6a9ff0e69d167f73fc8897aaa286b15afbd246b437155f42df556f05920fe1e7b3b5f3b1383918a"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700297913,0,[[\"t\",\"test\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700002719,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["d",""],["expiration","1700213366"],["r","https://example.com/2"]],"content":"plain text note","id":"aec9627cdbdb83488f42785098036d28796b9c687c397ace7ca983d86bcfd685","sig":"659630f64361d455dd903a3f499358f16d7a550a43a82f632f04fa3c42814744dd603db8ac80db2657ea8cfb3e48a4a78c450b8c6ced2b547948a7902e453749"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700002719,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"\"],[\"expiration\",\"1700213366\"],[\"r\",\"https://example.com/2\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700211256,"kind":62,"tags":[],"content":"plain text note","id":"aa2d795c2631f137b9a90f4e4debd74a909d96821001a33aa0e74bae18f70e3a","sig":"0dc16286f31f8482de44ba756223050762b07ed1af81f3166c098e038583d76f12a41a3f7274772e424e2ae16be262887d0d030d8fbed9124e8d0b592b6871eb"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700211256,62,[],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700573699,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"]],"content":"bitcoin and lightning","id":"784af2b98f6e520cd7ec92981321e2119414261e64a8debce11fce044fdc4f19","sig":"b02030581997b9130a92315dcc829acaefb3c78f2a0374f947cdc3ac8961c7e7f6ce68006f8bbc74d5c87eb0c50f31e22c556217863412e530419bc60bae6df7"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700573699,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,true,false,true,false,false,false,false,true,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700902248,"kind":3,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"]],"content":"nostr relay engineering","id":"c92c6636096e98946bcc3303e61ba3eeee849c4628f88cb9a8ac00b07f670d58","sig":"563d24a1dc4e3c2e6fe59ce527b36799fedf176e323233c4335cf49a3bd320485d7e98403074706b8a11b135a6f8f987efa29dd07952c27b40a8a6fe72dcb6fc"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700902248,3,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700908735,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"nostr relay engineering","id":"93abe9ad450ae69b1bdfced176a3153f3ff4fe821fbd8cdf02bad3355a9547ca","sig":"6dd8e49c3a1609df53671c11982b8587802e87acd63fde2ff684283d88afe4d5947ff276c386ea19bbc982be373226e4651b09b07dde7b6decdafd7b4f331529"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700908735,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700821986,"kind":5,"tags":[],"content":"he said \"hello\"","id":"81567ddbd7cc18cffac3817f791465c7366e45d56ec3c285527846c20400eb12","sig":"b14afd52cd55cb09f07b8992863b0dbca6aff5c0aeb87ba13a56ad955a804bc0987058efca1ef6d094f50bd9603596d847c32b24b0179475ff3209e01d01a68d"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700821986,5,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700738162,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700257716"]],"content":"plain text note","id":"2585349ef12dba872a0164371a3c4a8b5d4331be7b0b36d799c205c992ca1666","sig":"13558e2fd8b8b97ee4df7ecc9032cb262ed9f70c19bc47d332f52bb71ef79523fb1bfd85c7a35d20c8b65fe167c1a250fd35918f69de82906a73179379bf44c8"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700738162,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700257716\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,true,false,true,false,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700833478,"kind":14,"tags":[["d",""],["t","nostr"]],"content":"emoji šŸ˜€šŸš€","id":"3f59e2f82ad93f1f26a2c35138ef010a760d22933e2f6e288a0821c61b1686c6","sig":"27f2dee46c547a62b311616e9ab954f68a902d9549d1f7b0800fe19854e63f1a9bbd2be1392a800388d221c9b5ecca805d3095eb16cd341b12e3dca4bb60bb67"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700833478,14,[[\"d\",\"\"],[\"t\",\"nostr\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700961132,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"nostr relay engineering","id":"04e32654042de7737736f173240e4636227cee235f7f2d0a7b6db680cbca3e20","sig":"478ed1c0b38c6c2e724009e51f3a7780a941483f99a7a7000274ee18eaf11dac4f723dd2748deca867f9b51d323ea200e796395b48ab0ae0d4676944f4d15b89"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700961132,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":5,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700450958,"kind":1,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["r","https://example.com/5"]],"content":"nostr relay engineering","id":"8d91bf12654d2e7a7034f0bc8de7e365f48ce1d33e8ed549f4493ec69f55eae9","sig":"a43e2434adec906009347c946590688934dd463e547b0cc7ab4f78e40a28923274a77e3d5600f3cd5d2b053a324fa329335ff1261fb1823fe2cb4856be9dfc7f"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700450958,1,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"r\",\"https://example.com/5\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700036250,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"nostr relay engineering","id":"562a1a8cb820dee1d0df2e821a5ac49b5f6c562979b47617f7114a9c369df03e","sig":"18d517a3ef74e7df96a900a1604d9f3e96a0d10d583c9a447fe906361e97caebf7f50ad4b4090e4b2b6c963411d115bb6203440ddbc598bf7723108d091f2323"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700036250,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700491131,"kind":62,"tags":[],"content":"nostr relay engineering","id":"d6694d751734d24671e13e15284b4b41179f260204e679cf382b7cc533669b66","sig":"4ef74a1ec48052fa2f98891e4b97633e24e00eb35eaf616577d06f6057b602f4ab6ab654617ad954d3baeaa3e4fc5a18dec3469c8af907d8b761e4df4080db38"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700491131,62,[],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700681857,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700166803"],["t","nostr"]],"content":"control \u0001 and \u001f characters","id":"21a7530d2fae57eeb463793877a5173f81d45dfd5f05bf009a7aad8798cca4c8","sig":"46827d19b8d34f4a4a64fec86d37799ff403a0cf254d7a892bd00af4aeea9e2c68fef8bf1da2ab618e86ac58d9d2cdd7a1870dfcfdd53d0aea1ac92badb8ba8c"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700681857,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700166803\"],[\"t\",\"nostr\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700888183,"kind":13,"tags":[["-"]],"content":"bitcoin and lightning","id":"c37ad7b8aa2cbbee1ad8651d81e4064b085282afea6985b11dd014f2c47e9b8f","sig":"001930f78d6e46223b1b40116ec17c9e94759268559dbc1748e43bf86d34a3a20e4e51b8580e5e26b08eeec52cafa9d2745f9a7cecf8dfb2b9512d6fa1755ae1"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700888183,13,[[\"-\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700126043,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"Bitcoin is not Ethereum","id":"d284b28ba09a119772eb18fedd0b91c1bc13d6da9ebc1bbd70c8ca1ee669ef20","sig":"f6693c35bbe8ff1ed844e1d6f2c49d26b201bdcce87f4fb941f5b3931ba963ca2eb75355f7e7fa77eb20a5fbc782b9d866fd01206d9c554abae99cb5e3182473"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700126043,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,true,true,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700280801,"kind":444,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"]],"content":"plain text note","id":"2bc83c7ca8d7e7d15062ace9b532a1df0f381caa54248dacb5afc22b85d84a53","sig":"c7dda77db023990cc677782496170109348444aa7c4c421a044265d64521e32970843c40b5391077dffa14a36f836d9f28d4868af217f4da1deae769635440a1"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700280801,444,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,true,false,false,true,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700173460,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"back\\slash","id":"94ee5c0a58d6361364d23193cdcd6a93a96f2620ecaa8c644d7ccaf94fa73a69","sig":"e6ca423ba97f25c088d5ff5e4872b8a3fceac85c5b5a458219735d7045bc2254f30ffe0ab4092d0f9b5c561523b24e4ba8ed807db2eea18408a9bd917e697307"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700173460,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700963209,"kind":31989,"tags":[["t","nostr"]],"content":"bitcoin and lightning","id":"3c37da952ffdfae4313467bbf98cb52df0746e2e6a4b885c02841053d5fd0efa","sig":"e5c00ababec1cf60ddb6ca0d496f94ebe922814fd54feb766cce8b28d12ab53bdd800638a984508a86930a7098efddda9c7542ae05e7bdb43185ab1b49715176"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700963209,31989,[[\"t\",\"nostr\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700231495,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["d","dtag-0"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700171102"],["r","https://example.com/0"]],"content":"back\\slash","id":"83724c829d2b551ebe537b9e797696b64c1aaad80038691849054f90ad8ea8d6","sig":"019fcebaf74e9294f1a4c5a952248fff5db9c822012331831ba3cff7a2ef4ece56e148b16e9e282699f8c92abfd7507b14b73aa2124873322c6ba0a9168ec8cd"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700231495,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700171102\"],[\"r\",\"https://example.com/0\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700778432,"kind":443,"tags":[],"content":"he said \"hello\"","id":"f99ce7d57f789e64f80e7282885871d96e6797368674058219f0ff8757352bf7","sig":"4726f86203de0cf32b639a7f9446a3ee29706b1396fb4e420b62b1a76922b5d58c91fb196d31ad0b842f433f8e00c81c3f1970de5f6e5f73f4169aab39047707"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700778432,443,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700132545,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"emoji šŸ˜€šŸš€","id":"5357e2067c2f1ea0b655591248d662a91bc3e48a895f44a3154afb213bf289fc","sig":"8f09f12ad692c7524b74c4e21abe855000dd0c11d626ea63b1c62c95a4892edb80d220e71389020a9d9076d7e74a9577186736a1d7d337d1d5bcc98b0be1b0b4"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700132545,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700035632,"kind":0,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["d",""]],"content":"nostr relay engineering","id":"53365c2815d1e68820a2dad56dd38c751d4490029630a35963c5faa1d436f7da","sig":"96ddd226c2b600d7f1b225690c751fa353f7e853c308bb685c5c7a4d1721624456e6c35f9323b40f065d8e355d85ffe06d1152c8f02020224bb94ca211e43176"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700035632,0,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"d\",\"\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700688972,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","nostr"]],"content":"bitcoin and lightning","id":"f082c2f655a7a5a63e83a3bd5068d1b37d1f956d559f957f18f17fbc575933b4","sig":"e8d5d36269e484b00f9021a0afc1b17222cc4208c91986c3d7fa35eebe57e535bae0654c7c7bf3a74d74ef136883ef4455a223681e1767b9127bc4a33d360553"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700688972,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"nostr\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,true,false,false,true,false,true,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700491768,"kind":1059,"tags":[],"content":"nostr relay engineering","id":"d1a9110f4e5b06f760aa25b627063ad03d89e16babb211215229db3a0381f17c","sig":"da3d4c7fbec50a117dad755184c571ea69556c3c67d898a2793092170fcf60847520c5550fa3b8a07e9c9191af2befa35193b6b26cd02f7000f42bc78a227187"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700491768,1059,[],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700976234,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700132159"]],"content":"he said \"hello\"","id":"259269fa611dfa0d7a892fd0acabbe6346c453ac3b79eed46fe7b16c1896f54e","sig":"3ad07fd6d8ec6873f7f9597d356eed42c7423b59c0463abaccc04343c67e4b28cf78092d3ea65e0f537ca4ea39a87c7f142203c987ee3a03925a0d0d07c65ce0"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700976234,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700132159\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700366622,"kind":13,"tags":[["t","test"]],"content":"Bitcoin is not Ethereum","id":"0645fe42367684c6fe5b2d35267c7eb2e1e1443f1c9cb2cc0c5428bc2da47cd2","sig":"7c898642bc114d7141c3f9da40ddb8e295585b33378165ec42e4c1c42c35972e58faa937ffc952ee1e4d9edeaf3462fc33f3ed15cae2cf47ec5ebaf8678617df"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700366622,13,[[\"t\",\"test\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":5,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700405409,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"bitcoin and lightning","id":"16060bb60ef954d972b97f86c9d6381772c96825f812015c2a28053554527ce1","sig":"30df3fe80397606a055da4901657547c9943ca846c9a51d5a3a47cb9c126c7499c0635f2f6cc8b4cd6cf402728e5c89e4fcd60e29acef565c3b790dcea12e059"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700405409,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700484969,"kind":444,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["t","nostr"],["r","https://example.com/7"]],"content":"control \u0001 and \u001f characters","id":"414009708bdc3a5affa6ecb5a9f535be7f062b6f0a03a1f88f2d74392036aa3a","sig":"f2831582b7e280616bd4f38bb9fa60e41e842223b06dcac852668f5bc84b1a42c8c7de81d92a3ae12c50f94aa533b10ef924a7cd4773bbf4ccd6e530dd1ce67c"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700484969,444,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/7\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,false,true,false,false,false,false,true,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700324312,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""]],"content":"back\\slash","id":"104d719d711e6c5248e91bdbab4fdac6d10422e1623adc16df00d685e142ef01","sig":"7cba07da1a9a71f0f21f00ee5d5ddc2a4f921132d0e80d776af8d0e365ffb0c2ac33dd345d10e461134b50b70adbe9d617f0ca31432ab09997d7af68a3c070cd"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700324312,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,true,false,false,true,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700867952,"kind":10002,"tags":[["d","dtag-3"]],"content":"Bitcoin is not Ethereum","id":"74e8e48cbc641d158ef911f3aa95627f19208d6aab41acb3017ed6fd194e0cbf","sig":"f1aa378bf6c7b2b13a862e20e8fd6c9f7f7eb2a4e4c7c7a01684256d4ecf475e3863c7bf68daff25bf86820b458b921f4de9fac0905beee729eef7c05b3d7567"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700867952,10002,[[\"d\",\"dtag-3\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700159242,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700162812"],["-"]],"content":"bitcoin and lightning","id":"e0b7cf828e5f55e5f0bbbeb20bb73a4d54f0e994629ff6c5831617573420b37b","sig":"a373ae2f7fbc5e886a8cdf1c85a0d4aa4a123b2a075caf8df73f64c1930c31bf1469eb9524c11099c48976255cb6761b24068dc2f97f3221aef79ce3ba6af797"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700159242,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700162812\"],[\"-\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,true,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700909166,"kind":1111,"tags":[],"content":"emoji šŸ˜€šŸš€","id":"da31f138cb14f18cf35d67cf0ec44c2465d2aa3bd9093ae5b615b83b146feee3","sig":"f94e53e2ba4606654adf34fd15f75b24e524615bd071e205b64c644ca1391aa59008815acc0a86b26a60488d3932b5534aea2bb2e793ac333df3bcefc0d03707"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700909166,1111,[],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700195914,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"bitcoin and lightning","id":"725097d1e50d00593477961e9bbc590a26ed732bd4e0052b2425cb0ab9fe2e25","sig":"201bacb887c3ad571a72449e33fa324d0fa4340b7a457a3984648cf3eda68e53ee26762828235855058b51fc718500a0e17145d25cd257978d1865fb5ef5ef3b"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700195914,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700674021,"kind":0,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"]],"content":"del  and line separator 
 inside","id":"842194c325b09e455dda28f302f74ee9a7073dc25062b7135797d775ea2f4312","sig":"fb54ae7111a44e3896fbe7630e80e61d2b2719277f98fb66c252220c101a1a5087856d6a4d372d36904bba3c0d697988078120967672850beb2ffd27be9e71c2"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700674021,0,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700760454,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"control \u0001 and \u001f characters","id":"c10617a7fbef2090ab0e3d0c42c74c8236109c90fa3e55f5636ff3289e58153d","sig":"d358a573ce998f0dbc0e39006ba6ff3aad0ef5af92a7a52b7992c9afb5d636f266a15f7284582c4b5718268fcba51f702c3816028d01356150223d02f8dbe313"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700760454,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700289931,"kind":31989,"tags":[["d",""]],"content":"bitcoin and lightning","id":"71ab243faddc37d3946a629067508a1ff72732f6cbe84c1666c4bacf1e6868ef","sig":"53cae924f17ed3e5e410f9f9dab8434f2a089230398e774172fbf8503e8b917504135c4dffac41f04ce39c178af62a71d23e273fc9c1a02ce87743653fc11798"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700289931,31989,[[\"d\",\"\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700200283,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700288613"],["r","https://example.com/5"]],"content":"nostr relay engineering","id":"48ee188fd3493332426f119deb7bd9ec3322f5ace8448182aace7271ac4cc17c","sig":"70509427b4ae2a68729f258820b2399f5c041fcec59b1e93ad7bf28f5d8649d6c28f1041cf8109ca87851f82bfda4b7b10535c743ce21c8acee409da3590de02"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700200283,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700288613\"],[\"r\",\"https://example.com/5\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700671288,"kind":1059,"tags":[["t","nostr"]],"content":"he said \"hello\"","id":"7cf645770dfa2e0560f63f3fd7395a25ad899103c7a4d33749aefa5617cd71f4","sig":"de881eef171670dd5785f4f171866ec991bb70ecdfdaa5ca5779e434bd9bf53e33786700c8a0023100abaf472ac9f235b090410d6a76546cec88dcf534de7361"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700671288,1059,[[\"t\",\"nostr\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700588303,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","test"]],"content":"control \u0001 and \u001f characters","id":"ba91f48c8e2d68098945adeeae7123faf55f1231a0ccfd2e7e28acc9f6fe07b8","sig":"6ad9b6b438337b26ba5f90c8c6f61dc11aea495227f77c63594aba500176ffbc013d2c8f99644d24207ce5cb16118d0c3a82617e007b1c3fa0e85520da167032"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700588303,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"test\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700718370,"kind":62,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"]],"content":"del  and line separator 
 inside","id":"0fa2982fbb6759a7d5514e3cb0878e165c7267d10d0b5d300efc01b14f54e4e3","sig":"cc1e9b57f839442eee0243257e60e9f8ec06154340ad513496f24b92ab7bd4839fc062f89c1ed0e44cb864e0045733fde13018952b00773295653915abf85d04"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700718370,62,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,false,false,false,false,true,false,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700406459,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-2"]],"content":"emoji šŸ˜€šŸš€","id":"7db12201ab82cee2f4b6edd49a49a7811ccfa65fb1b111f9107d08be34338f32","sig":"3a2f74bcb4e49b2cc28c4672e77f9d2fbecd0bbb78096dc0ed65d4076d819a16d5dda471a912bfcbe9525f9d97c953da0c8fc61b2f12f0935296d3bcc4b1a9f3"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700406459,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-2\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700911054,"kind":1059,"tags":[],"content":"bitcoin and lightning","id":"28ab524c88596bbe331cec43dec0fea57cbd369e490a40a7a171d573ffa0de29","sig":"fe9a8dcf64f4089990df410eaf8d6e1f3577137b378a845a924d2624cfed9a72dbc7fc81ee57dd581ffd24693f7faa66673b2512c978245c81978eab84ea2d9b"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700911054,1059,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700246689,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["d",""],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700143095"],["t","nostr"]],"content":"nostr relay engineering","id":"62f47417991378029268f313c05465d2a793f3fc67c4dd7661e109a2f2744388","sig":"490701ac2e79afebcb88f67e8ebed4bd8e14c787c7fff58c12e3defc69a99336de9c1ada0a0c6b87df5fa351d40810c8e5ee037163fbd1b7999971a7605e3db1"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700246689,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"d\",\"\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700143095\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,true,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700367178,"kind":1111,"tags":[],"content":"","id":"ce597581be87d25169017082cec124e3da85e58376e8dd0241cfd5c9c94def29","sig":"750209ba3fba2c505c069abc2312fa74181acf383d2485539a2e14ca7d38600a60243f0e56f322919deecf04996c091493d96e9c08c68058ac0cb7e195e4a240"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700367178,1111,[],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700874201,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"nostr relay engineering","id":"8a6138a4422b54ef4f8bde6ed358ed9bc5747875b0e904e9418e83528e1caefe","sig":"7dff9e8b4a4a43ea7992b8711eaf84947cae57a91bf24f414240f766c9938f0ed06e579b24465504850d9d10899cd4438bb58bda5667640daa9b1be523829aa0"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700874201,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700726750,"kind":14,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["r","https://example.com/3"]],"content":"emoji šŸ˜€šŸš€","id":"4f1565d9febf91c262de03b43678caf0546bb19e0b964acb065d73fe5dc64ff7","sig":"4b0013a9522820a86256d42393803eb4a372e97fdc45d8a3cbe303f187ea740c3d794a26bc1f6097b45168a210ebeecf310f252711b86dd94d5bc9a47858940f"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700726750,14,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"r\",\"https://example.com/3\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700102210,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"bitcoin and lightning","id":"2d0c175d4cab43613d0ad4571a9d39aa72e4a3655875775796984daf23d39fd7","sig":"70debc25865883f5617cd82a6c7ce206b94d0a8e6822ea2f90b893cdf3ec3213b1fef194d7da09ec3722840a00e4c34ad8f99b784b481ce677fe0977bf76b857"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700102210,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700124778,"kind":1111,"tags":[["t","nostr"],["-"]],"content":"nostr relay engineering","id":"2a3ad57d5d429314d7c3dda9b5b56208020cfdfa49af42b8ede384a4b6c222ca","sig":"e3cd3e7b67297cdfdf11238f8d449c33b92cec5b44a4b9ab78ad9e64f21db0c5b2533adc3d62490a9bd2a4ce94fd785e517cd7fb811569327d206c678686130b"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700124778,1111,[[\"t\",\"nostr\"],[\"-\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700406445,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700222584"]],"content":"","id":"51317301f3e9d4157f1eded2fa07fe0bf0c682843a029bc509521c7c303ffdd1","sig":"5e0669232d7da55c0e63d7368b7d5044ae2954f3830aa27a2fdd32c619e48c53aeaa541e65e366b40968cb4ba4210584a272410d34885eb22377b795a433d986"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700406445,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700222584\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700336379,"kind":7,"tags":[["d",""]],"content":"","id":"609ea18dca9ac5100df0c63b93d44bf7fbb60c0218db7b6125381fd4a7d2a149","sig":"1ade72264c3167dcaba7917d9ad18bc7582bf4f510dbeb532a8a462791c37b988e0ae67586d89f43e948626c161f1ed2c116de80886ef89b063d5f6111d16630"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700336379,7,[[\"d\",\"\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700520833,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"he said \"hello\"","id":"323fbf4ad2c708697079ce0b19ba821a235477a44a7cfef23cae04474ecb025e","sig":"3a8232e9cfed048682cf85a7d4a6dfe36160322fcabcc267eae658476acfb267becdc1a0f532f57f9c7176ad6288ef5779b484946eff0e8e37fb1836cc339daa"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700520833,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700653726,"kind":0,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["d","dtag-1"],["t","bitcoin"]],"content":"nostr relay engineering","id":"a9125cf6f8ff3cd7af9d545453eb9e6b9a853eb7394f23fece6ce0f4ed788b99","sig":"9de1f7443f452d8b6e44f9c7382e91c4519799913357439ee262df69e5265903990c4f2b089018ce46bee26a063f284080ba4fe9fd7a589ad3f9e60dd5734b3e"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700653726,0,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"dtag-1\"],[\"t\",\"bitcoin\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700418216,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"he said \"hello\"","id":"ff55c1e657add0157c58f4aa44a9474d7ee6fd953f22e9518cfb9c146f2108b9","sig":"0b4420ccb137b43c2e2aefea29e9d703373c6075c9de95f7d09e7eebff888075bb886980fb8896aa0556c01ee6ce4d76dbea17e0bcc41f4799cd97dbc8a73c26"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700418216,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700430349,"kind":1059,"tags":[],"content":"he said \"hello\"","id":"ddbb21e40745b648c2c67fda1c4d9167373c85759908693d77505df84523e558","sig":"e8fe7ee51edb1ff5bc26de05c8b9e1cbccd51dcb1a1ab181429ff209f30de3db7773d904fc066274ecbe7176cfbf4b1d8a29eefccff3cbcd0d25b91343ca1919"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700430349,1059,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700391822,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700253920"],["r","https://example.com/5"]],"content":"emoji šŸ˜€šŸš€","id":"9a184230243cc883481d265ff83c673926c8742775e56a2056cf8963b9139bbb","sig":"ad6f923304310322b1c38b02fbbbb766c79786dcfd7c1a36c04b5a29c410af2e9be148815a78b51a4c05ce96d569f6497e6a3beaa8caa7f8042832fdfd9e6fa4"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700391822,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700253920\"],[\"r\",\"https://example.com/5\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700271481,"kind":10002,"tags":[],"content":"del  and line separator 
 inside","id":"07a4727e772e0a5d9b214f6974ec72ec68006c906dda3e24a903deb06573e1eb","sig":"d14b87fe97656dc10a7d756ea0427d129467ece48af6f00ad9bf9b10afa3596414a022f977943257e2ed0d1bd69849ba36538da062f79e1f25b5622e0e84133c"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700271481,10002,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":5,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700676683,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""]],"content":"he said \"hello\"","id":"958c788e2930c4365ec92be60492d9e4a98f60f1e38ed387e42e2136159ddc76","sig":"97f9803b91d4ccda49ca346e1a1209313a3f7df6b3fd2d9c0190052dd9ac148c37707b842ea584305f2eca47242c6526f27e759d18a5d2d052616d638a99623a"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700676683,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700095885,"kind":443,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["t","nostr"]],"content":"emoji šŸ˜€šŸš€","id":"3ed2b1da4d67763c80a7257a535ec7d795fd6a4302987a7b51ec92bcfd7061fa","sig":"a6339de39b1f7e040e70720aa4ae430f1eb39b8d76d22aa60a427f7c026c1acdd3d4f309bc82b35c9a61ed76dea9218e062c5f28782efd16af6aa96c817d79c9"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700095885,443,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"t\",\"nostr\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700686218,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"emoji šŸ˜€šŸš€","id":"17553a7303b66f2f5ff53bffac0927eb4bd8dbb3ad813373fa2232f551c50392","sig":"d887e2093ff308f4c2f2449bfe9ce145c43347a49edb72b0f8bc12596374fdfadb7e2dc557423f2f5c96d304326479d17e6a9b619abdd1474f87c085b82ac6db"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700686218,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700174958,"kind":31989,"tags":[],"content":"back\\slash","id":"118cc11525525a1c59e27f36790e77a95d77ff1a87a5c00a91f521513f410fcc","sig":"58dd512519078b841129d59e15e1fc735dedd371ea8ac55db59486837f765f4eb8a6583c8346890c5489a75aeb4627f67cf02b82e8bc1697220bdc08fb099cdb"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700174958,31989,[],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700403271,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700243116"]],"content":"Bitcoin is not Ethereum","id":"5af141aa30d549d0d0758c0a8099d314e8d516c8ef369703d6c275aac4850b60","sig":"4382c59b2b27a81f13b29c1635f8d7a75c0f6a07f9872561d930c5c6015221da3adb129ac9edc7f4eb8a5e9ebb0597c54afd0031e65df47670281f04097558a6"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700403271,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700243116\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700738882,"kind":15,"tags":[],"content":"nostr relay engineering","id":"2362fa872e51973b1d15dffddc53ae46334d741c14b060ab58d001604ccaeff8","sig":"5282b0192958c3044ed333fab822c27ad7345e3b1edda6d135733bde0d9f109e0c1bd7480647da20fbd04c3463550ec4d4f0392219b5b3620c637150234fa55b"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700738882,15,[],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700417549,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-0"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","nostr"]],"content":"back\\slash","id":"0420afc0dfc4ab7e7f82b1c0b79c7bf24c96bd1d0ea1147836c452745a9fe32a","sig":"4cc409526fcf45f40341a9b75ccca74581d3f7e379050dcbeb8de5610f9898d3a3a7cd7c193eb6511ea7f834b046a03482a01a983bdf1da5e6b58e290d2dde4a"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700417549,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":5,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700083399,"kind":1111,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["d",""],["r","https://example.com/3"]],"content":"del  and line separator 
 inside","id":"f1d56ac5e0cbf62c32aaf5acefeeb49c98db36bb3a302f0f58e62627b36e13c1","sig":"fa7cd089533392a1e1a4b354ced15b0e4813e1c18d931c1b607f4ba74f842da9050a425f3a2dcf2f035b0f38ed4e40c639efe6e328d3c1453a800ca3b6147211"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700083399,1111,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"\"],[\"r\",\"https://example.com/3\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,true,true,false,true,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700496202,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","bitcoin"],["-"]],"content":"emoji šŸ˜€šŸš€","id":"82f532ff22194317aac98f43e69dce86e65887fa0f6e3a4f9a66999310d965c5","sig":"4dfe68183792fac03bb9b8edaae2cb8f5f3f95aaf268fb4aa52d663ccf9955a1b72c9fbfea3e2a84c615cc2a65422bbb07ad7328e326b141a644d436d0b2c9a8"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700496202,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"bitcoin\"],[\"-\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700689609,"kind":1111,"tags":[],"content":"bitcoin and lightning","id":"0c58451b162ae40e136779c3617d53cf83978059813c1c89b4c41a844b3f4550","sig":"cc6f2c1cc490bd04c2d0954c2f8cd44876a9355283d25e1beb1b7653843d99865297c75f1e70e321fe9e22974fd5061783c587a861f8aacc7529ec1f9b06b8d9"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700689609,1111,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700965198,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700119231"]],"content":"Bitcoin is not Ethereum","id":"8dbd50bd2eeb4a28eafc3ff0f18f267e64bb214e2d3a3c16764db956b1aecb5e","sig":"c6db6bb0eae52260b3bd4e260aa3e2c9c438ecec465864a903d9a989edac52ee7eb852c36afc468115fc7a100e99be3d254665acb99deaa12b189471311da47b"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700965198,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700119231\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,true,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700800003,"kind":10002,"tags":[["t","nostr"]],"content":"del  and line separator 
 inside","id":"3711ad592bb1fe0d4d9d667e2046e5fc2d78de90fd31edaaf680783224ff5185","sig":"4a7aaeed05bb1ccbc3e796db5a55a23dc742a64505876461f38f4235429b9589cb4573c9f08919b5226d70d3bec8277ca39f98e9ed0c05d94d07f01d6c575ca4"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700800003,10002,[[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700675385,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"nostr relay engineering","id":"87e6f41d721796c4ff1be80204c4b9b1846c32c2f4ccbe3068201841185881e6","sig":"21fe594493d2a3a31d0370ec78af806aad86736f677983b0bea69653f1a72daf326aa7ba7f30f227c65ff0f008e96fca03fa66616fd9f7c5fc7a6a1d636d9959"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700675385,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700804402,"kind":445,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"]],"content":"plain text note","id":"9d931f6002a1fecdf77cc868de53a6d34d316b5b4a61b7a642b01478265a8112","sig":"7241835a23b7996c5c1b06b72990225a96f8b6ae14b155431a8d416ed4ff496308c5c681455ad6ee4eef66c6efa20c8bbfbd1bf9eb29697c773d17398955de69"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700804402,445,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700950750,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"back\\slash","id":"55baad85271e53075bf1236280c48ecc7f7c973c367194d307ddae6f40e4b286","sig":"422eef259bf498e5396b982da58f80238001ed6d4acee251daf6e100512a77d8fffc17a4ede0bec4de390545d9aa83a02aae7dcbfda58da1425859e77d71aded"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700950750,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,true,true,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700454671,"kind":1059,"tags":[],"content":"back\\slash","id":"74a20a77b6ec3c4a8d9f1c0e97831d1337b91dd662072803cc3efc3ce7680de3","sig":"957f1687c2c601a64531171a6b3b0688a2b81a7601cb06717adfe941ba8c689fb8466b1a03dacc7384caf05a19bd8f7b7feab869e6ff7c16e960ced85fb2df8e"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700454671,1059,[],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700907539,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700218601"],["t","nostr"],["r","https://example.com/4"]],"content":"nostr relay engineering","id":"2a1605d8f80f870d4496eae9bda0f4fa7cc3bfaba28325b926f288022247cf80","sig":"16059d8415c2f88ad70d57fde8622aa42336c871e57dcc7f095f0fc30116e79154d22c1735ba24c6ad7aa4674e5d654f7e79e80c1c6d745daa8b29989e3f706c"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700907539,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700218601\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/4\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700099612,"kind":13,"tags":[["d","dtag-3"]],"content":"emoji šŸ˜€šŸš€","id":"5cbcb7d7eb2e8e69ee920c7ce1bf0028a4bce0c1ae866c086401e63a8a78a8bc","sig":"efa48fc9d8982f7275b9abc05252e4eebdbe5070ec83a71c8904cdd73b8914526e757d28a05ff087be832b0c47a2eb72567718ece21d805544cd55d10bd52936"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700099612,13,[[\"d\",\"dtag-3\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700471822,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"nostr relay engineering","id":"bea1c00a59c671c3f1a0811a194b1a58dbb6b4ac383f15617fd64ff2ff3bf130","sig":"f85572767daf0feb6d4f7ab61e7e8305978e99b8d7b3362d10092b76c8d61ed88dbc2fb71d1584b62da780b2ac1fce642ff003e49a9be2fb651c67cad864a27b"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700471822,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700737879,"kind":5,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"]],"content":"emoji šŸ˜€šŸš€","id":"5bb7facdd0fac1f16bd85fa98e067333814366e7658eaef325a3ce97f0667289","sig":"2ac3475860bc2575290c4609428bfc9a3bdf34a11b1bea2fd34322ad2d1dd09af76305d2c6b298b4542ed3285a12e7384e3f664b2f8a75036a5b680c882a07f3"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700737879,5,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700582135,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"","id":"0cc9a5e17daaf0731655d08c981e5c22b701dffdf10db6cf45639a066525c5a7","sig":"a7745f1767bb238a94fcf0db662a0a2156c2f99bd0ca84e1d2f3fa47672ec5f275e3fc8e03d8b9a1525f23811c0ddb384f4ea3b684319e3c86ba4fdfbf8148ed"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700582135,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700864567,"kind":1059,"tags":[["d",""],["t","nostr"]],"content":"Bitcoin is not Ethereum","id":"b1f84e4f97736ff43ae45beadc69fb54d6f290e67b87e3db8c825d02aec30c7e","sig":"c765b3f40a5a1f4c7271c01261002ea5affcf24c9c762785d61f4b1cc2657db2c96564066fe41bca208a200bcabfdb76e877242390cec0b0f4f15034f726e2a4"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700864567,1059,[[\"d\",\"\"],[\"t\",\"nostr\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,false,false,true,false,false,true,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700967652,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700160072"]],"content":"plain text note","id":"2577d24aad2b1710c099c240d391310f91df3f9b66328b750cc3a1ad1c788e8b","sig":"a1323c6b4eb06bb6b3f0cc448335f59ab4a8ce2f407ea66d9fc74799ef68c4a79f3a55887db39f3159e7b923fb5e948e66f8b3439555c2353c8edeb936c95c5a"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700967652,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700160072\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700902003,"kind":15,"tags":[],"content":"plain text note","id":"70a2d7eafda2acc4df8074e7532eac4d5b73a8fd88688f44354913dd17c3c6d6","sig":"68990594f89193b1aef723aa939fbc016d20708a580628d4110b02418401b8540d48d28b2bb8865726d4808d58a658777aaf4c49cb7eb21dc87a3b3658eabca2"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700902003,15,[],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700484470,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"he said \"hello\"","id":"a676e77f248d383a71daf694a1a7b6e5d512a088ba726172fa6f0276e75f3001","sig":"be3885ab80ed139a25f13f22a15d332173b43cf99bacc6f718c5b3392e46d21b992f64d2784671fa1b57950bbb183eee3120a2d63915b5beb41d7646fc4e756e"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700484470,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700127366,"kind":62,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["r","https://example.com/8"],["-"]],"content":"Bitcoin is not Ethereum","id":"8ba61cc9d952ed215d9482dae712a081de51b36a8e4775589da75dc731ad0549","sig":"4aa05e94dd8755999a7ca71c3c8c5daa7a699060a6485d849682255195d8072a45dab494e5b4271fda0a93989d65b2ad53ceeeb15af3b699ba7288f02edf2ab0"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700127366,62,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"r\",\"https://example.com/8\"],[\"-\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700231623,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"]],"content":"nostr relay engineering","id":"30e1e4e64d9e961a399484d8c2a2ed1c83e527a89bef27a242e692c1f169e97b","sig":"409728bb7f5e2032d84d05a436a19deba916cac13760f0b3802cc274aa417a6fd110bddb28487da049b32645a3580af441ff20a5323662f6d1321cb0d3029d4a"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700231623,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700637406,"kind":10002,"tags":[],"content":"he said \"hello\"","id":"583868e7bc8f047bde8140c2a78f897f060fd67581d99d0390884b5b65d3e3c2","sig":"f8c0dca12b2993a0181f6165c8b5db2721f5e18f6d73568accc041b1010c23622c167d6a20fc41bac452f11fbf67e54c2224edd3b3192e251cce62771e618f0f"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700637406,10002,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700076123,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["d",""],["expiration","1700187828"]],"content":"nostr relay engineering","id":"1a13a480c63d89beacdfacaef0498fdd19f1ae92a4845e3a7d38f84668470327","sig":"23f54def7406d0595b6c3213e94f129c7fa0e7748ab1f55e44a35be7fe1f86127ee76167742823118f2dacb332b5e96069369e391521c8a1d353f13f0aa793aa"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700076123,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"\"],[\"expiration\",\"1700187828\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700489823,"kind":14,"tags":[],"content":"plain text note","id":"882a93837c4723aaabed9b4455e8a6f1b0a0dae3f53bc8b73b151ecf61cfd01b","sig":"4c0364d1b09eae8605b608eb2a3fde7b5b7a9eb0d46e524679e20d9161ab5806b38419f98bedb3c0e9856382dc4c50568154fed3ad6d85a95f8f9ce13efd0e7f"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700489823,14,[],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700750950,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"Bitcoin is not Ethereum","id":"8e6656a91962fdd49a80c9edffa80c7256f6b2d5a61d51803be6e518521ffa43","sig":"336e8622199ec6c972fe16184fa9ff60a1f6866fa470f32f8bb9720476dac8c1a6e21a16f01f77d4261beb4460bc5d0ffcc7b82935042898af8d8ccf123e30f8"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700750950,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700732007,"kind":62,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["t","nostr"]],"content":"bitcoin and lightning","id":"6757f69557e824ee98058f03f7903ccdaeabeb3605b0bbd51295c6a9f1deddef","sig":"daf0f4070a64461a4b60ed02e3298e5d8c31fc64acda84e3be4ba6b2eb3956dced2c37fbaefc3082e23df2291d67e3b2de93393d82aa3d04965ecb4f8a05f916"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700732007,62,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"t\",\"nostr\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,true,false,false,true,true,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700750765,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"back\\slash","id":"5aeb6dd003fd633a4f0020460ea0756b79dfd4fb40b999a2f5788cf652f70aec","sig":"80a97392e0074448a28d2aa5e258ed89875f3544ae2b0fd1e0b05bc80c000e783eb1cf16300cec51551989d7f887fec492eb03c95bb4265cc7f3aec5982373dd"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700750765,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700847191,"kind":15,"tags":[],"content":"emoji šŸ˜€šŸš€","id":"e3e75f7270826a6344b1a0c3928a9466c13f7b994410318484477ccdcb57db37","sig":"7ceec3e7ba25c97ea7f7d2ba9872064529b636eb3cbb41ed10d299fed407732581eeb7760342ae022bcce0f8a7bf404520cb05d46653f300806b98dddf374ab2"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700847191,15,[],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700863553,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700184183"],["t","bitcoin"],["r","https://example.com/9"]],"content":"emoji šŸ˜€šŸš€","id":"6cf91379ad3e6e260996a3742bd9f015d0b2781dcc33b0d7ca9237128bd2549b","sig":"8538b27253ce52dff87cda51943bbc3f0e15b8d4f66e99a4081a43aad36b070ebbea4d422a1108e3badd943df073b6deb8ddbf6b2fca13f5421a285c4d60e923"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700863553,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700184183\"],[\"t\",\"bitcoin\"],[\"r\",\"https://example.com/9\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700436930,"kind":62,"tags":[["d",""]],"content":"del  and line separator 
 inside","id":"b26101924cad72c53c675a6ff6a7c03f902f59092f39be7bb7c5a821b66b8a02","sig":"56312ee9e440aa2e49739a0d986a4874f3a401c1df0cab26046a0c4a9c3b66ce8f70fd3f327894098c012979457b3bfe0556e6bfd9d5adaaa08b63b1c7ddac23"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700436930,62,[[\"d\",\"\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700658301,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"plain text note","id":"1c1cdf303cd9ee083d6f0466105ea27201255c2c9518fc3eaa8e585e12149df8","sig":"ed09912ccf52f25ba73ec74801eac76ef3df29243073959cc02d352988a5edb7ac2caf2e186a418b013f3b1a15f0b52ec7a2d9ac5158e33d42c1607f07ca55b5"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700658301,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700126548,"kind":20000,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"]],"content":"control \u0001 and \u001f characters","id":"4398c9aee2a38c336f85dcb29100adc0db1058309bfaadd26a4efe4dcebaac18","sig":"f61c227af94d47a4d8592ea39a6c4539e29740835faaef655d52962d5088ab02f1198ce2169aee355e6fdc374dfdb962e7b75ce09301fe8bae544f108146cfac"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700126548,20000,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700125842,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"Bitcoin is not Ethereum","id":"6383d1208c7dbd82e8ba8de198254c79288ff24dbd59fbeac204ab9d0d50d318","sig":"f3235347b1ef5ef93ec338a970169c8902e6ff04086f2042c1f983ba227d87df1e5e487ded199beb82d031fa1717331688b78518d28be627fbcd157e713a2114"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700125842,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,false,true,true,false,false,true,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700563174,"kind":14,"tags":[["d","dtag-1"]],"content":"plain text note","id":"8faf031842558e701bffc9d634a70874058ca3a14c0e5e6afb5f622a7ff7c671","sig":"cb68652af2fdf8dfa99583457ab99570c4e5d0d3db1de0b9b91c54fe5a48cff4d7cf92c4b99ca90824a63c3c79572fcd75adc25fe3d85a0be160006127803969"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700563174,14,[[\"d\",\"dtag-1\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700350794,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700128756"]],"content":"Bitcoin is not Ethereum","id":"16fba8176ff89fc736194a1b87fa068fdae7c5d7c7364011dec6e7e4bd41c9f0","sig":"f3dca1f6ab96d478e128673513ebbef6fef9d70f30f296077fa41b6c3ff34dc2083235ec1e98c8bdfa1b161997fbd7062e3ff77fd35751e44a676a5aba3c0734"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700350794,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700128756\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700693885,"kind":1,"tags":[["t","nostr"]],"content":"nostr relay engineering","id":"0c19756cad062785537b68497d7110b62f74b9d398d36bf8fd006f6a8b246ee4","sig":"164cbb356e5d04e375e0d0005ea954bc6b01ee19f6d5f5267fd3086615f8ac57b8c05db9eb8da800cb66840eff49697427ee39d10c2a6ce682ba317048f8e15d"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700693885,1,[[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,true,true,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700699147,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["-"]],"content":"nostr relay engineering","id":"c54cac362c41f04a0e22e750849806f8ef75856ce68ea193a1bd8c43f2613a17","sig":"f5538c8d95d2d1b84468604aea4777b0f2d2d87e46e0af236256475bec4675fdb6f4ea48e673fd9f7d5b76a06e189e669e13e2f6cc8aac503293edf4cfc1921a"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700699147,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"-\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700634474,"kind":1,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["r","https://example.com/0"]],"content":"back\\slash","id":"456cad72dab0fe6b7f2bdbe525030083dced115a49198d3f927a6876a513c3d6","sig":"833324264a5d00511fc0c3a68a7ed9a55e8a8bb57fb18f593c87f978d966b620b7dbd83d62dcee2243586e759945d756f8a5cc1ba72eb9e40cb65a57041ee4a8"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700634474,1,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"r\",\"https://example.com/0\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,true,true,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700371431,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"plain text note","id":"5e8e43067c22c699780196fb2669d3b263cab0c0d9660a0c69335ea7097583e3","sig":"da1afb1eedc626f5d0e78843421ceed8da0538071ef61166c05c4f3d3e2462b7f51e4d2a5365839a3008ece2603fde64246618a10960377018e3f6da1a8704a5"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700371431,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700034494,"kind":14,"tags":[],"content":"bitcoin and lightning","id":"eb785dd5e928441a67e51970dc0cacf9084e3d246cfc65e418d1a75d335bd3f5","sig":"794f7efba7adf4b65d383f3a9aed73777d962055ef69c4503e7c9edafde2636ac25cabafd17047a409486d671be7aa54045890b21fda335eb7c1c4167b69818a"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700034494,14,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700862285,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700293152"],["t","nostr"]],"content":"control \u0001 and \u001f characters","id":"4f85fde798f4bb7b5cb1e93038165e17ab7eec9ba8b8cc9084b79f04f2ca0525","sig":"7471bbbf6231cef1d4558a10fb977ea40ed5add9df59ba9c27f35a2e421507ea42f6efb696099fa90854c5d08fc879fa771b47121fa690c52225748c6e0ef912"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700862285,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700293152\"],[\"t\",\"nostr\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,true,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700049463,"kind":10002,"tags":[["t","bitcoin"]],"content":"nostr relay engineering","id":"04f69aa5182bdcd11f8230049e34f26ba1f4bda44b302e1053ad7939455b9061","sig":"12b6c93ce7a0c3b5ce58340d4ebd69032f481d33827d8565b26f1a5d505acd772a4ca437b606a60cac5557cacb63c51b001be80bb224fa864a056e535c77f807"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700049463,10002,[[\"t\",\"bitcoin\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":5,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700991048,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"bitcoin and lightning","id":"c0c52d99274308f6900064cc65345947d644a263eb095282adcb339c5cd9ea49","sig":"a16b8e7ad339ca5e0cb79d6bbe5e950009d343bec4d2c81c2e4a26c418aa4cd1526a03069b1691b05f6e3a7364a0c03674d892695bc96a75b163c20ca8a53954"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700991048,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700106846,"kind":31989,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["d",""]],"content":"back\\slash","id":"e39c79fc4c1fbe4f7b6797c2bcf4a234c2d59ecaeca4bf2043bf37ab3dbfa01d","sig":"a77eeb05f0996f9092213326e081164a4179798001d9ad02c8bc0bc69565411438d139072db380438c6507cec71a6f5800e0e51a4780ea07d5ffab47f5fe9550"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700106846,31989,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"d\",\"\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700369841,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-0"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"nostr relay engineering","id":"db6489e3d8d2246c350bb67929aa50e026facf920198d4e639c2f246538449df","sig":"53d7a40bfb392849197231bee3076dffdaf2262226a8ead842626ab94e93da976a620d4c5a0c7d5084f127627a8763946a967fe6e04d986a2435646c7bfb60d2"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700369841,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700751274,"kind":445,"tags":[["t","nostr"]],"content":"back\\slash","id":"400a69c57ee235d0876e2262bc07278833ce43104b81f5cb8cd80b056ad2ca94","sig":"4259fd04f8b9b59845e9f3bf9e5bf695b21b6aa91cc89a9fb5a4858e9aedf11e4f572871a9cb07ae3c7f97dcd4c7463a254a3e93a134bafcba90d055f3ae11a5"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700751274,445,[[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700120357,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700253602"],["r","https://example.com/7"]],"content":"Bitcoin is not Ethereum","id":"35f9b034f1c78bd065e707dad9ea6165cbf0678bdd33df12fbd60ce753ead4e2","sig":"1c0798c4f7e915dddfe6a43dd0decb134bf47d2fc55696fa4f8e052c533df3f7b4371f8e8de42a14d3f3a3dd9cd93039cedc9d6f86e1318b939ee2bcccb47161"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700120357,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700253602\"],[\"r\",\"https://example.com/7\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700048107,"kind":20000,"tags":[],"content":"bitcoin and lightning","id":"fb1d7c63bc7259cf9a3a22351dc895e4831fd3bba2cc58dfd91a756c6e1ba14c","sig":"d600a6a208124a02159fd1d1fc9013ad93d5734947a7aefda0f86864fc867fc44f9942366d876d119ff5bf83e662d3ff43ac16dfefada264109c00c2b6b0b816"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700048107,20000,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700792830,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"back\\slash","id":"5c53683c382730bac41e92fea128748b488064ff97cac8eee9aa3523817638aa","sig":"7fcc4cb79c69f3a74ab4b64bced07c3db918fa852ba1f6e75d15712108d87273fd1bf1f1a6980b5cdc8f1bdb1ee5c501ff241cf28bbe6de7e69dade9502c8c06"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700792830,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700479876,"kind":10002,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"]],"content":"Bitcoin is not Ethereum","id":"1c119abcbbabb8215eeb5392a86019ed78c920463a6a98675a23716cab9864c8","sig":"ac4d4047f267819a1229a628cbc80a14c99833bd404e4d3f1ef6fee1c8881263aec7eec33d6de7f48e92e96baf7ea6dbc1ed408b93c43b4ddf0d66d1a9791405"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700479876,10002,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,true,false,false,true,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700056652,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["t","nostr"]],"content":"nostr relay engineering","id":"d69d2519fb4cf5c7db5ebe6780e2e8e8f50f692df0c2a18bed23d8d456bd23b4","sig":"cf8e13b77155fd1c682ae7041f9c981143783c983a9b7d82d8aff033970be6db18498e7d1d812847f8ea3c917874af72b62bfa3098cb066de797950b3db77713"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700056652,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700725243,"kind":0,"tags":[],"content":"plain text note","id":"b865ac317f722147b4edd1f083b2d175fdd6353cb8f916f24ee4879d3fcf4773","sig":"25db14a658278850da480015f4a837b9e681a69c7d7dafd7e52098ebc15b3467265951e6a354b032651460bfb1a79030ab94db92c68c82dcb3e7b83d331cf30a"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700725243,0,[],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700533161,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700181979"]],"content":"nostr relay engineering","id":"de80a30eaf9dc959e5182e5311dfc6e69e6dd7ec6612b151a7962fcbe7ba0c6e","sig":"e7cd3eb90f97a4ebbcd8203cc06216493f42ad1d1e1496d2d8ee9388686f9e36c1cdf6d2b79fb1240fc9f36541b5f029a7a6ff1c68e9c54f72995474624cfb78"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700533161,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700181979\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700035415,"kind":444,"tags":[["-"]],"content":"","id":"f07a7f0abfc5667f7701f9721e703b5453d35eacd918c05c86b728cc997d2bbb","sig":"0e206ed89be6ee6fc6bc2858a7e87dcfee2714e65f9c8883cd572450395dd77c48ce9ad5265762aab7dfbe7215ce98d8707cfea7a4346cfc1c35e7fec179dcbe"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700035415,444,[[\"-\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700432054,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","test"]],"content":"he said \"hello\"","id":"4d2e99ebcbdbfa89923ae5a7ca9161bf0fb084f4b7bfc641a7173664d568ee1d","sig":"f5505586b69d1d608ba1c424ee51c49df6cfd484e975dbde75ddddcd05776df9586851eb58eb0ae582f7977cde1d239091f38bf515013d139cf7775fd9d47b56"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700432054,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"test\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700044713,"kind":443,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["d","dtag-3"],["t","nostr"],["r","https://example.com/8"]],"content":"","id":"22c51c14d54a664717f1339c460f38b03d678456152d60a4d864887483293166","sig":"148c2d2ffef9dc5afb49c2298d5a7e19135e24518d33979e81c856acb0109201060720f7aaa0db746e2317ba2635b0d21ea1b734b0b0eb18e0643912ea6579b3"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700044713,443,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"d\",\"dtag-3\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/8\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700624199,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"","id":"155ce740279f65e3a34d9e4211fc40c12f3fe04749b0e147e745a56d0b23b510","sig":"9b7989d503802242874b8da7fe04dd69ce100047fb425c833888b0f5dd57cd7cb3353fbb4270c9bb80e87b6103ed45e3b1fbd3bc3856828cf3676b82bd2a6514"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700624199,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700390602,"kind":0,"tags":[["d",""]],"content":"bitcoin and lightning","id":"993699f8bb07bb6f99005dbc9cc3f0a1f5c4c1412c0b7a082f3f2a3f269c58b1","sig":"46df0fb8f67746affcbbbff83cefa19c322490a1670f65ee8c6524fb7438bbd8ae2dc2ced7ea3f783911f1164f0e4d1fc3ab183cd95d660b8400254bea2ccdc4"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700390602,0,[[\"d\",\"\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700438111,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700158672"]],"content":"back\\slash","id":"0397560dd07c371b16914279060590ec4f9c6051137f42195486b043b7249b04","sig":"3f421fa59175e41dbb58c5cc674929fba9260b59d73b18cb93fdd8a311e222f7b828081f9b91bb7ee9f53ed6f29cec081a96b72de36f5defcfab009c20d5efd4"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700438111,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700158672\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":6,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700518102,"kind":444,"tags":[],"content":"","id":"76923bafe4805923d5991351255ba32452557eaef6a96f9a70c99a3df8056c06","sig":"aee5413241667a30bfd323228381648d8577f83ee10611f45cd41034c2d18abf9a4bf1cb6a126da7833bddcf8d910bcbc8fe42798b28dc4a4d0eec87b2074ca7"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700518102,444,[],\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700312708,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"]],"content":"plain text note","id":"1374db0d692fb8169ba15d41ae7d450e13920e83abed3802f9f5f0c8c1c1ea1e","sig":"8b908d64250fefa5239a74d9b22f814bcfb06f34d07cf35301b66b7a77aa6beb6d42a06f6ec2d19515a49d0c50c71c5a1bb96ca3071dd7e12d4861812ec0e562"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700312708,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,true,true,false,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700843369,"kind":7,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"]],"content":"nostr relay engineering","id":"47fccb84d865718362a4fab2bb9b954a1ef5bb442d8160f6b209300de247b650","sig":"dbec64538129b7453fa864a8e9cdd7e54d144014ff5bf4a5d0a278012ca4249f35774d17e54d02d96783722018df642d6c530a0f14e588c64eb24c9a77da117e"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700843369,7,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700763934,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"Bitcoin is not Ethereum","id":"41cd48ddc736dd1c458cc26c5aaa21237993c368e204a9fd14ad848e6409e68d","sig":"6381d8c3b7eb6b727b2df468771e818daf982099adad66948a94ac21f7b9a26e20678f05d54bf6e358b58cec8aa989821d8b385f3f65403b2f48103381d1e692"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700763934,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700295534,"kind":445,"tags":[],"content":"emoji šŸ˜€šŸš€","id":"be58517df604c29e66b4607c7f004ca6b192f6e62336ab5503ee72920971b4a8","sig":"f6e4b2db3bec6425c6f7c53dc24cddefd3cfbf6ab9057fe97ce5c2ae1960141e6304032472c1d26329a4f6f94d274e6abe770cbfc2fee0ef72b2fa08f798b359"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700295534,445,[],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700303127,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700126994"],["r","https://example.com/3"]],"content":"Bitcoin is not Ethereum","id":"060d4b5fd0d0abc9ce2f80ab421843739b76e3feea5c12bb392f8ecb8d57358b","sig":"30c1ec8ca1e509746ff3251e89c45d39b7a49c73f3acc7a7b3a6f022cef0686441359efb65eea761eaf0b2b31868b8f2ec75c0f6d00bc3d9e746f2be1aa787c0"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700303127,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700126994\"],[\"r\",\"https://example.com/3\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":5,"matches":[true,true,false,false,false,false,false,true,true,false,true,true,true,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700963815,"kind":31989,"tags":[["t","nostr"]],"content":"back\\slash","id":"d1c7547b222a9e8771df9634b751470c48cd6da28390113535f7cfee456a7ca8","sig":"564f547f383bb0ade014ee6596a31e3e16724300770ab95076a50c77f9394af67ff5f2dea1b21958f567b04d218ed68a4381fa51e69b2063e3cd5cc3ee3665b0"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700963815,31989,[[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700329178,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-2"]],"content":"control \u0001 and \u001f characters","id":"5d8fc9f660271d4222f9248dabd67d76aa377c205406abe82fe378e70d720f51","sig":"490ccea02368f13458ea2e1bbab5221bed35a5aad2c3781d6f6a479ef8795541ee4c54fbe7a993778adceb0c7c10ab43356f1ba6aaaa7975e82b3dcee2d5620a"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700329178,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-2\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700025131,"kind":0,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["t","test"]],"content":"del  and line separator 
 inside","id":"3be35481252b5e5a0cd356710dd76fab2889b1f562d91bde38f12aba6090b4f6","sig":"0d85bb602d6948cafe2a2ffefd1c24431d5477f3f3444ee76f7129b337ee2fdabba8e7239f7560c67d2e400ea47f0cc98a00c8d47266b3a7068de3aaf0ace0b1"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700025131,0,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"t\",\"test\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700564684,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"","id":"c49abffc186c8f2f62f51c8705766619d22f2a0ce59f9a49e9237d9ed9b8acc1","sig":"8adf57231f30f188823e1bec2ad2bc66815fb43f98c4a7f78a15f7ef33a264f78fc7c49ce139f5d84514f6506592f785d7e7bade349a1ad600efce01b4b295f0"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700564684,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700235661,"kind":31989,"tags":[],"content":"he said \"hello\"","id":"2ce7e0fccb30808b34c12486d10f224111c6a462c4fc994ccc144631c20a260f","sig":"a9eaa0c9b7c735655fdd50a8470066f65c8d8904331f55621904786251ef285da6fa5d89fee533c32bcb8d758c725fc635fece839d8acef59e67a23889aa8e99"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700235661,31989,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,true,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700729630,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700275425"],["t","nostr"],["-"]],"content":"nostr relay engineering","id":"5fcec8e4e338ca6bba3b9ca0997b92591ea80a7a913a739a883b556ff6db0333","sig":"ed2603f5a215e9a2a9b520b37b12749644164355b6dd081382d4eeec3f304c7edf1530bf7870843a3dfcddca2c4780b42dc29ad61b299c9abb8b0d1e19ccf6d2"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700729630,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700275425\"],[\"t\",\"nostr\"],[\"-\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,true,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700091964,"kind":10002,"tags":[["d",""]],"content":"emoji šŸ˜€šŸš€","id":"97476a686260768887fae0bf1b29c96961aa8bf16908aab7516417455ae514f0","sig":"5e877f8fd0b8f0ce1d9cf84cb5c64f4428143ef0362306a85d028974928ba279b7946af4ecb1c9deb339022b6e5d80f6c32121b9db46fb49c89154ef6fafb764"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700091964,10002,[[\"d\",\"\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700058694,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"del  and line separator 
 inside","id":"35565a3f392d7a25d8a82ac3c896c1da9824c344f97f7128b3e9986fe825183e","sig":"e5132096f6c533064a3e69dd183dd0f3d9166587c919091d0fcb917cc29d1fc6074d3c486351529c99ed1fb3e2c9124146c712f10b1d757cc90b586d01723e83"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700058694,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700467101,"kind":3,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["r","https://example.com/8"]],"content":"bitcoin and lightning","id":"3fd1b909fb9113713ab4958c4363f3710f8c186e0230b2cf41d76a0c28607ca8","sig":"19a52d96fed90815df3d7ecf33bbd812d15fd309b28e6b02fd6bef44e6c33715201fc44d61f5805603cc9675c955d1b3c93ae6fc63554545c0abca9d94735107"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700467101,3,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"r\",\"https://example.com/8\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,true,false,false,true,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700203476,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"he said \"hello\"","id":"c0ffe430ccf55fb5c060911aa6899f1792c00303d9fd642c027d62f66d38110b","sig":"a50dc5a59b507678a3a8b8caea9d3804b60a348771d00e48fa3babc382dbbc6ee79201e2b81f86012a153719090cb0d7f95cce1013f64e8e390db185a50f1547"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700203476,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700044732,"kind":5,"tags":[["t","nostr"]],"content":"he said \"hello\"","id":"47f518fa9836e472aec208de52ecb9f78ac12e8c8e6b11ec2ca861b6b99f7da8","sig":"276d25347bd1eac3e5d9c7687f25a1d654a9342fc41fb8ecd0db4fa82c035de6608880e49f0facf713bb40977f7544c634b0c84be08a4ffcfb02d0a1d0a7c2b9"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700044732,5,[[\"t\",\"nostr\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700525070,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700148865"]],"content":"bitcoin and lightning","id":"300b078b85758efd6ac9e5c237105c4adc1bdc7532fbaf4b1af73c3cb0f34cf3","sig":"64a8cf8917ba4d39ef89ed950aa2678059d3dba911e9f6d116628d4cb35a67e88d5326c93887b8f46b450e4abc7e98b6482823e4a1ffdc612420d06c066865f7"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700525070,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700148865\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,true,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700740266,"kind":444,"tags":[["d","dtag-1"]],"content":"bitcoin and lightning","id":"026faef7a2670324d35965f7ec6ddc2c015427fa2864935dd0221b9d6deb7c61","sig":"c576c0464b1a84d63f85680a70a677c67337d34f0b2f157b73197a6cdcfaa474c989ec4bb6cc6bcbb1787816176728749186ef9470703190cbc24179902b8dfc"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700740266,444,[[\"d\",\"dtag-1\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":6,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700719212,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""]],"content":"plain text note","id":"c8e918200887ed054ed047374926aad9191ff8b66315b1689980c794a774951e","sig":"2a26efb60cb10a577390712a8a737d2f68b0cd73293efe8a607f6100c843d1e6998cc6a739a2f3e0c5b8371420961927becad6525bbf555b6a816f5f7b8902a5"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700719212,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,true,false,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700453939,"kind":3,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"]],"content":"nostr relay engineering","id":"bb89d8c771103fdf187355f55bc1608dd23feac633b7536db894d6dcf3aeacfa","sig":"b55d5a913adbe49a632452299f91e8d7a95cfbfc3a083b855da66d3ca78034fff9138eaa3705de71c7520ddb92e9098d51d16535a07c99df8c277ccfb021c997"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700453939,3,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700565015,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","nostr"]],"content":"Bitcoin is not Ethereum","id":"6f9b4d70da763a558d9f5ca5e9e808cad319760b0771c8df60bb522221972e97","sig":"847d076899e6e87cf11c80aaa0f58df0952158fc9aa9f5be4ce30909b676d8ce254edde7bc39ed24839bd5febc3b377dede565ae12f31dcb4d5b13c082e74eb6"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700565015,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"nostr\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,true,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700705544,"kind":3,"tags":[],"content":"","id":"1d60781159f4e9a5739d9b786b02e1caa88ce42eaae5f017214ac11fed77e7c7","sig":"4f83e86f1764965950e47f0b3140556d0be36321f54b7295479d0633981dbe51b134c40fb13484120bb02829d303cb8659f57132bea458fe953acac047adbdad"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700705544,3,[],\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700465561,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700149037"],["r","https://example.com/5"]],"content":"emoji šŸ˜€šŸš€","id":"2f804e0a8d7b65d891fadbf95a02c5b4c72e61c89e90c9a50a5606af84f5f9cb","sig":"d09d54729c2e40720371e9553b8e161393636fe6406d53c8472c6790e42afd30814b3c2e7c5b0becc68304fc0f9d9ce308e3f26b5410978bbc5a5714a41dfee8"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700465561,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700149037\"],[\"r\",\"https://example.com/5\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700968156,"kind":10002,"tags":[],"content":"del  and line separator 
 inside","id":"fbe323c6aad3957b6539261b35aa9f9b78fe20b5aed6f4875d0fa9638d7c1897","sig":"71a197af9f492755deea1cf584788aaaeb3e879c3390fd8f82e6292655f89299a1fb1d9b0ba1054ba4093b28b9609ed9793863cdc0f2dc78cb3ed8581a34fc98"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700968156,10002,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700885174,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"del  and line separator 
 inside","id":"9bd73b432fcc34c17396451c8469d9e6581d250f8ca5fd2e1cf075b3cd28918b","sig":"03e93f83e047dba35b918304b00a3e73bb50e79619eb309f68594a6e7a0c3f321259790e07a6bd84e56bc92f7c7aac444c2255d027627e4256cd49004356d729"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700885174,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700287312,"kind":15,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["d",""],["t","nostr"]],"content":"nostr relay engineering","id":"ebc74a8d170d5c4740c6d85e7ab7af3b3f61df574a212e87e9f1c56f5d2c80a2","sig":"68670c5008db20b6de45a80c8cb27c7c88dba0d7836f543b691398e4c7b0d0afaea9459174126992cf7b1b5cc3f80c7cac0009c00bcd8feb8d5fde8551c668a8"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700287312,15,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,true,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700682338,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"plain text note","id":"ce7b66779069cd9fc6ed30992a715d557fe4d42673ae537a3f2767027ee5faf3","sig":"7cc555238760eae3c3a62e4b023c6b62adcd73ed5adaa84f0b2a595832cca637ccba79e0ee0799886a07d5e181f3c1a10898a9f227679c78af149d942d6f2a6b"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700682338,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700279382,"kind":3,"tags":[["-"]],"content":"Bitcoin is not Ethereum","id":"3003423344ac5c6108c68e95c19ba5451610e860be6aca3e5776eef792c4a021","sig":"067b46e0cfd41c513af145ba3b34a12c1e879a39105a0e1c9987f33cc2d4c8c8c4296c6b2d23e5f9f40edf305dec4aced7ad86cf980cf4c8688b4255eb9dbf53"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700279382,3,[[\"-\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700704286,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["d","dtag-0"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700125611"]],"content":"del  and line separator 
 inside","id":"220646a1edc41d7019d316e901568997a210f1b80233232c21e96c472e5ffcf9","sig":"fc68a89b3cba281afbe8f4a68fa34932efa6ece497565052c2887113e74aeffb448fefb37b91d7a6e879c61e8f890056eb6542bfdfa4c1c95430eb172abaca34"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700704286,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700125611\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,true,false,true,false,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700442166,"kind":1059,"tags":[],"content":"","id":"0bb8d8efca83cbdf31976b067a107968f77a335d0b30b007de2787e5d5f006e2","sig":"6ed6253406117a9dbb3cc43c0ba4110c0edf71d9d09b46d59a63f429e825cd5b1a9c771b577c27ae54228bfbfc0d20f1f8758b7c79f1b6c1a23913a9064a0a1a"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700442166,1059,[],\"\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,false,true,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700042896,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"plain text note","id":"3ceca1f21d9422549d444a8ceadb6e0f42145ce399471b68b91d7c1d34ba14c7","sig":"a7d408c214e3cb5b0a8bab6178e31eabd13cf0a0dba66bcdd62e1648d4b2f03e4bc1d4f3ef353ad90acba079c3e164892d5106e4b592df075e1ece5644786ace"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700042896,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700766075,"kind":5,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["r","https://example.com/4"]],"content":"plain text note","id":"bdaea5adcab271bbe840f29f7e30c3bf4d9662763ddc72bac03be1dbc7d9eb01","sig":"efc96104785f2a4dccfd8a1693ad13d052f11edd4adc2b3f5180a0e2a59672eb1f5aa64cd1224523b7a7efe258e6ddb5dc4899a6cf1c8f4e77ed30651fcc4c5b"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700766075,5,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"r\",\"https://example.com/4\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700389592,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"del  and line separator 
 inside","id":"ef5e7d839ed0e58e06ccdff23ca65d39ac19f5ed0635fe3d43ed1d6d509f129c","sig":"8f2a5260ba75a72dcf5b597e191ceb082b452dea1983b223636497575f13ccd59da370b52e8786d250cb5e352effbeb165e203ca5d566db98b5f748a0ffab69f"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700389592,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700573549,"kind":62,"tags":[["t","test"]],"content":"control \u0001 and \u001f characters","id":"7ed5b5e1d48c3137d6da70cbc7b1b47616948b048c22a1e25f632b95d90afc02","sig":"cebb3f59a0fa1690e52ae7c1cf7986c1cb7dd8f875196d361853809afc4e93e38ed7e76eb3aa4d3e0fe9704f16470b81f46ab5682ecc23c3be90246ea60779fe"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700573549,62,[[\"t\",\"test\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700123200,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700211216"]],"content":"he said \"hello\"","id":"5abee1e83910984469716dc333b1db235c1c08fabe107921da2b1ff910652428","sig":"132963bc867b8d116a946f4ebb18e15b6c0337877960f70e94de3cdae10fc45d204b88f019f79ba66098367aaa865cf72b80ef9cf6cb8a9b68a61d8b8ce856b6"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700123200,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700211216\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700240121,"kind":10002,"tags":[["t","nostr"]],"content":"plain text note","id":"4dafb28f69f38474d7fb23b403206ef0e705a4011e759f0187f857e4b1415276","sig":"ef7ff6ae73c78f6499bbbf2992dc3f21eac6d669796a7df14107b3ff33c21c031d70810a82c62ef07c29df46fa93330899236eccb601705b4d2c93518c381197"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700240121,10002,[[\"t\",\"nostr\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700931402,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"control \u0001 and \u001f characters","id":"179577d9f409d701aa8b0d57a63a9debae950c6a0311b9181145d6d42823a8b9","sig":"5197914980277b0fd5ae7997c1e2aa7f5f56474a507b527f0d367ce074be81bb5c25c1095bb0bb0828ff17bc6424d0d70cefabbcf8b845599540e80385b693e7"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700931402,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700533552,"kind":14,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"]],"content":"back\\slash","id":"3c87f4c0a6c49dad7daed19a970c4f4b1927b3ecbb996cad3748da0c7791b82a","sig":"301eb9a10ba8eb1e475b9212cc30bbb36f3becf788e0ea04298f48c5c44fbc47b0feceadb247c8a76a1ea3e1c587656cc28a1a4fe3d769555e54847c2a92f749"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700533552,14,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700744725,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"","id":"13c587a75aaef46de327c1a369b23e81cfa92542cdcb0067432b87ddbafe0af7","sig":"a5d35a9e1ca3263f882c78dc4bed5ab73eb9debd823fff414ed8bb2d636e2fdc879233e7fe74221a2c272823851eed3633a272fb9a975e8695e57bb7a7823afb"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700744725,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700356110,"kind":15,"tags":[["d",""]],"content":"","id":"1dcff43537be0d769e474b5684600ce61b7f984c9c3ecadd22d63fc33f09dd1b","sig":"23fad5c0b0d413a43d9bf477ab5e4b18256150791e155be41ca383d74fdcfa8a6e343d8bc7c6b5a2c61280aff518216dbe93543a5792101e43fc6e39f1cf763c"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700356110,15,[[\"d\",\"\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700011372,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700139850"],["t","nostr"],["r","https://example.com/0"]],"content":"nostr relay engineering","id":"55a6f51640d755ea1d18865c22f4f226342780581c645b9837de6603cff73a36","sig":"85731e31b6a6515510b7b16878906f737117ce29a0643ab914fabdb68155bddd3221a6cd4f02efb50fccf3a44fa1c1235eaaa51c5c1c9ea62f4cf6c7c66de681"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700011372,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700139850\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/0\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,true,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700580138,"kind":5,"tags":[],"content":"control \u0001 and \u001f characters","id":"95c61fe98a4b5b3d5db633deaae5e01747bf703f80b25e6c6b22cb53c5142390","sig":"4076b36f5d3a5d2fe3152c64ce17c2abdcf362bdd76a7c3a232db86f8e083872415fa2a62b594a0e620bd74c86e4f2787df4da2655c2027bd3037d5217202cd0"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700580138,5,[],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700807529,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"nostr relay engineering","id":"a043eb8834cd3c3324ca2553ddfbe659bf48ad39e5d07f3bdb18045cfb645eb1","sig":"a9628842cbf95d9f6687abf2fb0d21853b74903e8eceabcd3b88d3f8841f14047a295e24fd864d4319f56321de61db75f74fc09918a0ec13f25aef580d80f0d2"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700807529,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700878875,"kind":1111,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"]],"content":"emoji šŸ˜€šŸš€","id":"3d2d316fbad25403e37e31e60c05bc2b0e34f60698b53e913e94b20db8d93534","sig":"f9efa70392472bd93ac3aef885af947c8d3447088da99edf1b358c32d350fba104371d8f5ccf4dc687364978803c800376490cf9946a6271faed889b5074d807"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700878875,1111,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700634759,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["-"]],"content":"plain text note","id":"b5d50b4e3026d0ff983fe9c8375219b028852db8933584ed33dc32468f907a7d","sig":"33a5565e1cc93de2f8a6be1a67bffbe9a1a14a00e3985a8a75bedc0772d323f3903225c5e18351b310cf86bd0260e60e595f614312d1075f96addb889ecca598"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700634759,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"-\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700781229,"kind":0,"tags":[["t","nostr"]],"content":"nostr relay engineering","id":"5a875f5921e5963fcdd3bcd549d10d9f49e2468631c3811ec5807c6ee968fefb","sig":"3abd5eab5e46d7b82f17d60acb3eb8b85c5093953a7af740a9902688f8acaf34c5eb4551515fbded15816592e650be083c2f76ae7189ffc23342c24d810bde0f"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700781229,0,[[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700048300,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["d",""],["expiration","1700220590"],["t","bitcoin"]],"content":"del  and line separator 
 inside","id":"eed2dbcf0731702c2492773475cb24dcebaf59d310e6ad980c48ef572b9033ff","sig":"bc57bff52aac49a2439cbf73604f3570ed90787495b5cc6a8ad1da4eb9c25665da420fe948c8865c2f58af5bc69a22d0e922a872a6df333a4fcc4d2749b9d8f3"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700048300,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"\"],[\"expiration\",\"1700220590\"],[\"t\",\"bitcoin\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700457852,"kind":0,"tags":[],"content":"emoji šŸ˜€šŸš€","id":"1cc1dfa3fea34b88e339e06688446b03a4aaa87f2b4ef53873e880d99b9057e5","sig":"b51adfa9e9eee745f0361da37d5b74569cabaa792afc5a221a8125256fe7d75d88aaee4cc39f1c78124ad503b0adb7c2599fd567aebc820066ce2b6a58c4638c"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700457852,0,[],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700001307,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"bitcoin and lightning","id":"fde8bbb7f51fd5811a00ddbfb8e8805b18649240290623741a604e60e8c3bb04","sig":"6b5190bb8e653e1f70978b867b2c216cfe935a3f4ba4c16ef5afe8f909578f4608434c7b01c427676163a52446b4b4057263c7956cf3423944db89370c726e09"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700001307,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700953118,"kind":62,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["r","https://example.com/4"]],"content":"plain text note","id":"40c4b39254e527245d5802d5ba1e51448f7a53c1bd8731aed5de688573c31f2e","sig":"b221abffb1f385aa1473f7536f4ddeadaef81484af090befc0c0735bc507a83c391806310ede9e52b167630ad95511592d0f810dbe5c1779960ef3011116825c"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700953118,62,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"r\",\"https://example.com/4\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700946132,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-2"],["t","nostr"]],"content":"del  and line separator 
 inside","id":"5ea2afbf7d0845b637a494f4a1fbbdd816689721a594fda754b15ca0f45e5ec7","sig":"8e04f3eef044b54bb0ade4d7f26ebf5f8eaec76ee91d64989a92adaff4584df2dad79fba41595389e9672268e2d796f94dc031d03ec107276fab72313f16dc1f"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700946132,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-2\"],[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700607954,"kind":5,"tags":[],"content":"","id":"3cc96ab8e44e36a2a2b702dde2f1489b6cf48298fd9a427dafde0137408d7562","sig":"1c12b64c1cf0f712945c2df1350ab82ae20d8a5674e9901b12af512f4ffa978dbb2ebfaf21a4c0f61edb6ef84353b8aeca1be4e6e97d44dfbbbed91591ce2ec4"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700607954,5,[],\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700033960,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700270847"]],"content":"nostr relay engineering","id":"c7f32f7cce2a9bd5841e7d3ea4ad7375be03bf46f4a5991b64ab6d25142e8cac","sig":"ae7f92b138afa750ffad7086ffb3c0de88755e94d541c66f2b57dfd9315a3ba248015c5e6377af5037a211b23d4d9eece7dbbdf2d5526d8e5463696fed6d9f6e"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700033960,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700270847\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700455685,"kind":14,"tags":[["d",""]],"content":"del  and line separator 
 inside","id":"be8846d5d97107394a5bd518a3fcdc8ca598ff735ece0a4cb73623d83b02d514","sig":"3a82daa3875315af9a766efb0a237f13990b7bb290cc2fc2cb19d9b4526f534f8e8597b7447d664732a6bb0b40a0aee69df0f3a674ed82ef23ffa8dbd9f316be"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700455685,14,[[\"d\",\"\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700809894,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"Bitcoin is not Ethereum","id":"e3d0090db901c1865f2420e5e2466a906d3eebf2e2c575c6fb829717ca621545","sig":"c8d7f394a79f62edc246fc2d59188dbfbebf755899974e37f3bd2f304806e198268da6795ee96d3d98a501a33e770bbc084a0c9ca4e78ccdef37609e83add9b0"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700809894,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700592425,"kind":10002,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["t","nostr"]],"content":"plain text note","id":"2cabb06c336e560fe780e37eb0287253bbefc25c53ba9d520a32930695fa0de1","sig":"2933d626dfc3460bf6d547d0b25edb5b56b5824af630ac77460a2e8318dfa65340d1ae200d545beb4e1264feb4b1b14b620e301c610cff50cfd3dadf06603488"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700592425,10002,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"t\",\"nostr\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700572763,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"bitcoin and lightning","id":"96455a92aa0bb864148b0984d83ed637d3c41e9541beb0f534b436535d1779be","sig":"da2377c9d1e19b0ec22b93fe8fb3f9884498f4faa8155f09493e9c9ed21277e54730884d2329b17b204e80f0dee1ffa05dac00a598072f71dc0f4b95450fa93a"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700572763,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700521062,"kind":7,"tags":[],"content":"del  and line separator 
 inside","id":"7ed5a1b7e6b9bf3da8e0981f055077aff05271bf339ea79deae36ecbf3c2e90a","sig":"093616810808274cc8225cb48cdea19caa9b437a1225da4d9b5390ff913871f116a90abf09a3e616682781ccfeeb9b58a6a6aa5d20a61d56af99937d7f46ecfd"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700521062,7,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700852410,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700133114"],["r","https://example.com/9"]],"content":"bitcoin and lightning","id":"58ecf159abcd6f4b17ab2af639aca72f390f4745233c2742b433882812fd87f5","sig":"b62c6860b5174d526d4c99e7d242275dcef17a4ec1efe7107e35823854cb7d4013aafcbb83b837298f54888a5989622e51647e5289c9c767ce6b8496e2b4eb9a"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700852410,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700133114\"],[\"r\",\"https://example.com/9\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700165466,"kind":7,"tags":[["t","bitcoin"]],"content":"control \u0001 and \u001f characters","id":"329370ac08c458a7f7c1406c3e754e99b88d3a406511cdbff4d9b39fbf23b55d","sig":"67e9c68bf52abd67f3eead27ad7d160e03b0587ec015b741e9df4abc58bb17bfe6836058e2c4760ada021a7c9470d4ff82d4ac24af023f748a3947dd92499c8f"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700165466,7,[[\"t\",\"bitcoin\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,true,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700012782,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","nostr"]],"content":"nostr relay engineering","id":"744ec26db436631fb289702d1745b02ca1ddd5c6d305afbe5acce816d2c79296","sig":"b0e4cd5e078e6692f18790ee81d91c6df294e7dace0a01e20ee44f007901ef877fefaad04884830cf3e12ce780848f237eecc31a963f059cf53c55e40c55c509"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700012782,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,false,true,true,false,true,true,false,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700018864,"kind":7,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["d","dtag-1"],["-"]],"content":"Bitcoin is not Ethereum","id":"6e999bf3b3f89de8c348ea9eb7b471c746189967dd4cf194b135f209f2b16bd2","sig":"f45ad1f3249e75a61a1f3a30fe19b7e83239b083613147c1ef1841c0865892de3b3a6cae7002896be8b0723728b3e0e6d080bfc1f4ab71de22b9d3b2a4ed03f3"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700018864,7,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"dtag-1\"],[\"-\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,false,true,false,true,false,false,true,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700604934,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"","id":"2cf8f37b292d0e1accc29d8a33fd123db1f45bdabbb1016dbec3dbbe0697c6c1","sig":"de97e2d4ed1f68988170f6116035ffe582f6b3fd2dbf125737a11955143a5b64c983a5b49525c1ff335fadd1f0837f51676787945825405c30c4369d4f14547d"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700604934,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700597336,"kind":443,"tags":[],"content":"back\\slash","id":"ad77c4c81b730721eae287c47bf5744b805135716495fa2f60cb1e5f14441aaf","sig":"be88ed7a35a46f681ee0b2c5974c5993bfae24a4ee62e670f27b468318128ffef2818ec3b574b54958b80a5e24a4a221bd5a7db48ded1c12d482a77129c96a51"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700597336,443,[],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700662906,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700211278"]],"content":"","id":"99edad862a98f0f0472081dcd1f9be32f23d2f377867e71c06454ad83c9e8c6a","sig":"ea79475e22356c0aba35c357f8708f9a346471b554530e7235f24209518a676d9ea42dc7b0ee5f2b993aa5f84109663867de4d4ea4f5529f42a35049714ce9a6"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700662906,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700211278\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700248694,"kind":3,"tags":[["t","nostr"]],"content":"del  and line separator 
 inside","id":"4b3d2ab4c848e985b609cf9b385f336d5ba1abdce3e3c9feb3b38f3be6db1d61","sig":"92143bbe358a352279a5327b190e789315feb842d1b4ab34f64043be934264f9a0d67949180feeb44265e28e2026aa67e0ec785ca4cb17b3982d4308d1a03be1"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700248694,3,[[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700166188,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"back\\slash","id":"a58eb88a68ef7bee58ea0891b1184ce4861537df934bd065f42bb01936f66448","sig":"985cfc160cfced2bc8a32eb7ac9b6e4315c08a8d8bbd4ff5ed7bc888681cd288269fd191796fcc2337b23f931b47d4101626e4ae3d969f5b450155e3ee49f8cf"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700166188,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700451281,"kind":62,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["d",""],["r","https://example.com/5"]],"content":"","id":"4b01ace5deab94aef389c6a78a8ff988154681dee08d18f7004897b8291bc1f1","sig":"525bc371c5ff2da02275dd3cbea302b555df68590fb81eccb4df868a6b29c61088bdec801a894603ee67ffc97e72ff2e3280c2ec9a41773aef5ddeab819a9a6e"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700451281,62,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"d\",\"\"],[\"r\",\"https://example.com/5\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700869226,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"bitcoin and lightning","id":"b25a0c77d8af83414694fdab9b3ee25e0707a424393527a5871c6f422517ce34","sig":"fb75d206ee59ac2487e18b9c7e9a1db5a6e4caaf4d6869eba0d575f0aceb842d6ff7ec4a1a932fda456e3d385338ae58088848be665c337900f95062ac60cd38"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700869226,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,true,false,false,true,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700867154,"kind":3,"tags":[],"content":"plain text note","id":"f698ca22bba185ec3eded9b8fe8af8d200033a5420c00892f936f5108b9a0af5","sig":"54e543f7a0918152658e88e08a28361bea59f3dd69ac684ebc66114495398bea2a520ecc01382c0b2e39eaf3cbc198ce4f315c352d590143eed31374f2708d99"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700867154,3,[],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700513822,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700286703"],["t","nostr"]],"content":"","id":"402cf391ba0d09c70bcd3f644bb21b3f67ec6fa9ac919cf0db620eac06377538","sig":"fef12e73f868ba2f01e3124d4c1f41e24e0544b2cf3a990bc463e41ede33b6fc400eb0a7a8a9463c37dbe2f92c979e82e8aba06229aedeedb190a304527c12f9"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700513822,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700286703\"],[\"t\",\"nostr\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700840819,"kind":3,"tags":[],"content":"Bitcoin is not Ethereum","id":"02be5ac4646d8411085a0dce3dbc8fb7d292bd40b6a06e6d4c7908b8ca1a5784","sig":"037f0b780960cdbebaad639a7c00910c4e0d501fc0a5163ca621306c9341fc593a5e9af540dfcf26a8044cdc9a38aa6abf3cde2d2b09658acc93dd4a95130225"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700840819,3,[],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":6,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700202341,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-0"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","test"]],"content":"Bitcoin is not Ethereum","id":"7bd7db24de7481a839bac75e43e52935bd3495046a18236938a92418638b38a0","sig":"ff4a94abe1ee94defb79e540d7a3514782b80a48d5944fb5bcf90c6eb49fe6e85636fcae1cf105724afa2481bd3b793abbe0bf787206b5424b8bfca6c7b63983"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700202341,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"test\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700867465,"kind":10002,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"]],"content":"bitcoin and lightning","id":"ccfa93e9071f37e5ff370d05a21423968e8f705a85753726dad4595baa2f7056","sig":"84a874d9646f3bd41bd9e0e68c8d92cc277fa9f49bafd83f6bfc5afcd50a226de360d31e572c812a8a52effe0edfd54b5df3e614075c4ed338a0c463f7785a8e"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700867465,10002,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,true,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700130946,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""]],"content":"","id":"6b09a2a375f0fdf22b5fe0055ccc1f796ff7977d2ab31a965af3425a7cf85a6f","sig":"3f33eb1bcb2bcf5e9082385a419149fe1a0b272b494989cadcb50da6380581b6dd53012db30e3b3341d3ca2bf53d0e0a837b435217e0423d49cc64f023391d87"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700130946,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700427246,"kind":443,"tags":[["t","nostr"]],"content":"he said \"hello\"","id":"1195bef02ef498fd8e477acbf864375e548e50756ab004122a5d0e9d7656f219","sig":"599478ac59c3c7a89b4fe4a6e1513bc676d644304bbb4e3d415cefff7a4c7f84035f78a5acdc2075e68e74f948e2b373b286047c0bd1c5a3ff90e8f67d2c34d5"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700427246,443,[[\"t\",\"nostr\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700749527,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700267515"],["r","https://example.com/4"]],"content":"back\\slash","id":"1c92bfadd7f0dc5d2f38cc503515e7a64c4cf1381618d669cbbf0e07a7377297","sig":"336b1406998e61017236f91e00bf0933ea552c041aba4c6afec81e42ebbb63e7d6386526d5ba99bdf880118d38e58b870b50fe45ee4944acef0433bf87b1bce5"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700749527,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700267515\"],[\"r\",\"https://example.com/4\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700792599,"kind":15,"tags":[],"content":"control \u0001 and \u001f characters","id":"e48bcafa8fd49c4225781d2de29dc0306987e00f3338e4c8d2697b5b6bca6029","sig":"2a8057a3f5f04cfea88e595546144a2f17ca302f8eef120a81ca4321753444be3009fddd82dd6ec0ffdee6e61072f57477bd708748defcaf8f1ccc9ece2f3e87"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700792599,15,[],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700250492,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["-"]],"content":"he said \"hello\"","id":"cb1c6bee820e8b5070957e0f94e475dfeaf59d3c7e552a35097eb3ab4e3624f5","sig":"5c5508fae2cb5b051de945e802282c924f9fb343e3658c8ec9e1053b67d3b870e19dd1978908e645ac51a1f9fa92a7ebb8b9f3d52f574046b4d52beed116e63c"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700250492,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"-\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700455200,"kind":444,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"]],"content":"plain text note","id":"ee1644f08178936829c851f97ea9b4b67e76c3f2253e65d3a0134144d4696f8a","sig":"9029a6d30c531da44b770a1fd00f1a2d34102d89d85e81d5f6682a5cc2245eebea2be56e5dab4bb632ef46046ffda2ab5bcc8dc31b2f63ef3c9a8a924ab94838"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700455200,444,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700192676,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"]],"content":"back\\slash","id":"cd0a382aa845faa9d4cdd27d5ad79a4c59ee9222e46491da66609f50db5dd934","sig":"d8bbb2d0290725de9ec41d0bb51017591f06be717daf5786abbde81cf29d1358a834b3e0f039cbd0cbefc9cc75376cde7a5851ed037f634ec1c98c53ff3cfe8c"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700192676,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700074029,"kind":30023,"tags":[["d",""]],"content":"back\\slash","id":"a2ddd1654583618b88fa3aeb00d404cb5059162d257e39aa8208f82f5307c176","sig":"5559006af5859bdbbd25bf71e11014ee34f557c551a97e42d37bed79f87cc891fef213d59eb5d08bc4f0a2482a9f34d6711fccf21833ee7464b6f312e7165a3e"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700074029,30023,[[\"d\",\"\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700002856,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700256788"]],"content":"control \u0001 and \u001f characters","id":"d28cad59064480b73bf44b278b9aaf5de2f125c77e4cc93acfd1d9a9bd192dca","sig":"8537f9b4641721ac593bbd7f0306ef96d588842628efe6cf9f489767bf784df619d75479e48010445b3010e1f80ccb619897819f0042d7fe064430910715ea72"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700002856,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700256788\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700118497,"kind":10002,"tags":[["d","dtag-3"]],"content":"Bitcoin is not Ethereum","id":"be29da64ea074a08f27e806f096d543f01c6c3ce7fcaa0a29e78c3f138ff913e","sig":"5c7c739fabea4ba64fd7ab0545e217653715bbf395857eaf3cdfa4a1d88c0bc81008cce218bcc22be05af6cd91031097df83e89181e4120d7e6fb3d78824eaf6"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700118497,10002,[[\"d\",\"dtag-3\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700522297,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"he said \"hello\"","id":"a445728dff4e1b7270e482872528cb503472e2297c38bf94e3c01b050953d37f","sig":"cdf5b72ed1eaf6b4494bea1fb7ab2aae9fa4ccfa89771f0c81480ae4c853feb1718b44390821d66ea60405b584302695428949e6178dcad8334bc24db05bb877"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700522297,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700697291,"kind":1,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["t","nostr"],["r","https://example.com/6"]],"content":"nostr relay engineering","id":"84fe2f271c1ab1be6b81cb8a720fa7ab3f90818420139784b131fbfbf7e8007a","sig":"8fd732e0db310051591099223e85da6f50448e3f564d88fa59b2ebbec86563be0eb6f6164284e9b86d0215c379acdf8a964cdc5b153cd8dcddf42bcf508c8239"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700697291,1,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/6\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,true,false,false,true,false,false,true,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700249708,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"nostr relay engineering","id":"cf45fba2fb208d6a9a4cf55b0fe5a0b6e6791776a1fecac492d412abb2184122","sig":"f68bb55f149b8ee74c76d2cb75b0096b5f8a4bc8ed222ae9cd910377bc6bc021cc7ec9fc9f2b92a414a739bfe29bf6bb99e10430811bbc6fb1f91db502204813"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700249708,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700540753,"kind":31989,"tags":[],"content":"emoji šŸ˜€šŸš€","id":"8c7b4ea1f5df2152ce3cc9d38e54728d898e8ac3b43fb44bc27697db0777f8a1","sig":"1d5bb0fca0ade286bcd2af95537c3cdf8720ddd7499b886c9c802a16c14d8002a191e2f6c61e4a408d9d3cdc8381b3e5f579526d31ba9a5f13f9fb0c80be4b3f"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700540753,31989,[],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700573108,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["d",""],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700184113"]],"content":"plain text note","id":"209178072c6b4d8203e5ef7cd2d74b2545df6f679445e38a1bfac73ae48fe06d","sig":"57e9145758a0ba8af8ae42c6111a33f5bcf96159796ff7568704e33bd0d8cce8e0eff3f38caa73291d414b73918661e1b2fee296dd75bd9e44100797769f3ae6"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700573108,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"d\",\"\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700184113\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,true,false,true,false,true,false,true,false,true,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700576927,"kind":31989,"tags":[],"content":"Bitcoin is not Ethereum","id":"d3ae31fbfd609c88f13c73c3e519210c78b8bcc46676cfdb2ac4a117715522e1","sig":"a3abd12c128e2ec44674644f93e29af6c18bda097a4239944c3434effeb3de844ad8c77762f712dfc03923901b340efe6badce2ec81323ad04d87786dfc12ff5"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700576927,31989,[],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700056752,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"back\\slash","id":"e26625438c8ede6f5d31ec8b9c01c2caba922f639babb3912e36cfe3502af92a","sig":"9bf95850d558af72a91a7d85c194e3cf0d3df1306fa52551904fa93b2796024c492709dabbe5fbb6cd8363c59c014a15bbebfcaea15705a60c87025ef6f9554f"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700056752,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700200671,"kind":15,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"]],"content":"","id":"d518cb34c3f30d0083c732494bc108497e15bfa43a194d7cc585fef721839204","sig":"4dea0113daa4b8fa727352398e67e415954bd287bd21d92b701c929a5c363711c41e9d98d7db2284644b236418ace2f88b4f3dd9f90363f88b6989739b89d31f"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700200671,15,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700888621,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"bitcoin and lightning","id":"00b71b8f244e283d789d3a298dcd5d9cebde8a41059bdda01fd25f8dca4bad8e","sig":"1f9400b60897f9fbaccb50adc5dd123adf461ed6d504549c314ea89d815f1bd4f26334514f452b1dd0b146895c103e88cd5a31473b8f6da951d2fdd6be5eb3b5"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700888621,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":8,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700252867,"kind":62,"tags":[],"content":"del  and line separator 
 inside","id":"64dbfb3b5dd2019792683834b48a9f0dd11739ec7a71110961cf43091ec8bdd1","sig":"3cadff6fe0e3b0dd65ffff036084c9b52befb05d1a24c911f37ea3edb460584c4eba124fa2ea1a9e739e2c74f647fd6bcf0d35a2792949116226c3d3016dee3a"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700252867,62,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700633856,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["d","dtag-2"],["expiration","1700243293"],["r","https://example.com/1"]],"content":"he said \"hello\"","id":"1482dc20603757c79c3832c65933db9f1c24b8030419ac088f83e2fe52b7d2b6","sig":"22087a06ea2018f3f54d5d0c3ae3e31a3b04852616aff86139c08398d98a9adebefc823cf7a8c85a9bd259a275b5fff4eb4456a46599cf7c26a8d7da420ededc"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700633856,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"dtag-2\"],[\"expiration\",\"1700243293\"],[\"r\",\"https://example.com/1\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700359689,"kind":15,"tags":[["d",""],["t","nostr"],["-"]],"content":"del  and line separator 
 inside","id":"367029657444d0ee498edd98969d1ce973051013b24d5b09f0917579c1a82be0","sig":"a95a1204478738838964575eb75c1ab83d16fdc61510abdcc31e653927c5dff1c965daea58f93952908b8fd0415547172b9baa934bf76c19c8bf5469c76bd29d"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700359689,15,[[\"d\",\"\"],[\"t\",\"nostr\"],[\"-\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700647174,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"plain text note","id":"4819272bc439efdf15ad1504077e0bd218a79cbd3759fadbb854c4d60bc78688","sig":"ca5f185a471a4725680a94cc2212b2534a9fe50387b97a6d495f5973b8923db96a8387454f783828c04f4e04fb35d30203cfaf5832637991b4459e8562917973"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700647174,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700807298,"kind":7,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"]],"content":"back\\slash","id":"01e7aeb38ca48c5b55b5eabf9bcd8c96add51b213953af2e98e1f84bfefd3529","sig":"0c7b56dd23c5ffde40a122069a93966b41eda98b39d263c0836d372308a5ae142ef31b7f7f73f0f05d3b92d045f2c11500fc5f461a94c21ab149a3abfc367149"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700807298,7,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":7,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700065902,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","test"]],"content":"emoji šŸ˜€šŸš€","id":"f7f9b72d8f00ba5ed1b34fc1a5c74ebf7ebd31b78f0310deac4c18e556e7137c","sig":"ab9853f48bf6ab886c2864321025116e9933dab9e4dec6353d8ec3d02f1c8a5a44f70d2944ff5760444ce28e58aa3ad5540cb0f64316361caa4deba07103df5e"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700065902,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"test\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700698907,"kind":5,"tags":[],"content":"control \u0001 and \u001f characters","id":"6c14c6d55ef9a02b14c34b9c5597d6e9332c424a721896f5f7dabdcde013bfb9","sig":"9d4b922e10936391b28f63163084cc2ae53dee119f5570b0f238a29970fd940e44a77b56b052be1efd79e41470d7edb91d02ee816fffa5e4f754c8603d6815ed"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700698907,5,[],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700345545,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700155455"],["t","nostr"]],"content":"control \u0001 and \u001f characters","id":"4e4784b0ee91634839e212257097da006776058f93dd208b796d9b778e0dc5bd","sig":"b64fc46e6e5e9b47d8fc6f96be076c67437d631aeeabf48e460f6110bc692c1b6105d6dfcb28869f6d9a22391f99193b1b92bcfa6f33f45606d6a0099c832687"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700345545,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700155455\"],[\"t\",\"nostr\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,true,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700234956,"kind":30023,"tags":[],"content":"bitcoin and lightning","id":"51a6eb339d625fa3a33eaffbaa7b27ee1b2f26cb683175cc2bd15550b4926301","sig":"e52c516c5e432b7ebdd6ff6337847d1a5873450edf4d7aff2f6a56ea42dfac6edc4060e5bc81d2290a25c9970e75f4bcca92df8e6bb8224060d5f939ec6ad7e6"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700234956,30023,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700438819,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""]],"content":"","id":"279fd5ebaef8450f8dcbfc945b418d382fe7b5ec645071b83a8ffd7c5efefe9f","sig":"e97b214044e1198006edb7b53983e97037849869d35523211bff0ddd1694f61d17644a96be351113f41cee49d1e33d13081ea2c616be082b8d245b42feb01129"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700438819,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700580367,"kind":0,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["r","https://example.com/0"]],"content":"control \u0001 and \u001f characters","id":"6589828918d68c4d96dc863e966b9cde4b6538af2d2de4b97b68589bbaa528fc","sig":"73fcb9270452f62c9cf9a5ecd5cd48a5d87c8028b6a976ed6767e1525b1158a22030e46841549ec225d3554ca9c2f48c376bd170f46fd325954410f776c5b3b3"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700580367,0,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"r\",\"https://example.com/0\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700267219,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"emoji šŸ˜€šŸš€","id":"8b8a3d3517693fdd2cf0cc198ac023a90352afa868d4653d9ea036ecc722e285","sig":"f777206b7d28c555e761beb2d3a8cf701e71b1aea296378db7fbfda276c60521c067bbc113e87f170a81f7f6e3057106e7f9e590dddad48e632868f9890dd6f4"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700267219,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700352835,"kind":0,"tags":[["d","dtag-1"],["t","nostr"]],"content":"plain text note","id":"6ea92b910bf1cd7ac77bfab7d61d01549662654aa202af7507511d471465b714","sig":"8bc1818b6e71212a440a935ec50bf35eae39854ebdf0dca8130bb9edb767ecee428efa7f085e42b7bb5314882b8585211186125297fdbfa2e3bb3009e9ab8e17"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700352835,0,[[\"d\",\"dtag-1\"],[\"t\",\"nostr\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700257225,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700253789"]],"content":"nostr relay engineering","id":"f76f66edcca28f6c3d9d72f94811f160d307ebe3ee98d7b85ce6a9095f944c5d","sig":"aba809128d03394e798ef2de844ad640ee41e978f04bdc919f3d69abaca966639b6dbc0612119771b89b2bc5e4fc625d197afb79baf9c7ff0282c8ee4697f2cd"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700257225,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700253789\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700030158,"kind":31989,"tags":[],"content":"nostr relay engineering","id":"3837e5ef2c79f46d5c0d02b611d94d5d5de731e69248a4ee9a6c250d5148692d","sig":"29ad8d21d1e20d0a1bf89ab41366a0a4dfdc1fdf65e6f9e262936fcadeef0c1e35fdb2c9ed516ef25f928b7f6d3a8c63281a953ab8913fd03b67146c1b6cde62"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700030158,31989,[],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,true,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700796040,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"he said \"hello\"","id":"e4915b3d364e35bdbd6f6289c7d6d0a1fd1427bef5e766c7634071f26291abf6","sig":"4102a5b8a0d99a9ca66b66aea45e8397e40272c8fe833148384091b575b4f1b3eb4b6924c66ea21a20dff143d0118ab30a8c1b3ae90805a3e2bdf3fad2d12005"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700796040,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700546852,"kind":62,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["d",""]],"content":"plain text note","id":"7cc996d3935a7f5f60aa25602498092931814ba324b1eca1dc6c1e33bb904e02","sig":"ce40574884bd1bcbe23923bc45e4a9b5d88bd27134d96c4d6bd8637725681fa4e1a181a12b2c25809e15b44c58f61c2a9c1b23e85e60d4490f1376a85fc3f5c5"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700546852,62,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,true,false,false,true,true,false,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700530279,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"emoji šŸ˜€šŸš€","id":"4d8cfee64c9b239c7b39312534458c10c197df46d7ad15e20ae8cc862c866c0f","sig":"4189269894a159c74e9e789da90a9a31184eda832e490c0e2c2e97773631e00237cb60692347d00e3c2413ff8870578e6abe76c0381dbaad94ccf925522d470a"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700530279,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700894725,"kind":30023,"tags":[["t","bitcoin"]],"content":"emoji šŸ˜€šŸš€","id":"7112667ea209fd69855248490f701a4e317af2ed44a93843cd92aa1895e0b74a","sig":"0c5c839f2069df3efb4ecdbf3107dfda889686aff2e3bd6b45cf626abff86ca067b08ae61c2ca53efd62356d89df33611c8e9d14cd6a59e88e75261e4ecfe4b2"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700894725,30023,[[\"t\",\"bitcoin\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700401853,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700252998"],["r","https://example.com/9"],["-"]],"content":"he said \"hello\"","id":"fba9f202381621b017b252949950d7e5ed118aeb2fba640392774b6a18ebc1e3","sig":"0d20e65012e6ddf6c1275985a21ba24fef180815c6a1902c9359f6506050e05dcb247dd5738846e36788c03649593f74213479a44022ed37e1fd97067a4fd7f9"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700401853,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700252998\"],[\"r\",\"https://example.com/9\"],[\"-\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700538475,"kind":445,"tags":[],"content":"control \u0001 and \u001f characters","id":"c882459d99d6cb808ef9975530b5d56da54d282e755bb3f5dcc909cf6a7fb6c3","sig":"af5ded24a2287703c6a42ab6ffa3c10e1eea6fb82f32738ddb75531d3257f05c3f27ba59b49408e7a2066d76b5adcef08c6683da69213983cc1635c7a171dbac"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700538475,445,[],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700545935,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"control \u0001 and \u001f characters","id":"3c5ba9bad3fbf84a0cc937f556c83a016226fb98687c61ec92fd2a2d01bf94db","sig":"ab3a582a4cc25bda4328952e3ab193a2ee83184ad835888fe16f78ac32e46655fd293649db0e335a195c94db9c5829ebab6170296de6a346b429b1b7d8e058fa"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700545935,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700285740,"kind":444,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["t","nostr"]],"content":"del  and line separator 
 inside","id":"312f3f21fb8529972d1533ebd29058d16c15db6f59f8e8868fad881e68233cb3","sig":"3a34ea85c036231fae4bacab4fa4722181d096f5994b5bf8a5fdaff973d6d8d9c4c933355976c4969516145c09c3cf95dea43ce544f78993f087dd52c91ffafe"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700285740,444,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700553367,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"emoji šŸ˜€šŸš€","id":"efd8cd1396f3dc416a4d34fe966a3d2020a8a701882e4358bf53deab0356303c","sig":"18f73669f0ea0d9a7e22e485bb32530b9231a486ae477d2d83f5f9cbf5f6c128ef5f11cc8b7e60f51c9c8dd60a20343b293a6709ba1829276aafe8626dfa5791"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700553367,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,true,true,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700109828,"kind":1059,"tags":[],"content":"emoji šŸ˜€šŸš€","id":"bcb04c4b9534a57691389bd5f2d99c56e1767c0af5fb8d37a0fc0db7dc12bb72","sig":"d29896132725cbf848489f87f61acb15ad17177830b414636bd4ec7e929cd403f4c5b66383ac6c0483dd604d9d45dc3e1660fc7c198b6760b1f1b9c1dc65b35a"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700109828,1059,[],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,true,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700393657,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700267941"]],"content":"back\\slash","id":"d343df6ba0a0f1c7676d89f22b1f3db9aded33b66c410039bf54bdff78c5f6ac","sig":"ffa1fd34cdc7f69c9fc23007a65453bcfdd015c742310a597604b7bfb2beed529c7952c27d60414df3a8233b7e7fe11756e1a7cb4ad6006faae206db61a9a8df"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700393657,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700267941\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700406078,"kind":5,"tags":[],"content":"control \u0001 and \u001f characters","id":"e5604c5a769e2f9ff5290fa03484788327e464622bd84607ade719bae60eb542","sig":"f19a14e32b13693a2df123820d8d3a8296d8011bc5f5be41e2db7fe9c754df3c4ebb189c69ad89859b6d74f01cd89a57b7544659283c8f9e4adcf7eed05ccf0f"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700406078,5,[],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700119575,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"]],"content":"bitcoin and lightning","id":"28b977a8913c011c797df24326f968158f4fd00c8a55eac86a6ffc81d26bb871","sig":"fec413c99bb77fd02ca04e8890a6303e955d564cdb192fa9b3cc787796d4b0b42d1904321b29e00abf18b7432b6053b1fb7f03d0c92a4d796d64e7730e85dd66"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700119575,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700269371,"kind":10002,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["r","https://example.com/1"]],"content":"back\\slash","id":"ba2ed55afc469c3366cc29ca87fd764cbbc39a5704e93879e17679941302382c","sig":"1d4f68af4682e749f5568b0dd39286a03ccd075bd304d3b458dc1518b3f83d353a62509b940703a6d7221ac57422b8168338e744986eef59890d6f8986ece22c"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700269371,10002,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"r\",\"https://example.com/1\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700434173,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"bitcoin and lightning","id":"b03812d4828aca916efa1aca4b7abce5e8fa59266c1c49347ddd34018456b9d0","sig":"d4b7728ccbe05b68ab7fe49b2b2ceee6cab44079341805722fac4ba3b436043e32d64aa9ab44144f3a847c40ae044a58cd4365e0e09cdcd22052c64842f14fc5"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700434173,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700286027,"kind":10002,"tags":[["d",""]],"content":"control \u0001 and \u001f characters","id":"6bc19ffe4ec409f9e5eb28ac9deb947ff39cd922caa4e024c828f3938c0c1afc","sig":"7eddb08b1664d4b98ff2f9607a6de7971fef682494054438eaf2f9d7f2dc0ad3e8735a2d0c2d5a99335043f8a0d8ed23dde6be88c20cdf458acb87e9a0ddc93d"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700286027,10002,[[\"d\",\"\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700957111,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700111087"],["t","test"]],"content":"emoji šŸ˜€šŸš€","id":"618ebda721ef092c8878a9a67e088a1a41775f30c47a7bbe7820a21f9b80439c","sig":"16c3d05920e7a6be280554572939c770702fd7479cac2fed37879a50e0c57ea8c3cb431efbe03073e85dc99971e6ddaef7f3124416f823fd808fda720b1dcc4e"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700957111,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700111087\"],[\"t\",\"test\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700675009,"kind":15,"tags":[["t","nostr"]],"content":"emoji šŸ˜€šŸš€","id":"8d6ac61443f1b809bceeb11f116f41f292fea764a4fc10d5786b22fe353d9c2c","sig":"4c17edbceb642a896d657b7b2e89f8158a58b3434eb4eb4c5e773f382c6641ff4548876d1637db124e3429ef06b1df76b304afac9d78bf9ff1baf9b35862092f"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700675009,15,[[\"t\",\"nostr\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700067294,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"control \u0001 and \u001f characters","id":"9909f2943f04342c521b14af66b4c00728871335237cca2cfcb91e4497d48315","sig":"59ec41aaee1fe5fd99e68f8a658ae4bbad7a29fd9930dc3f4070d5153531da0a40eb332442df108682591136f1e4f8ff713819b43410ccae7c67f0509cec30f5"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700067294,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700631602,"kind":1111,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["d","dtag-3"]],"content":"control \u0001 and \u001f characters","id":"f85db138c2774b3bc0c2add172274cb646192d5ff641f022968031c6b25a450a","sig":"93cfb8c687179c62396663214fe0bcb4be254f8b273e72216d2defa03a4b0a661e9b9d5bbe8c301dca7c5cbe903cff04864b37fb5216087c150040e241b93a24"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700631602,1111,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"d\",\"dtag-3\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700798683,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"plain text note","id":"557782703ff32c57706990e30e6047b8b54d20fc500126109f06ab9f30277ef6","sig":"c324bad52e73dbc85ed870ee7586f02e2fc9c9ab33f3f294f0d00fc405b02e17ccf9cf88a312c693ac23c86f98662abd1d0e8e306112d73fe7209f334fc894b1"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700798683,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700073314,"kind":31989,"tags":[["-"]],"content":"","id":"ef8651f8f37507cc1cd4e53e93792aeea9239e0675c8cc309675dfdb4a6cb178","sig":"f86dd6ccb341b983777a7edc3077d2aff674ff6ff8568b246b86618c5acd112442a70524addfae61cacebe00364e4b26ef91b89171d7aab48060008819346223"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700073314,31989,[[\"-\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700029229,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["d",""],["expiration","1700170275"],["t","nostr"],["r","https://example.com/3"]],"content":"del  and line separator 
 inside","id":"e30c12af20fe27c4fc9916b951be2cdf000ad3515571fa2b28d07f1da31f4838","sig":"2785e078090d04de810aae7a3e948225bd3cb58749c1446b18ae5527b631cf422bf3f85a69511df24292df23220278298624054fc615c088e564faaf967fbe1c"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700029229,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"\"],[\"expiration\",\"1700170275\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/3\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700166574,"kind":62,"tags":[],"content":"","id":"e4b4f658e745480e9b9bf66619a95292911a022243352a6a8d990d27f305e4de","sig":"9aa8ae721729306341411b0d8a84fd3c155dce496477dbb3a38be41b40cd67a4148d4a41615eda5f450e49652130f219da24027b3396ed4b422e4af458ab94cc"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700166574,62,[],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700581765,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"nostr relay engineering","id":"1c7e8d81077db2e5c616583e188a5cd4dcaae6950ff1e73f0fe89a08f06d0e69","sig":"08d319bac6b237616c0ea521ebc8c2cb9070ef0721b43b13fb7a5ef5a045d74c60522e9a82df342fbce79271d3be25aa2285b1d32e73f686a9fa8fff41cc86ff"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700581765,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700989146,"kind":444,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"]],"content":"Bitcoin is not Ethereum","id":"13e85f321c17d48d847235f189fade4c7686c376d89d9579fec7ad481c0752cd","sig":"999a5c5eac83a3851a651e758283c00341fa7257fb8de23a506d5e14bbfc9007c15a33f4adf29c49c049e9baa314306b276c85750f637420084602dbb0e9e5fe"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700989146,444,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,false,true,false,false,true,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700464243,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"back\\slash","id":"54184efd707eef3a451e271295051eb1c4706d04c5934b494e705f1362f64517","sig":"523fcd7eeedb4ecfbe9451ceb25e88503f25d7a86a75d06a15fece98878b0b09ee5b2535441366256acfd197392a4e67e5c183e97b631d2a78f37f465b44ab08"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700464243,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700002212,"kind":3,"tags":[["t","nostr"]],"content":"Bitcoin is not Ethereum","id":"a2328fd174b71a502d941804d658d3d98b0f5561f1e4d257da803851be626a0a","sig":"53ccec65b271e7e11546678c76c924626338d2485d592af6184fe73007f646b05ea05ef52ba4852e5198ce61348ba31e1dce07de830792ed09866b25620bc135"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700002212,3,[[\"t\",\"nostr\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,false,false,false,false,false,true,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700826954,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700191183"]],"content":"","id":"841a5c8f31aae8557bc0e13165d374eaf8e735dbc22f5f4c8e5206313139aa6c","sig":"1a429958329d1b417a9a42b20b37847c56dc686d6135833669c0371d6909788b1291a487a22c3d626ce59b10dfd61ac4c6cc677c5df3caaf09e35a1a5b55999e"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700826954,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700191183\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700142838,"kind":31989,"tags":[["d",""],["t","test"]],"content":"he said \"hello\"","id":"19ae46fa165fca25b1211ee7ebee96753480d8a91c381205d3cca160d2d02c77","sig":"f7e9ea1255df52f2cac7533fa5e0ba27813b2ffb722f56309697e5d46e59d3feea2156f5550020513fec7a6ce46b0de2b40b18154b17efc4edb90d97c7476b3e"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700142838,31989,[[\"d\",\"\"],[\"t\",\"test\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700279125,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-2"]],"content":"bitcoin and lightning","id":"30e17358aa26f1f5e2c0602035b97d3422b91e004fccfc10fe082e97344730d4","sig":"46aa22d9f23a5485985cea297c2101191d094fc2b3ceb472ee7451f4b6917c549d42ce7aeff33ccfad450bec771ef08e10bae030bacadc3daac6d4310eeb4b07"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700279125,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-2\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700792750,"kind":7,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["r","https://example.com/6"]],"content":"he said \"hello\"","id":"326d95396287cf98da689a1ba9990a14ddeb6c51c91de36916945e176259051e","sig":"2d8fe7b3c27d404e6cc97554a671889453b7547d93e68027b108a0588e9467169082326f57952cfd1ae62359ef82d70aa30655a9d64fd2caf5d4dc9fcea558de"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700792750,7,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"r\",\"https://example.com/6\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700937147,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","nostr"]],"content":"back\\slash","id":"81d5c99fb24adb00b69b15bc645f0f4b43b3e52bf90edb4db25199841e401bd2","sig":"41f362b1793bc01cf333a97fc569f3343b6eec2f0818d2e6d6e3912311fe86ce115634b5b833f485cede8cc62f066ff9fba62933edf43b5392973088ef7e24b3"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700937147,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700219879,"kind":3,"tags":[],"content":"del  and line separator 
 inside","id":"9b1248fa15ef9081b0bd74dfb23174ac5e10f17e3f1a90c7dece6b3601361842","sig":"b6bbef8f769de0a8250a9f53edeac38191c8ff0d3a92b4a28c5cc1da9951fb16c4d03105b3ae552cdaeff905e2f0fdea5fdee113a7419ba42df92a67434c5aab"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700219879,3,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700247879,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700199190"]],"content":"nostr relay engineering","id":"8d3df12da6124e6f1060df24ba4c59fb7b5bf7df82f1087f19dcb8a6667051ee","sig":"6b9b48e8a776eb249da5cda9ab87229780599d3e905095b20e6e23ec3305de79e05068a65764c7159f97a7150948d6802c9c0ea07ee1b47292198add5b8a6419"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700247879,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700199190\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700355496,"kind":7,"tags":[],"content":"back\\slash","id":"788f8a9cc772bc62df89336c4449645aa0490f109e205f9f3eaa1b4e35ceec77","sig":"6ae79e506376aef3ea487ee04bb8bc466d738d8316d5296fb659ce43cac546bc92e34c12394cae5b079753dc560d8053d1e8e9542434137dce404f3f03d62194"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700355496,7,[],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700496159,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"he said \"hello\"","id":"e9616f53a20f9cdf644d843132e4f08455b03a8f09a30a3e95ec6eb461cfd8b5","sig":"f9b3d30721a3c575a36346bcdbc0280a6e1f876253971ae778504d69ccef2c1be5b25618dba323c1c54c580fa3aba121f17cf9d894e57c0347bd9047d9c6c07b"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700496159,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700382662,"kind":13,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["t","nostr"]],"content":"back\\slash","id":"51a048fd7681353daaca55dddd438e2f5207bab4e4fdde84b5a96c658eac5483","sig":"730ab4b0556b74d102d57ad0246808343719d841da1bb21ed7ab0b3a51b2ed33c2c0002c0dab53cb02c03b608234173a6bdab27d40a212a438e2d02537126538"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700382662,13,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,true,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700275991,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["-"]],"content":"del  and line separator 
 inside","id":"de6909f5d461d257373099844ac55a6631f5e2eba1c317552db93fd82a724285","sig":"cce7d3c1c265625e30644766aadc579414994a1984ef28037f5fb507a7e04634986dceb2495dfeaf87ec9f52c7a43ba058a7b8eee97f83bb8601060348c3224a"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700275991,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"-\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,true,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700979880,"kind":31989,"tags":[],"content":"control \u0001 and \u001f characters","id":"eb84a53d19cfcc998c0238cd07213be119e36116d3564e21bdd72f5bbf5b44ac","sig":"fc939b24bcda602e2a260a3f41aec14a23b548b862a069596564c209e7689a052516d6c9e7da5638baa815d63079d3043819f3a39bfe6dcc90002646aac72886"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700979880,31989,[],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700353266,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700209146"],["r","https://example.com/0"]],"content":"plain text note","id":"60d33f235b6428282c956ae47aa7dfeff7474636c4eed2e973b12458803c0376","sig":"78e95678644c9d605ac0fbfa14b1433af18fb541e619a6418f419ccb53ae68dd6fd39eb390362f6bb6ba9e1b134c0662776f452c9169ccc70fd2a8124915ce9e"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700353266,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700209146\"],[\"r\",\"https://example.com/0\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700584243,"kind":0,"tags":[["d","dtag-1"]],"content":"back\\slash","id":"4133f81556ca955a0dce93c2e96817392412a2dad9461aba41c8934c5ac2cb09","sig":"5a31881770b2cbc2bf28b5440a829651eddbb535878c0dc527e261122b388adbd5130b0d6d765e1b83c0ed00ccd129434347581b63d7aea21d5c2d12099381db"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700584243,0,[[\"d\",\"dtag-1\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700165054,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"nostr relay engineering","id":"ad0c4a2f261b1761b6db944c8b5f1b375860d5bb6a821c6205f1c5f47f65237b","sig":"44818f68c4c810334535bf9cf176fe15ac91944f439ba25eacc208d756d0b43443e12bd445e359d96683f28cb1e1f011e41511aba97a9bd513af6459d87f3d60"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700165054,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700772137,"kind":62,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["d",""]],"content":"plain text note","id":"dd92292a1817c41e86a779196c4ee5cfda86b929c855969b5e888a0cc68abbdf","sig":"4a6d4ab241a7750266fe320a3a4fefeccd5efb2dc51ca3fc1712b3d0f6d6e207759409a01a62cdd8a6c2748fd57bc73ba0603b1458fb2cbcacfd5c884a337594"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700772137,62,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"d\",\"\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700999005,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"del  and line separator 
 inside","id":"ba1ed37aa198991fb845cffe9dbc8e5c5de0701f1fd5252375f300271e4c64c0","sig":"49ca0ad9ecc4a5b7b7f4fae4103cbcc677630d2130beefb2b1f26976c3dfc9bafb3a1851bd3d6c1645ff6e0167b52671acdf9ec1f86517a06fa55eb2ea863d9a"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700999005,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700493909,"kind":1111,"tags":[],"content":"he said \"hello\"","id":"1362b52579e1d883bd2ac4e510997cfd1f4875590acc14a49ea6aec7a703f6fb","sig":"a217405dfdaed54b9183f6ba833ce1af277bab604bf61cb7249a83e8427aa18bf72602c07defeb81936a69a427f649ef7317d834978c96e012786405b38f1e9a"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700493909,1111,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,true,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700736843,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700258357"]],"content":"emoji šŸ˜€šŸš€","id":"a415d88532e78959bf4416f1db17273402381ef4394bda0336b362a6b983907f","sig":"3177fba20e71e2478f0df16a1aaac82f566cf91c6fdb642b675475a9a2532c18ffcfed8eeab64d12edb9f8d9080a0748d6712468562ba0a57ba1c92119abaeb2"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700736843,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700258357\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700444331,"kind":445,"tags":[["t","nostr"]],"content":"Bitcoin is not Ethereum","id":"16369ffdeb21ebae915fa1fe9148d52221a7ef98fe2bd8398f6b9ddc842ec7cd","sig":"8632a4fb459afdb77154d054a7c36a11c968ce10ac5a0cbef7b4b2a43bc919bc8179e6e7dacaf5a86b6bf921d42a0860471779f5576be1fdf839181a0bb687ad"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700444331,445,[[\"t\",\"nostr\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700171150,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"control \u0001 and \u001f characters","id":"80a117127d9482e52f946075255547af38cdaa2eb60aba4a4e81f3426800ab89","sig":"f6fa1118d13847fd672a20ab77c5cf9e11541b82f4c2c048ad66a17409d0abc40f1c42be857bf1ec290267f874eef33df1417a8d906ef8f814ef930c4b1ef035"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700171150,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700541722,"kind":445,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["r","https://example.com/8"]],"content":"plain text note","id":"9614bf1524d0c2786fe1cdeefe266272361734e5ba8cb27489b4debf233cd24e","sig":"a6a61b3e27990321a2cc850aa8101449250c2db9e8526acb2147284212c9f572efe6f56473b90fd8b2a3a2e6c04fe7ca8d7e73f9d15d2c2af0940fe81becccdf"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700541722,445,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"r\",\"https://example.com/8\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700238039,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""]],"content":"nostr relay engineering","id":"9efd70fcf8a882c2123af1b04c5f11aa1f64004ac911b51b494e7b59340e5b56","sig":"da0b8b432cfd97741b9afdc82b687a21ec7f9948a029cd46de55b89338e8956f27882c582e47901e5afe139ec68ecda55eadb40787c54c9a3e78ed1024a9151f"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700238039,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700744172,"kind":13,"tags":[],"content":"he said \"hello\"","id":"e3d5a5c83b9e0f4aee51f601ee1dc7fdb55b391b212e124f3d8cc199e00c6858","sig":"70e87a4b82b707af01382ca43629380c87d855e317784b49e85915e63b25db7c457f5cb9e2d7b2a2316feeb9a74986a3adbd38bd8a4d59917392cde12c3b8820"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700744172,13,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700569974,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["d","dtag-0"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700170830"],["t","nostr"]],"content":"nostr relay engineering","id":"4e09a404fdc1e4bb0286c79055a763b7f573459051a9c33ec8283d9911f3646e","sig":"3c54b65c8582f0152ee08685d3c45fd0475db45e784ce9410ee248986cc0207222851f464f210bd25f44a19c333ece5df5b3281de8b1879f36cb3cc7990453bf"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700569974,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700170830\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,true,true,false,false,true,false,true,false,false,false,true,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700815534,"kind":5,"tags":[],"content":"plain text note","id":"e718df19782af25a92fc4e3fc86b59762b6d85329a8191862df3bbe2e754307d","sig":"08bfba7c17878707f4c4fe2f090c3607a128030757c765a771b85beef7b6e2679f073bde5fdb363e058fee7af174c7d250b1f21147b2a54900ecd0035148f447"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700815534,5,[],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700958603,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"plain text note","id":"ab81bfcda41470853d1c4a3b0c1662e9af144a53626e2c1967a0d0afd5f34917","sig":"aedde68b1ebd51ca4fe004ef3fefa79f86cbbb1acb3050476913c79a74f9953047761bf3f8be9467f8a282cb4e4c0d5204dc4e4369281ad91cf37b1af290f90d"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700958603,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700294867,"kind":445,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["t","bitcoin"],["-"]],"content":"emoji šŸ˜€šŸš€","id":"63772b6c8f53e506fde63d3e3cba06cf58d24cebd5ff00cd465d5fd69440a1c9","sig":"57a6ead8ca6f5c92e721ad36c20294025264d94691f79d8f7258e2359824f5c367d473c16533affef4089d51eca9c1b8021b777b7cde42c9895a558d4255adb3"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700294867,445,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"t\",\"bitcoin\"],[\"-\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700002699,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"","id":"11a398754760b163a946c099b6e8f022850ad25bb0f3d73e2804863e4fd7bbf8","sig":"4674166f785eb96f6f2d87c0210a5080b641df15ed96487870c8a408249e2c09a116962edd7010c22c886f05cec50c001c559fcbd7c79b8492498b6bff80c728"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700002699,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700613588,"kind":20000,"tags":[["d",""],["t","nostr"]],"content":"del  and line separator 
 inside","id":"f234b2c7ced60594e7da2678640255e811b81b386ea4888f377795946e431a81","sig":"4a22ce6839820e746883343526e775a9116eeb19a6649acb6ecfb4d6878959f9724c777efd4d72259ae96d333c23e5579a3aa0218022150ef3db9fd8ed856cca"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700613588,20000,[[\"d\",\"\"],[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700330185,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700282603"],["r","https://example.com/2"]],"content":"he said \"hello\"","id":"19724dbe7765958e99ec08cc86f0f749f41b834914850ad1ca144c20f904ccd6","sig":"c344f9d989e0a5c0166458ee7ea8ba7b1ae2fcff2c0ea0c8b8b8636a1aefe4bd4a2d3c6f4c438df26c5df39127324254b059f34776393a04747261340c6b461f"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700330185,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700282603\"],[\"r\",\"https://example.com/2\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,true,true,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700412403,"kind":444,"tags":[],"content":"del  and line separator 
 inside","id":"186d8aad83ca92223f6fbe4adf1cb932f9a657d3ad99a39e33b57e18b67d9b87","sig":"ea2ea7623397490fe32648c5200b26508a1a2776b9e95d8a1ad340e14dd43bd59b1a6af1d80f9e19bcf2001725f3c9d1e14fd725b373bd888372781ba0e1ad48"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700412403,444,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700940235,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"","id":"d1e16d2e9b98fb6a8107bf2dca701542cf0caadad6c74f030a2b9c739186413f","sig":"07f0f64c122e57a683a5ce36e43b5400e3a67a2cec144a42ef1719b748d19eca8b1bafcf64ad35e9392d1b97de0b61918629888db24d6aaa6050d1ef3e759378"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700940235,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700774492,"kind":31989,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"]],"content":"emoji šŸ˜€šŸš€","id":"9fbc0af99d38b4c5e77a7b4562259d76b1f8be9ec946931f0cdd6ef8df8fe61f","sig":"b8cf90e56fcb3eae095ad32da27f6bad538fae523d8a0be86b11f2809a007bd7f2f59e441d06dc7976d40e3a33f572c8e70daf2fddc279218d923e8e12a7a6bb"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700774492,31989,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700702333,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"Bitcoin is not Ethereum","id":"0297a6e988ce123cdb8a7f478ad30eee58da8d0d79046d4625a957ea963242a5","sig":"fd65b6ee474d8a039e67ffea3c479a2079180ff029fd43348d000cbb1c27270f15383afbd00c7686d8443532e9d01d58a121949742e143b7021f3d2ad9a73c73"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700702333,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":6,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,true,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700203487,"kind":0,"tags":[["d","dtag-3"]],"content":"control \u0001 and \u001f characters","id":"7b83cb396f38b1fe0ebc0f96537e492dfd7b2a2f9bac3c25abad090ee2b03713","sig":"9d36791236a8382a8da2584a48e1238a18e5bd447cb2ccae724568d5681556a22077a6c39c5a38672e131680366f36379fcd5c560dfc02fddce9d9fe88520028"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700203487,0,[[\"d\",\"dtag-3\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700471966,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700246197"]],"content":"he said \"hello\"","id":"3389d446af1dca0e310570a525723ed862fd6322968fd0a79b0b51320cd88913","sig":"c8eabaefdbc7e82589e5bd07689f71b8831ac18958af4ba403c637c847d00b8bb10b715e077f92f6df19b442f8d0aa766313bcbcadaef078e91d6709cba8cdb4"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700471966,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700246197\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,true,true,true,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700803278,"kind":15,"tags":[],"content":"","id":"51a302f68f876456a06be970930d26fb219cc0b5d524786be0a367d2ad0af7d3","sig":"fdfd320c99672ddb3896a68956bcf81e0b0a541a1ec4df6d22d4a5046832b7c0e6fe1c43ab47919204df66c141dce0bdc20824b161eb38e7eb3fa2cc4509a69f"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700803278,15,[],\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700262954,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"nostr relay engineering","id":"b2da087bce5b5819aae7f69f310532e8802dc13ed752d9052cd48f2e2eb497f0","sig":"7e9274bc38556eba97af53f84d340a1346d2bff55dacb494b917f8fac2eea85e1f3441434dbf7e83e9fddb561b6b90231f2b601e59b33a6f392e02a4e63ee9d4"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700262954,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700672911,"kind":30023,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["t","nostr"],["r","https://example.com/4"]],"content":"","id":"226639b21e3b9bb8ae74d3adbe4256b653c785bf91b4059b0528a947a7287082","sig":"66a0f172c5f859ea3202101701499e9237d950eef5d67cf3de6910e9955566551456a4362afc329c5f28eedafd286eed750de205a527e19a77cff026ef01cb57"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700672911,30023,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/4\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700088992,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","test"]],"content":"back\\slash","id":"be564ee740351b1eff6c0e729c1ceb372af9c7d533b17c4e784940a09ec50012","sig":"d9f0e2e96fe0d50ed9e8693f3b4b4d6cdd65b6481d0b2a8e9828205a2ebbe5d2f026db15dabf69c7082268c273deb176d9856c3512d4618987481806dea8d951"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700088992,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"test\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700369245,"kind":62,"tags":[],"content":"plain text note","id":"0a77cc00e200344b1df3b701524d4c9b757c453b577846ba3bbc51b3baa4dbb0","sig":"b8ccf5ca32d290971e578796b12aa5ec546cb4aa672d74fdcbed8a0678adc68bdc01938fc926e81cdc1e49dfbc5cc2413cc599e19eb21dad484fd9c329dbf064"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700369245,62,[],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700859757,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700291958"]],"content":"plain text note","id":"dca8c6b819b2dda66e94291297703e8ea4fff78abb20a623fed66028b55f921e","sig":"fa768f052df97b25d0f6275f1456573b8c8f27b7ae3a4e0cc9caae50081393cf899df567543086488e714eabe73a454caada8b396ac1c24c679d7921a4b75736"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700859757,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700291958\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700677928,"kind":445,"tags":[["d",""]],"content":"","id":"2ce523821d1e1d21535679c653b7a5a14d9edc7594a4a34a7c4407cc893c83d3","sig":"effecde0bc6c8a1d92df5b0b79bb828eeb8ff00aee5a5a4d74e6c6648fe0e979978a9176fe3df4c44d1340a4a1edd77f51760d18fbdf737328c251ee4948dd6d"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700677928,445,[[\"d\",\"\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700077961,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","nostr"],["-"]],"content":"nostr relay engineering","id":"0b22d9a52b3e88f38f5e01493baaca55f2d2eb72a37d48b485e090d14412de36","sig":"0c8724a4a5acbe9d7b515907d6e7dcf8d334a6ea3cdbdb5d055507ef96419a055d19a66deb78a1577af7c750a65d89070b0f0b7d70b33f524970ba5ae45d119b"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700077961,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"nostr\"],[\"-\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700176557,"kind":30023,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"]],"content":"back\\slash","id":"833c4dd536f5cd55a6ca683b279cb37db130b3ac5c364b6cab32f9e2986bbcde","sig":"e5119f41532aa60f6d793df6d9628acffea76601cf5fd9cc832c97357c860ddafc8e70c414405a1279e9e990251368581979db2fb0c8115fc23a9ed39284b869"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700176557,30023,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700091369,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-2"]],"content":"del  and line separator 
 inside","id":"23ac85054b469b4f5bac1c63b6e2ce51f2bbb9f86fb048f30ba58b3d4df403ad","sig":"6e7883218589dc34fc4a3a77f38af22c304d3f65b8f460cca06df9b6cb3120e39032558694921763cabe537041dedd25692d272909363ed80498b0fe525e44f3"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700091369,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-2\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700478741,"kind":10002,"tags":[],"content":"he said \"hello\"","id":"8c90da78de93b968ee36742551b2aae702aabc8a87d5890b60584b8d39eea8e0","sig":"93115e64fa8946a5c555f6e6921cc4abfe8e47856b9746a4c90e17e2ff21d5f17be3314b08f4cf8be2cbfd391c5a37a67189a8027d019be35b8d91f3f4e50043"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700478741,10002,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700858750,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700187648"],["r","https://example.com/0"]],"content":"emoji šŸ˜€šŸš€","id":"6d2df7c0140f09eb7e2e9bb8e3b3b6d240bc005330e7499a617bded60ef3f7f1","sig":"88a4ccadd99e443b53b60aa8e8ab8a8ba64750dfe90168dd0f8457624b94b4cf0fcc366d224504efc5cd723feaad1c088194ebf259a9db33fc70d98bb9430161"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700858750,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700187648\"],[\"r\",\"https://example.com/0\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700335520,"kind":444,"tags":[["t","nostr"]],"content":"back\\slash","id":"318260ac082ce970b99b2a545f30c7d6c26e5849edf101abd213d947a3b451e6","sig":"d691b36179351ea2795e1bee6efc42ea636bd19dab2d8a4b75b29345ab2c5e3d90c6f2f7aa33fddf914340b3ce04113b61891ccf7f793b798998151c7664a4fe"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700335520,444,[[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700957086,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""]],"content":"plain text note","id":"210e40a93d6c9e2f2e0955fc469ee6440f33cd260451f5544fa6ccbbc32e7866","sig":"ba5a5c2ae72dfc8c40b39593beea2d3812a71549ad3e57fe1c02e9632a53fb2d4c2f8bde13d3ad59cca9231b4b1788205404b619d3ac0c16f582fd168202b1f5"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700957086,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700446805,"kind":1059,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"]],"content":"bitcoin and lightning","id":"25333845464a03c7d39029158b8477bc4f92e993038a34ec00e3b7a763c34af0","sig":"93648369b0ef82173f4390d05b4514d370faae0ca7b66723a3d8ce3f632459468fe475f38466b8ee06e7a8ac6773beffaa244ad13f6254f206f65b4800a1f207"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700446805,1059,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,true,true,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700979031,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"plain text note","id":"7b3332f3c645fc1cd3c03e2f1fca888dab11c04e3fb710f985a723d50b4770af","sig":"24c82b67614ffa1fe7765d7862e95a1d8c47e5dda4edc8472532d0b8311f84e7447145477f24c62a1d6a9e11380b7b345deca7292fb94d4120ea594d38017624"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700979031,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700407057,"kind":7,"tags":[["t","bitcoin"]],"content":"Bitcoin is not Ethereum","id":"792c8ac9c257a7bc3c1f777d17a6b14fab24ac0b2e776e1415913c363e3ab2cc","sig":"58c69bc0c7aea67a512535fb23286b65d8a3d9d02ca8b06d02959f1115b4ad15d962ef559b3dd8fc789fca00547c156192d68ad66ec9f14d81e597b73f10dbff"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700407057,7,[[\"t\",\"bitcoin\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700475471,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700299100"],["t","nostr"]],"content":"nostr relay engineering","id":"4f177c9db15195b95da934c8758a710a5879ec0377796c4d6f68974ed4f27462","sig":"ea34746dc1138dcddacdd5829a807dc7dcabb08fa7c5d26966557ce4c8bab2ae9312c52117e53a71ec2dd9b6feda9154c3a4428ca10db6172e4796c293ddf4c6"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700475471,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700299100\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700227638,"kind":20000,"tags":[],"content":"del  and line separator 
 inside","id":"9170a2fd1dff0d860bf9fa57449c082f6371098d8ded82d28d4fc93395e5f258","sig":"ffde39a1924c452cf74ff26797c769a573f223238598dcdafdfa13ad5f8fc15ae90fd154e38dfcb155a8240db1bf5779bc0aebfc626a52dc2aff4f83067025b9"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700227638,20000,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700227081,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"control \u0001 and \u001f characters","id":"967c8f86aaf83db339ddee12c53050e93b19ce95751f1e6972793f7bf56df049","sig":"04ffc93ed21f01dd7ba25fae7455996a81f2964ad4c42d296f922d8e5aaf91cea188276bcf055a21d00490ad50ff6f235692163bb452760a3cc60a9c3bc5add5"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700227081,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700092207,"kind":62,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["d",""],["r","https://example.com/8"]],"content":"he said \"hello\"","id":"b8f799fec489781087eab773fd8ac06433f1475031a93eabe864cfa88cd7535f","sig":"56de58d5d5ce4620d54470e89e490ed0bd4a7f665cec0800a273a1c935cabadb1154937dfbb2a3d5773694e4c758d6aa7bf67721e41725631f05017331c97d56"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700092207,62,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"\"],[\"r\",\"https://example.com/8\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700092983,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"nostr relay engineering","id":"6c42e1a8191ab10ca88d1c6ad68e2b6c63eb9f84674b0c9e161f8ab524ea475b","sig":"81e8ab44661aee6a7b42df130d82f471c3be838eeeedd27a17efa751488a819ab7f792ee6a2ccd8d1e7b7620c8f68e4411d6cf3337f0f7c51e4f563e4198666b"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700092983,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700537152,"kind":10002,"tags":[["t","nostr"]],"content":"control \u0001 and \u001f characters","id":"1a8f7b0927965006e98d0ff3cc049baf3eb8b3c2f00dff73c43d3ef0f61e937a","sig":"a40af1322a689975bcbf5e81b8e15fa2224dc7018105bcfe5cb25031ee1e17392e8e1adad096cf17bf28af1b66c4b916c4ab6b629f0b0086a18ebe3296d1417f"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700537152,10002,[[\"t\",\"nostr\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700987238,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700241476"]],"content":"plain text note","id":"d83e1ec7ddf1d546d6abfafc1609a8033611c338c10d4234d895491ea5f7fed3","sig":"c1242420b31e5f79fd4771cdf6e2284edd825fdcc21fe540031eb06fc625ae618d738e9d538d4ccbe57ddd8a6c452df46102aa818e930f260412a5dba7c826a9"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700987238,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700241476\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700963196,"kind":5,"tags":[["-"]],"content":"Bitcoin is not Ethereum","id":"d6bdc41e17e6d4d822bf78c8a763994bc9322875303a543f86753d8d1afd46de","sig":"1fc5b6eb632ee90b0084e30e9fe5684c4b97bbf233c68fb6a97f2d69bfacc24ed06bef049848223de73ac58af02bb6c2d95eca024584ef2c73bf82d619283874"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700963196,5,[[\"-\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700799763,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"nostr relay engineering","id":"7cf3031cc0e992e5f52eb5231e159b2b19f69280a63470a2591ac8869a164713","sig":"bc798630c02cc7f6dd6380819592588b4409e532cf8599cd78087dee7bc6db7dbff5b9d48a26e71bf88286135252f90594914f3eab8d8cf30c6c88472410552f"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700799763,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700953591,"kind":20000,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"]],"content":"del  and line separator 
 inside","id":"b269de4c691957f41dd64da777b492ca0191a9fb649d2b5674c7edeac3e87a87","sig":"bcb13a3fc8984d70ccc7217a96d1660a2138734cbf24fc3e793d2a57029ae1fbc6c1d10bab97cec9dfbc34d7ccc0bc17873459f56b7870899f043a2666c89e9d"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700953591,20000,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700361214,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"]],"content":"plain text note","id":"fb79608c5e7358b4658d5006c58342240028ae447fb60a92084f710098c3fda2","sig":"669b50eb4bbef5ff381ea73ba3511c10219f4d5c68d3318546f0528069e1b15d42dab4be80727912327a4c2b4361527db70b00ef3cd386ebdb83131d3387fec1"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700361214,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700458168,"kind":62,"tags":[],"content":"plain text note","id":"af2c5c66df3e9d1e4579020ebac04fd8a8096791a4de6cc682f7ac70d0c5544a","sig":"06e8996586e186e2cc6caaf207208e749528b02060fb1ccdab0c4796ff3cd6007eb4e965d347da368322e3f6eace07c1d4f6dd0b0767f4149abd6e906a815ff9"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700458168,62,[],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700259590,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700153488"],["t","bitcoin"],["r","https://example.com/7"]],"content":"emoji šŸ˜€šŸš€","id":"9506e218c9c3f6d80cb4f7a53f4b88f68ab7749667a84150b4bb74e5df8c47e0","sig":"de1a2a28727a8d53310e0e25b47a7127fcf583393be349ed2cd5824cd94b538eee64475015c0be9811b479275878624cd130d4807535a7da12371d6bc96303f6"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700259590,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700153488\"],[\"t\",\"bitcoin\"],[\"r\",\"https://example.com/7\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700944226,"kind":31989,"tags":[],"content":"bitcoin and lightning","id":"87acf694c77d8f3bfee4b8f71a36fed7b301dfb9b394c08bb0691177e2474037","sig":"fbe337a5e83439dc15a2bab7cb3cf38f63d73b698379b5614477ce1f5411453633405d48c7b37752dacb3cd3694ad5b1eefa2649c61cf5d4dbde8b29e175d2be"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700944226,31989,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700851753,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-0"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"","id":"a9d249454eb5396da44afaebd27d681510da8fa2c73acd2b8f765c8cbe22184f","sig":"67d99586ac3354bcc63a58ce5fcb794bfb71f5c7940e1acde59ebaf5b9ce60b53355b9285df31eb7be6ed530973b2fba95868c0804026eb11e086605314a7225"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700851753,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700957944,"kind":20000,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["t","nostr"]],"content":"","id":"0af798fb6eeaaa4ee958e92f13719fd9941720494400bdbb19d8805bba137085","sig":"33f3a2b8bc4f901f6bf44d658a895e6195dd116f43f5c1658aa7eae80b33379680a58a6b3e3513eab7ef4ed61143f5ed1f951b59828082b306410aacfe0a1e47"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700957944,20000,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"t\",\"nostr\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,false,false,false,false,true,false,false,true,false,false,true,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700933028,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"nostr relay engineering","id":"e0aafd7396c3c6237a7ebea5da48e2990fbeae1669c2f691433b48185cfa8ec8","sig":"af956193f07b2a82262d290a8c0c16f096007c15260b1bf3c277c7ee89adc9afe520cf629de13eb21f9dd103ec778cd1d93dd5974ac7571cf16a49a14fcc8a58"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700933028,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700762621,"kind":1059,"tags":[["d",""]],"content":"nostr relay engineering","id":"99fbc73216d87723b8a5b3ccb1684a4190319b646f8cb7ac5f96ed5ff592a050","sig":"cde632cc722da8cce7cc9163abbd9d5cbd0ed0d8e36d8b469532ebb81c1aab3e0c2d6b29cc322ef4d4522231f0758a32ebfb7f9c3981e913d3d9fe1fd8c9ec0b"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700762621,1059,[[\"d\",\"\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700573850,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700280494"]],"content":"Bitcoin is not Ethereum","id":"16cd2a9a1be36c5e1b20089360f0fd625d25539b1d2a6bd68bde53123c50ed65","sig":"eb04711eca71f8fe91f4d6d6624fe0a97cff781ae2bbb6d424a41b191f4f4e3e1700d3a339645e33eab2801f402380ec6642fba9e7886fef475a544dbfa3d029"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700573850,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700280494\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,true,true,false,false,true,false,true,false,false,false,true,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700750455,"kind":20000,"tags":[],"content":"emoji šŸ˜€šŸš€","id":"58d982a0f95a43217d46bf103bd33b0bd1313a6287e739d529b6a590294883ad","sig":"0f23dd86dca35f18ede5f926a5cece29882a9f379948075b0ac847f56566dad27f99a872bc55e0159e6bf70faa02ed0a98051afce8e6d22b99c59fadc47789d9"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700750455,20000,[],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700674560,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"del  and line separator 
 inside","id":"19646e8682a6c13226aa5662e1abd61b2d9138fa45ea45bb2bd1cd885b38aeb1","sig":"b760b7ac972aac28fe0bb9751eff297748ff0290928f4ad690b7ed9950ca4f96229f754401864a8c129b9b29a6afb48eda4a6e2f5f8c8a1c688b196e7ee86c38"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700674560,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700885069,"kind":30023,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["r","https://example.com/8"]],"content":"nostr relay engineering","id":"1b39d7f3c2740a36e7049e6bad5ccb8365f2a7341a094a45ed4641cfaf940547","sig":"aa6907c72fc03480412a1b0803cb4e5870c0dc31086ec948be7c428ed236df158e0304de7ff9c6db8884a6107396a3ad6dcbc0c63403e894fdd885891b60b119"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700885069,30023,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"r\",\"https://example.com/8\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700565260,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"emoji šŸ˜€šŸš€","id":"7b864d70faa95f26d52cf46d1d4744594e2d783fa179c013b1733024f211b224","sig":"69c64f773fe75d578e202a821ea5cfd2f73b6197dfd3dd8a6b2cbf6599d9fc4ed1328b4c0cb019883ec01894c23a35f9bff5ab5f5247068980b3367af2e9bbfb"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700565260,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700255778,"kind":443,"tags":[],"content":"control \u0001 and \u001f characters","id":"b6d6c007c30297b6f8fe3133132efda337db8007bb05c1bd318b95461143b0a0","sig":"5e03284e3c6d35eedcf29c2764ebae0b80fbb4adf05eda69a60c587f676b8001033bce42406fff041adfe7a0f7977618472aff37ee28216456df540782f496b4"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700255778,443,[],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700906916,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["d",""],["expiration","1700193280"],["-"]],"content":"","id":"18af83a9d50960cbde20e23954677792c6d84271d1a464617c608d645c4b894d","sig":"41d5d91d6eae0aff942cdae0b8e57c1dd9b3820ed7976a5eeb9cb4395e3f13e68e89efa518b02dcd7041ecd3d84f7011eec63f8974153712eb653ebd6d127fd7"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700906916,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"\"],[\"expiration\",\"1700193280\"],[\"-\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700446177,"kind":443,"tags":[["d","dtag-3"],["t","nostr"]],"content":"del  and line separator 
 inside","id":"956112b031a7a3d331d3c036e41d3128db735f8d91c61ff7b7eef0e9d2075e14","sig":"c198baac33143731fb7399878413f3416b6a9e9ec541ecd43e314cd0f435f15f01a729a214c5f9da7f5ce5ec202f94d069698ed96a2131c17c8378c921362a39"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700446177,443,[[\"d\",\"dtag-3\"],[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700612432,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"nostr relay engineering","id":"8203fd02aaa93f808adeda521d8e6acaf0609b75e42bd1aeeb1f86b951d8cec4","sig":"11efb27011ce43711bc1f7bf3bd7c97a7f3dcb4fbb9770ad3b7d23b6428b5094f6078050e16055bb326a4342b3aa2be274359a542ca6d2f84d99aeeacd187016"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700612432,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700851117,"kind":0,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"]],"content":"del  and line separator 
 inside","id":"b6f701ec9a1684451997471c437752fb64ab20ceee001a94dfca4da34b022a82","sig":"5f7b2ca2c3e4597391c95db06a5275f3116675df8c9fc08c7f3b39b737f4d3e2c6fb25acf5d25c647a87c7cd969eadfefe30b4a8ee5e48de63ea2ad8a6738c7c"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700851117,0,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700523777,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"control \u0001 and \u001f characters","id":"5031aab03822de64396eaefd5a2183fcd7332d8dd593fe7370eff7e58bfb4db6","sig":"8d729b0a0859570925e6136360434a677e4eef164e33875ed72b7faacad7737391cf61d078ebf1042671409aa35b1212da8b8d06e7a16fcaa6b63d6e3f9a17c6"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700523777,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700808649,"kind":15,"tags":[],"content":"","id":"dbc41527214ed8d1007c10ceb23765318aa94216e93d9e5bc9d7576add555385","sig":"1107a2ee3ef37574366f4f1523cf3fc027c902bcb5089527de92f1b62f99a98a115809d06f326e2e553e62a070dac134bed3abef1dff78a65b18edeed4313b8e"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700808649,15,[],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700288015,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700158175"],["t","nostr"],["r","https://example.com/7"]],"content":"del  and line separator 
 inside","id":"20380fe561df6d12105a25d7089a2b4891bbc648d0a7ea6553bb6156980fffe3","sig":"a9fcf55dc993190af752a8413de3d9486c1333e4f6b876b788d47586bfa9f1a8182f60b6b160aa87f7ead1a23d8cb0a627bc1c6a08d652ec66af89db067c637a"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700288015,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700158175\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/7\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,true,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700943365,"kind":0,"tags":[["d",""]],"content":"del  and line separator 
 inside","id":"d54f397bc0c5785bdce8fbc2e21bd35d7db5b90d0cab6626f5ca2f4549ecca6a","sig":"9c7758d1663214b8589ea8bf44f7128c563be9151d53a3df2e55657ea2818631454875e25738ed067b2d3671d504e49cac8f3ee9becc14738ab3b47dd959f51b"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700943365,0,[[\"d\",\"\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700613290,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"Bitcoin is not Ethereum","id":"25b824d6dae61699fecd2414d4d7a9f025bd1224890abf746f8f6e54672fc742","sig":"eed9357fd45c36b2dbe560fec1a92e372da507a2d9d04f69d6183b25390d6333acf705c912ac44fb66207b8e2015b2eb83aa073426317f25f87309e6a4a725cc"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700613290,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700122238,"kind":444,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"]],"content":"plain text note","id":"5cb4d79f9f7c9e33202db91acd9ab95ee42f9b9fac62056d26db28a60d4dc689","sig":"cfb8110b1fc6ad10994e476abde4844ff05c6319a3160ff5ef6f90001aab0d1a9824a48b17b8509e7aaf79dee004de8b35165d0fe544b35643bcf11edcb5e49e"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700122238,444,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700500924,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"plain text note","id":"b7083f5b091a5c9eb66a37b0af33dd1139f9ca3dbeafcfa6a28b34bc38d332ef","sig":"f11e7048e40421ea32b0771a5e50b2db7efa9bedfceb4f72e4acc9356f566da889c163fbbff6ab21dacd71c6f06a96716396a182b741ca7ffeaa8b61af2240a3"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700500924,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700327380,"kind":13,"tags":[["t","nostr"]],"content":"del  and line separator 
 inside","id":"68cc3a0a8e47f49ad376e627a1682e2280a632996104425fc7f2c4180f543dac","sig":"cbd578c28b44d466ad151c8246984b26beba17d73908243672b74eaf449739a2a88bf815f907447cabdac582918d75df12a3cf39aafc44448d889fa590884814"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700327380,13,[[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700731401,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["d","dtag-2"],["expiration","1700210313"]],"content":"del  and line separator 
 inside","id":"1cfe866dde41ebbe128890125a17d36b5f45e6f5837de0f957c28b699428f0ea","sig":"a1b14092e74fcfcd01d2fa30edb267ad94551649b376771e932d311aaf0bf4adf4dc52bab3dbb9382473e8d0cf7502998e878862be3fed27349d2494caeceaf0"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700731401,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"dtag-2\"],[\"expiration\",\"1700210313\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700934715,"kind":20000,"tags":[],"content":"nostr relay engineering","id":"51e4283ba60f2efbc77cae0cebecfdf2fcf6e503288b33ab82166973c2037860","sig":"e9b0286117f9a897fbc4ecd1e9923fa79e151cc929a05afb67e886b5c5a22ee85fea692b6b7e1b51f38e04882c9970907e3b9e9b62140521d522b4af0131eecf"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700934715,20000,[],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700301320,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","test"]],"content":"del  and line separator 
 inside","id":"1bcb8c06d3c476a3032897eb3cec51508193822e3b0702315e3e412dcb95c8a5","sig":"bab145b873c974163a88a3d3ab20352990ea79158b1af926c23a4fb28e143cca3874d7c6f4f45d8918d469f485cac17fd43e459cc6e2512267eab29a212680f3"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700301320,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"test\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,true,false,false,false,true,true,false,true,true,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700279624,"kind":5,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["r","https://example.com/6"]],"content":"Bitcoin is not Ethereum","id":"24e8960eb9676fe58d7737f2d6bb40a5d050b4c4f361342a606484ae0d4d7040","sig":"3918d07fff0536a84aa26ae9332d81b859361916032ef8d460688e0199bb82c28af46dcb321d65f83604709be131ac373fc4d28bc2b336984e6e23e20c4d446c"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700279624,5,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"r\",\"https://example.com/6\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,true,false,false,true,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700170741,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"emoji šŸ˜€šŸš€","id":"400a9d380e8d832ab142e4d9317d818508376b945d266fc11a856e87633960e7","sig":"af9758665112fa9265b8e8b764ac4190ac8ea09ebc93c59f3fa5b78e71c3e31264025e3b71400d674334a744e28d41d78acb3105a68d9a6c4237a7feab998c44"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700170741,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700087598,"kind":1,"tags":[["-"]],"content":"emoji šŸ˜€šŸš€","id":"4cb6efb258667bb4db3fb2adae0b589cef554ee554972692edb96c05b78bbe5a","sig":"ef529d23fb07a76ecff47114895205b091b48517aa7ce2598776be47d3c022624dd2dedaf3d03cc68b20c7488e5c312027849ef0ea35ef2ed1323c6e4f64750a"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700087598,1,[[\"-\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,true,true,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700069291,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700119089"]],"content":"","id":"f545d4510196b2dfde40b28b3532bda4385323c29213961e305667c702edda61","sig":"faeec7ce108aeb92e37ec1ed0ebaecc5a215d15a728ede4f0c72abc541e1b26055f6e412f822f92218a03010e8383760ae9b9821c472e26fd5d2bc60c567803a"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700069291,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700119089\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,true,false,false,true,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700627263,"kind":1111,"tags":[],"content":"control \u0001 and \u001f characters","id":"6cbdb86cfa5d58028e85fa9b75217300e00e6ad57e82c68123f9f47f37acdac8","sig":"45e7f99ff6e4f4f6fe9c16942aa47b825713975ab212566f98289f5fa2fffa3551b2f2bec75dd1f9c1462ab4b74eed79fd4975d7ef025bf9d915b4fbf795eb5c"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700627263,1111,[],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700152029,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"bitcoin and lightning","id":"19a21cb23f1ebc3b1c24bde87a316b2b3e26a623db9225665f2afa9f752f34e6","sig":"d0cde6a5acc09499329d9681c559d4a22a966319a7c8b1f4e4b329eacebfbf2015acef99c9563554db0b8221ee4167dbee7f0b1f9aa736b3540a93d2ff95e6f6"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700152029,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700267400,"kind":1,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["d",""],["t","nostr"]],"content":"nostr relay engineering","id":"5ed28852acea0d4deaae688e8ddd71d110ab42d2188580cb4a167203f2035df2","sig":"9c33f52f33c336fb8875963b062db51c5fc17376a5b3fcf56a8ef6ccc613dca23fd1a9972caf9985d25865e95f6dc8fc4ee918209886f95777c507d42c2330f0"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700267400,1,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"d\",\"\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,true,true,false,false,false,true,false,false,true,false,false,false,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700984131,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"he said \"hello\"","id":"2a353aaa3b733e1cb31637f4d0742a5fa7fb171995284781fa450fdf28c637a7","sig":"32969f2480523fe31794db4f338063e6eed05bd6ae67ca9c1d2bf01d3c5f37a798b5f13f7474dbf063679b04a6bded0978195486a61b6a92727768e943e03429"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700984131,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700953250,"kind":445,"tags":[["d","dtag-1"]],"content":"nostr relay engineering","id":"54ea53c89522874defe1e331ac39d7e5a84eb37e914995cb15e64441c0134694","sig":"cf559434c6dfdbab02f134194d9e36a47505fbb7c9c921c9a20a02c263c5a62fe80e94db6afbb501d5032048302b6d043863caedb9a1d0bbf10b18752fcf69ff"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700953250,445,[[\"d\",\"dtag-1\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700201584,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700123496"],["r","https://example.com/3"]],"content":"control \u0001 and \u001f characters","id":"81d6580b9e8841f69814a1800c004136df9bdc915cd8031cbb3fa74c3e5ab3df","sig":"00f4fe2744b0a19294ecd7c2aea5626953b78c8c0703f1fafbcad2dc1acf9a9c41cf1fff4e4151d716f60d34de4e68913fcc74f67f061285abad4fb5dbc62fe7"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700201584,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700123496\"],[\"r\",\"https://example.com/3\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700047335,"kind":444,"tags":[],"content":"he said \"hello\"","id":"d59e30e7ae46169b99b8e71367293e3dfdd98a4c5f5876f58ef878aaff950cd0","sig":"279e3da065f49661fdff65ee40608ee886479c0ba0d0d73f8ced453c162f1057788657e6705a88b40865073a272de5d577f4ee6c08942f7c5d9cb5d2c9fcf103"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700047335,444,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700246112,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"]],"content":"","id":"5c333661990c378c560b84824b2409f33543ddf72f05beabd31d5d9281df5013","sig":"48ec1d1148bbb123493155d4487265178b7c492db6430419e34f296772a8f974973dd4a0c75ab16c903dbccbe45497f082c8d9396388162bff9bcb45f207ae3a"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700246112,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700961810,"kind":13,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["t","bitcoin"]],"content":"Bitcoin is not Ethereum","id":"d740535ecedb70a981b09bdac74807dbc9eb1ff7d5d78eb097d32b45d524b523","sig":"4fac7241ab84677d56a21185090eb671075d58b5795a21ee28153efb72b3d5ba7b4e679a38f7c06a162c05eccc68184171bda816af4e1f41a3a7abd76e2a4a66"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700961810,13,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"t\",\"bitcoin\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,true,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700401026,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""]],"content":"bitcoin and lightning","id":"204901149af7bb58547ab9216848f01de5d2728315d7ca7093a2f3770d522cb6","sig":"290c027f55ae7fd738e303b78bfc0bb4fde675b9e1a5bbb6419f9ac1d73a9dc26a08c7600621bc1725320cb8e2614045a8f279c17fb241546c708af184b08f41"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700401026,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700783043,"kind":20000,"tags":[],"content":"bitcoin and lightning","id":"67cb4c071086e6ab858749ba7beeefe063359934797bc19da96cb4a4ee5caadc","sig":"dd0b19662057d7685663812ebabcea6b1775f56b8758411509d86292200d889514a894c54558bd08c90f97514977f311bcc53159ff1605dfc6ebff5913df8ba7"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700783043,20000,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700869191,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700289631"]],"content":"emoji šŸ˜€šŸš€","id":"14ef8101976b1ff393251c6fb24d59c184f64b774507daa2e6b61ec4e83ce1f8","sig":"ae92c878eef7cd70d526cc2ad68a9809eac2659f0e46de25452d30c8060806aa2fc88ac6b37fc70b47a9d760225a30b13b64f567e92626f7213f24c621098190"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700869191,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700289631\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,true,false,true,false,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700904697,"kind":30023,"tags":[["t","nostr"]],"content":"nostr relay engineering","id":"62a088a99cd12365909dd125cccaf12860eb27315ccb964cbbf4871d41e0af7e","sig":"88d7017eaef54c2a6be7ce6b510f103f9af26fd704d7fbb27f7e6d7266c871f1495b7bd4b9ba408f2134368f3cdfdf65e9bd48e9a0f988e676af6ebc75f5003c"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700904697,30023,[[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700187891,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"back\\slash","id":"6231180906ff36b227755dc64faaef424910976661e74fd31761f13954f607ce","sig":"61eab4876a667e52995cfef3eff95ba66cc3fa394ac761ec549524843ae31ab01c93df0e8043bd8ca267152c2e860bf902f5a23888980a2996a5f2d10ec1837e"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700187891,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700211094,"kind":443,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["r","https://example.com/5"]],"content":"control \u0001 and \u001f characters","id":"541ee5291f3d9825f924355983c67d4eb84e615af2b1f23adf4ff879fb2007f0","sig":"4be89920679e5556b6e95fb4851538074d39a3a0145aac1bb820219f9e3e1880d16be0c991c02151567ba6100fe2447df5cd8e0c02ff7749339ea6c7eb79b9e4"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700211094,443,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"r\",\"https://example.com/5\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700190944,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-0"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["-"]],"content":"nostr relay engineering","id":"978902505c27bd329bfccacc2b314ab4fa7a0af3287702ba50dd58289fe0ce52","sig":"bfd63fcb64b384e49a4b7b216a05ebec0f5fa5942729e9f446111e115c08a12e931be0e885d225a5c52a877eeb5dd88f34152d19d88fc2b38a9456b654379f42"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700190944,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"-\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700756653,"kind":443,"tags":[["d",""]],"content":"emoji šŸ˜€šŸš€","id":"315634524c1aa16e3e8b1bcbd90a650d0d69f520ab777bd96f8f42b2e2e5c7f5","sig":"40a8620aeef4ac955db43d560af7b528f708c0e45bf746614589c1b442bda985694948e2da5d14dab399f3c60140ae157d6614f4c20e5071a3e6d8482494d5a8"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700756653,443,[[\"d\",\"\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,true,false,true,false,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700117136,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700293027"],["t","nostr"]],"content":"emoji šŸ˜€šŸš€","id":"e586ffc8aabb6ff0766d47701212237fae0836d588129778d74d4f1b0d4efc65","sig":"3e839236f7b2fefd79d61022fbbb595d3215bc69ce7d0227f39d4f6011cb2b81c038d239b719dc000982d759e0878f1218c5642fc72305f5a6748a58ce2722dd"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700117136,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700293027\"],[\"t\",\"nostr\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700429663,"kind":7,"tags":[],"content":"emoji šŸ˜€šŸš€","id":"5caaee1bc83f15c12cd8b8f5e78cd79d78686c81d068f5eab158a5b5445650fd","sig":"1e7c31b341495d109ce8b6bff7faeb387bbd179094f9895e9ba54e85eb919621e431efc570e4577a42ff8f2b89a55c9f5f72a459464b8e39b433b57ae5288a66"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700429663,7,[],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700094962,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"he said \"hello\"","id":"8a9f99dfadbfd9d51a17f636fd9871975de81d8ebc61aa2418733a9e6402b1f1","sig":"cad031dff22da0e94a9c1de5c4f5d7f150ba2ea007ebec1c7ce153b427377edc374d717279c2e73f48c0cf284d36b679159c45cae61412719f5378e73eaa7204"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700094962,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700285181,"kind":31989,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"]],"content":"del  and line separator 
 inside","id":"a351c903428773e2cb9efb5c2ff158efd66e46ab095de5759079f3b3a729ea82","sig":"dae27fe1f07f1d6e7e62a0ba827ce05aae387f03816aeaf1a0f24c6c34d06eb0f1d9a40083a0c3165f1c655495c38ffc1c3d26bbeb8173cee05dde995db842fb"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700285181,31989,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700800687,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","bitcoin"]],"content":"plain text note","id":"79a4e1c53ceaebb7f548d8464282d7eea7d4b6cf50f1830796451cd8d448cffc","sig":"20c25e5b957b7783cc5c3a33295b0e77d6f6d863477ce2ef746af62e7981fd87a2c22a9e1711c7e98e38441f3b7120ba4f1f542c1fb0ab83f97ee91bc8ccd5a4"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700800687,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"bitcoin\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700958488,"kind":443,"tags":[["t","nostr"]],"content":"he said \"hello\"","id":"038d631e9301b7cf6e253d044421d80a5ae617fed72d94dbe40e6c29171c7a42","sig":"e81b9a961a51ad4b768f7e44fe0123a609cb0d19d2708e6d3c860e4b16bde4370cd3dda50c80cfb93c4c2c44facfdce6457c8008689e4ad2d04f19cc3d5cfd8b"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700958488,443,[[\"t\",\"nostr\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":6,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700066201,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["d",""],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700116486"],["r","https://example.com/0"]],"content":"nostr relay engineering","id":"d5e239ecdd808ba5776de852b153590a5577613b7b9e55597b747271f7bf981b","sig":"6cc77d11561795d4a34570c0d3bd2ba06953cbaee05da465f0f49b9697508608f1d6a101c05350b335cfc438942f4dbdaa56a2c5e147d5fb23032ccea4c23d77"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700066201,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"d\",\"\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700116486\"],[\"r\",\"https://example.com/0\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,false,true,true,false,true,false,true,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700151892,"kind":445,"tags":[],"content":"he said \"hello\"","id":"994e1914fa98c0e4aa890c7344d314a82b2bc2d4e8cff959cf68a9a1e0e954aa","sig":"4395dd57640513d9932fa0cc669089c0eed4e062e04687d2e28cace02b57fb92ab23601c881815c301d66c09d18f53f52b23136be444db04662e79ec2e7f310d"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700151892,445,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700137602,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"he said \"hello\"","id":"4d572f42774e96c3d63e872abd6b89c5230b578b07a3c7a91de455d564e99c34","sig":"7b2abb73964cce015a94c26a1b8e0c62572e607e4a1dfc2556e816f669489f34a2a32a00afa92b720b4835581c0110b64b11a41a4365a6ec1259dd2f9f9cad61"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700137602,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700959376,"kind":443,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["d","dtag-3"]],"content":"del  and line separator 
 inside","id":"5415f82097812a289c3a928fc2abc32c1788fed87cc5d708d0c3420c0add6309","sig":"05b1e864cbc9e2285d541b51814fb057e0b1ad1c37044a5244b002e9c1c6d430edfa456389dfef21cb92687a21e8bed66b86eecae94fb9d4155612919d24a8bd"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700959376,443,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"d\",\"dtag-3\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700639357,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","nostr"]],"content":"Bitcoin is not Ethereum","id":"0d5988a8e15ebadec1d27bd7096b7afe56e528c761b073c20b6b4e7c411ed273","sig":"b464a2e1ebb8484203bf6a297c2505d13972fac33c0d3204b52802579a6a40f7788fcdc0fe931138ea838f1c3d638ae359d5b102285e2c017e3cd58121db236c"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700639357,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"nostr\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,true,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700869605,"kind":1,"tags":[],"content":"bitcoin and lightning","id":"e9b65dfafd1917a8a0b3d32ee9b8789accc7226170d320a401cbf5d93bc279ae","sig":"efc8a9c55cf65c9d455fedd8fbfe60046db7a55d8aacf551297ade0434502d09f7872f05f06fedb20a95ddd75ff496f463ad9268ba48629fb7a1e6a35441c392"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700869605,1,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700103417,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700156060"]],"content":"bitcoin and lightning","id":"8cfe400917dda71bea887938248b660fc55ab82403c5ca65d6be5840716b13a2","sig":"f699e9f2b70edce5f808e09d7ea419996df93a1992034ed90085f824f010fcd93530205f248e08a48ec816e1ece9e0c9fce30379505dffbb69628b41bb9b2427"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700103417,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700156060\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700742434,"kind":445,"tags":[["d",""]],"content":"","id":"196d7008021f7ac618ef35b3cef676d67366ff91b2b99a8e28bcf6dabf7bfcb2","sig":"c327e0f242714fe09dcb5c090713640065927541df4f00d0479eb25611767961a22cb1c0c03dc7e91f4c1898addf426f617ab9817b155c4bb930304e913c6d8d"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700742434,445,[[\"d\",\"\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700452648,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"del  and line separator 
 inside","id":"01554fe9ef41b519d53cbf228a86cd434f719f9e0f82912c040f32209b58eca4","sig":"957fd6b817d7e6eb49f27a678567c14675bd71845b1c01c20a42dfe2ce5bcbbf2b6d9eec576e575a49727bfabfc0192ddbbf0d88223cbf8629bfc271363e2c75"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700452648,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":7,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700702476,"kind":0,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["t","nostr"],["r","https://example.com/7"],["-"]],"content":"back\\slash","id":"61eb2af9a306629a899c42b41312ecd1dedefd042cf6b9c73d5d0f428c2e8425","sig":"c4f1200ceee487bd13477e38961052c9448f8e40a08b88e0ff551e933c53322c58a22286201a51a32635d5b93892370c6a8c5699a8dd3dff75ea3319ef125869"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700702476,0,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/7\"],[\"-\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,true,false,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700193556,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"bitcoin and lightning","id":"db75628e9642b5f3b9e79ea717879ec5a414b72a1a68d73bc758fe76bb4b7a49","sig":"2fe64026edd599c3845637c830ef2ef1055f058a95c0ca8945d512891b4fba951f6d8a5173bd8bf5940d4107d12a1fd81283299af11d3c0a6d520f224792e964"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700193556,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700378739,"kind":1,"tags":[["t","bitcoin"]],"content":"emoji šŸ˜€šŸš€","id":"b204e3fdf2f377402deab6722ddca15187a2560cefc97145bcd7ff4f961e62c2","sig":"b9f3c0fdbf87de92ef1eeed99719a9b4935d9eacbbb6059e506d10ccc24f03cd70ba26b7a61148e709a31793bd2e5e55621668bd43cdd58644f74ff872fdf832"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700378739,1,[[\"t\",\"bitcoin\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700709922,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700243636"]],"content":"Bitcoin is not Ethereum","id":"285db4fb6efe36f549f60867152ea641f79c6d204eecc8a807095adc40e03f73","sig":"808a7d49dec6e7b1e4e3257b2303615ac97d4108b25423ba528095aaf01b3c9a64cd97baad166bde6d455690cbdffca6a81def0925945a781a6830910b119ab0"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700709922,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700243636\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,true,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700125836,"kind":14,"tags":[],"content":"Bitcoin is not Ethereum","id":"82ebd6424b758bdeb3a2cbef7a9690021235137166e42ab0e139bec1cd42cba5","sig":"86f49bb8912c7b6d0356dddcf2fe951992f95cb5d5f01e4198d504e09a66de3ea58b057665b6466f29d3e7c66c6517e3ed1e59192b6af9c992a9237f304b3f44"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700125836,14,[],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700067449,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["t","nostr"]],"content":"Bitcoin is not Ethereum","id":"eec46d19cc9b36039d85de4dc1f94600a562c46c053fb7971a2795bd1610d2b5","sig":"c9c6eacc12b330f4e4bde1279e1f1b715f4a77dae2d520699106f26414fed424b9c870b9011315a515f8d3d83f9c4f7da1805eba957860c96746bef4d1928153"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700067449,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"t\",\"nostr\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,true,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700238943,"kind":443,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"]],"content":"emoji šŸ˜€šŸš€","id":"072ba28d546a665b93c4f733d8b731353337b82ac0d5e784ffa653ab7e102315","sig":"91955c507b641f086c722f0018df98535c90e82e01c9fd4862f555e72e34a1900e7a31667520fc4329bb8065c82d4fab071f59be76df30d4d18607eeea4b0759"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700238943,443,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":5,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700262469,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"bitcoin and lightning","id":"2566bddf5c838d9cf1bf9153ca757d97e8c0eed8df2fc38b5224e446a5bad411","sig":"5736aabd2952902ef094d8dfd9105caccfd1f9a160795aee89338a283cb14acef3bc4a4047616fad592345e4284bb2490961f3d492cf7c06c7a10c5295d0ed97"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700262469,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700248910,"kind":0,"tags":[],"content":"del  and line separator 
 inside","id":"ddd78f3a30b854d757341b1acccda744674a1ae710d32882c9d78e203b11ffa7","sig":"a73c8882dc455a9977e2dde96b3c72a2a1253777f22d2e94481e9e092c968729371077d425c92d3eef23cbb7733e8d5ac976a8075977cd81696e098850d4880b"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700248910,0,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700947161,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700100247"],["r","https://example.com/0"]],"content":"nostr relay engineering","id":"412acf2bd360285057462233452d4fe7a371880892936a1e3f78019e505936b8","sig":"a87ca7d3e3e1aafff49f28be5083146dd0714505351235e8d2b97c7efd365b38b3f402524885d5e0eaa42acf52a94f65dd44b2076b0e02c7e354a37be10e959b"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700947161,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700100247\"],[\"r\",\"https://example.com/0\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,true,true,true,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700807200,"kind":0,"tags":[["t","nostr"]],"content":"Bitcoin is not Ethereum","id":"789bc49a897e5b9126918dd7c2c802385a9bfa5786c6d573661dda7cb2a6faaf","sig":"7eb9dcf37d85a1686bff3bb6dfe828ba238fe506e6e1b365f79d9c5839acd9405ec68a858c13016dc55f72365b4ee46801d085e6cde6f536894248c0e4b822b7"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700807200,0,[[\"t\",\"nostr\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700378203,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"control \u0001 and \u001f characters","id":"67e17ce9b5f0d59b41097792057a5ebf15a280281c627d66cb5083e732a02398","sig":"8a60b3d469df5e95e8d830570b60cf8cc185108e80c4f8c4bd8901efc2a3f4ba7b83c6f0c471be5438866a6bc48feea5737afc66fb020551d5c86ebf0135a351"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700378203,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700059517,"kind":5,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["d",""]],"content":"he said \"hello\"","id":"72e34b3c1085d91ce43d96014174bc9a2d41861dea172e874048fc311cebc45d","sig":"8d83720347db607a39fb625d203e59b3fb10124d3fc282edc71809815c2442f7de93191bc14340053149ef8ffd2b90f95e2deed74e92805c8002fd4b7291d2e6"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700059517,5,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,true,true,false,true,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700829079,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"Bitcoin is not Ethereum","id":"ce350151e4015e07991005203cb2528fc9e18c8fed4415227f4ebf85f343f173","sig":"e0e78d434500115c6ed67cf121a0a757526dade627d48f9bb978af792a82b6c499676d096e5ad7fba51ce6bce7a5b3a175d6d23654ddb42155ff246e377ff2de"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700829079,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700123890,"kind":1111,"tags":[],"content":"del  and line separator 
 inside","id":"f3a5319d3965cb446806d71d5d37dc09b4e79a6ebff60de15b0c50d1700aaa92","sig":"2c8c9a6d1798cba7856870369c3106cd79ef5d81e34af496742ce395ba1a2f7c9439e729a3e61e6888c64470966ed42f69cbb30ca726fe1747376cff45dbfb79"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700123890,1111,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700833590,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700144210"],["t","nostr"]],"content":"Bitcoin is not Ethereum","id":"0201f4e7b4544b30037fcdf1a48b7f3ac2818ef310f75fcd9fc6c9e7321e266e","sig":"31bf4209c17ab8e886e9e1b623351d8f1c3223effdfa83c6d62c567ee1eb9a3cbdb2ce2799f24842c73f43edcb586c17684fd363915ada7b1c36e1fffb7bd294"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700833590,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700144210\"],[\"t\",\"nostr\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":6,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,true,true,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700086783,"kind":13,"tags":[["d","dtag-1"]],"content":"emoji šŸ˜€šŸš€","id":"97cd244853f0b1bfe0fdcd14cc8c339437785c3a63fde6a407fa922319bd1fad","sig":"8e82fba5faa91b879be3a442fd9ec64342582da8927b107145122538bd325c84d87bb71c2d440e30d878717f68ceb2a2a235887678dcf8512be660c08df76ca9"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700086783,13,[[\"d\",\"dtag-1\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700786354,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["-"]],"content":"nostr relay engineering","id":"ef561995e11cd4e696269714469c3c0e6e971c9b2bcac05880148b50066b87ed","sig":"7f3f94af38ab0c75690a47d0392d353e01044ebf71c7b4d77d29ee1e88c42086d50915cb95619bbee0526064ccbd576863a7a12b28e7e41a2c91d8667f1d96ba"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700786354,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"-\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700568284,"kind":5,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["r","https://example.com/8"]],"content":"bitcoin and lightning","id":"50fb57618b150f0062fa3e528ccef24148b1409bc9825cead9648129af522dd7","sig":"f206b240adb7ecefc803ddc1df9a648f5e7d8d61a55585cbc7393950a98a6a85fa4c7963e387bdd814155f5087f94acc2b98e905501cd2452f4c2def44c4f467"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700568284,5,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"r\",\"https://example.com/8\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700479302,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"Bitcoin is not Ethereum","id":"d2ed4c03fbf94d1f870c297b832a747b778b30db36917710860529808c2b3a59","sig":"6985c8d127b88a48d0a500e99d08c54427b5427ce7b93a5e992f142caf02b945641661e6e80b138ff9762e663ac0ac28ea7cf8d46635633cfd94c3d5f470cb72"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700479302,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,false,true,true,false,true,true,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700410970,"kind":13,"tags":[["t","nostr"]],"content":"bitcoin and lightning","id":"b10d4d1f078a9931b54cd4819b76668b929f2fbf1d0c32d48857ac6efc97344e","sig":"f1704462e602e6ae630ff9896977294d9401f49f29dc41a899c85cbca53c06acf68f8f9402e50fe55fb1671ae6799c35d9ebac79ec4057a9bfe85d847cfe3cdd"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700410970,13,[[\"t\",\"nostr\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,false,false,false,false,false,true,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700804276,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700202992"]],"content":"back\\slash","id":"0c323791e6bb284970722f935618590928b40224f1c06357e680115dc9c6989d","sig":"37afb1aec8cefe7f46e7a4b12a067f46b5ffe770dbe2e6ac3dfc64285d03cdc2f4f3b3f523eda48c20a08d97100f3579e9f47a5f95bc79e67f4aa259b99afa10"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700804276,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700202992\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700361311,"kind":3,"tags":[],"content":"Bitcoin is not Ethereum","id":"12b958d9f5ea5e292f42089fd27fd1551c6eed89c288d82cc3d96f2256478c88","sig":"3aef1ababcf929db1c54754171462c4284d686881b65ab84e8f6c57fd6416a108fa214e53e854073ee6fd607bed640ebdf3ec7c5c559f6039757121e7d87442c"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700361311,3,[],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700547168,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"nostr relay engineering","id":"64ed078a93e433a0027ca7269284e05723c5e7f8cb69733d2d62519632c40f7c","sig":"0ae8432efaaa6293bdb57eff5a1c1208ed7ceeb5e40b9e3dfe6cff92396d0594a446008f7eec154a99214363c618e7f82bb47bd2652c108498f2750b66cb1706"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700547168,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,true,true,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700542802,"kind":20000,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"]],"content":"he said \"hello\"","id":"e9514ea44dfdc84ce5324bea0615f38fed74b54f079af666a701e1896a7309a0","sig":"79533c73ef18559bad06d0e3d9955f3b4593f1657fc7ba2a87648a379a2520ac77bd1d34991b26178d1086eb6debd7c38c4d30a9ebd17da221f0dac15b4ef977"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700542802,20000,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700286132,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"Bitcoin is not Ethereum","id":"b70e5fe4f5363dc3ed9ed778eb1a8f61e474d2f59846c0f4569dbd1162f943a5","sig":"4ea3e9eabce0a74e5bb58cfa03265488813c94d50d1950c7641c5b94c4449fc29c61725018454171194129a4c65f35058ab55a8e99349a279ee73a47da0847c1"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700286132,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700943598,"kind":3,"tags":[["d",""]],"content":"nostr relay engineering","id":"946144de861302c93dc1669fa8a37b49b7e32d38e7e99df4c6f4a3a23f769c5e","sig":"33b3bb3c7772e89504c54737be5d036615fdd58534ca4d07d21d62d8210ac24322bca232054ca55cd432ac4aad2265291c9531ccfdb862fff35375846b5690dc"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700943598,3,[[\"d\",\"\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700024716,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["d","dtag-0"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700131822"],["r","https://example.com/4"]],"content":"back\\slash","id":"974ce3500b9218b4231fa8231d7061f3ca642a1d0c0f2710c16dc6c7c880eae6","sig":"01c08bcdfdbf96ed8f6743899bc8b449252f87ebe8a5aa3c77763064033ca561af25b46c8e040a4b14172675f9af085dc4526f662a1e0b85aab90c5dff8789c5"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700024716,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700131822\"],[\"r\",\"https://example.com/4\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700876298,"kind":14,"tags":[["t","test"]],"content":"nostr relay engineering","id":"eafc84e6de179a3891d916b37c047f1f60a391726b9b44e3a4789591407f29f1","sig":"6c1e8de36b361c37f2bc421da2951ff0ba4196f30783d644b0486cc4d6a30f16d4d2341a6a9614153fa84601241b3b06c5077dbd6d5f93685e213e8ea0803354"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700876298,14,[[\"t\",\"test\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700233189,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"plain text note","id":"aaf214c8c947cf0691e10d07c2e321e0db030e74a5967b0209fc1312cceafc68","sig":"5798d28dfb70565391e96bf78abbd8ff1cafcfbbe58776cb6daf007a4b730b2e500a66ebafd5b4a8eb9bc88d35ff9f95a7d44e10b99b350f3f305a3427d883f4"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700233189,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700322454,"kind":445,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["t","nostr"]],"content":"del  and line separator 
 inside","id":"6ae951ea2c3bc527aafde30e17ff83b40b5ed09830437e8ad3362ec2d5ec42cd","sig":"4c89f572f48994518bb432f5747cff3f65df1507aa9bce5c64c8e78345cf87e7ba0e75c385ecb69b2e593eb4e4a7c97ff7dffdf04937f6615192a89fa0a2dfb6"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700322454,445,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700657320,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"nostr relay engineering","id":"0ae69b8269b8cb6c79f6fc6cbd8fb892d239951bdb5eef4a1b69d05e6677d9ad","sig":"27555fbac125b33afb444cb4d6c56e16a6cc52c3f9f65c80df2e110a69b6f952fa263f3a580dd845beeb2a4ba44382479bae24a575d241155045ed6868e0927e"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700657320,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,false,false,true,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700666150,"kind":443,"tags":[],"content":"del  and line separator 
 inside","id":"5f9b4d8111fdca4fe09795c589169ceaea9d519def43daea3ddc792072c21ba4","sig":"e05d22298dc24dc584496410244496c79624426938e96ebd0582e6f9e3f28fc3f60c16514f15d00960508127151edd885ae192f701e2f01918f67a4ebeec7b39"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700666150,443,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700808132,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["d",""],["expiration","1700188783"]],"content":"back\\slash","id":"4fb78341328adafe95bf7071a7c5f7e31e487eb290f45300b466a61f728a8ea1","sig":"0898bc5cbaf118046bec1adc08f0678c8b8794763c63720c5aaed7adb00cbf11ac6559d57962867c01c90666835a5fb4aa44aa16a2ccd0ec6843249dc931fb0e"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700808132,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"\"],[\"expiration\",\"1700188783\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,true,false,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700801373,"kind":1,"tags":[["-"]],"content":"plain text note","id":"19904b9184ffd61a2b527d5c9d4290ed1c9667654d042b0fce5f1efeb1d8cebc","sig":"1a98001a6283a404ed760f3837222b7b0e6db70b7981df6ba91166475c34fc58996d8fc88b0c36fe737cdb5be87d261ee4d37adbc64829a6c23e22db856392bc"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700801373,1,[[\"-\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,true,true,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700529215,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","nostr"]],"content":"plain text note","id":"fbcb1fbbf40dbed498215d8b4f131b5cdc2612219c5ceccb7bf0ad3a77969b4e","sig":"2fc1f16f6f9a80a2e4da13a57c5a38d5b1224f195179eacc8802621f2e52c0001f8d91298eda348e36a35314543d585d395564741b685b8e9207ad5c082183ba"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700529215,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"nostr\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700956380,"kind":14,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["r","https://example.com/8"]],"content":"he said \"hello\"","id":"2d21ef5c44aa84ff53a2583652a9dbb13b4bb3c037c97481e9780e153e713c57","sig":"9cac1b30752c17054ef17f1873e7f8949f6adfeb7988c88d256cad20365e2539020f9cfab870a34186687623e308e430c6060d0c8994c46d4f6ebbe15b0b6efc"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700956380,14,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"r\",\"https://example.com/8\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700925039,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"emoji šŸ˜€šŸš€","id":"4da1d07d2d006a4fb54179ed4dfb4f65ad7eeff3015f7a08a0563aa33646be59","sig":"6d003d3376a1b2460066245b111c7bbddc0b551eb69496e7d57db7afe0f4e01f22a2b034c2d10cb5a63f2a29ddb9b6bb22f6be06707026d2925a00d583d5df24"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700925039,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700744543,"kind":444,"tags":[["d","dtag-3"]],"content":"Bitcoin is not Ethereum","id":"24bbcd2cbf0f92f77b8203d3cbee4563b416aa2a1c3bbca59c4da79409e01404","sig":"3c3b5aee3a295d7d25934ef4c82924c49405add2bc2a49a684a58d03d4777a5b5bea466a3fec963d8bf6d858238e9da565469416b939501d07b3cfc12b860fff"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700744543,444,[[\"d\",\"dtag-3\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700972870,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700214863"]],"content":"bitcoin and lightning","id":"d6ecd3149a7ebe61a68ff8ba6c0bf351c5eb2a9e4ccdec7cfa6c4496f60f726d","sig":"7f34d1c88f3d4707fd3c4df02b8d8c99c4c11448b716521cf70d50b23b4e287566e45724ab0a183f1f0bbcba8d83a80e791b690de62d35c35c5b5176d7968e0c"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700972870,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700214863\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,true,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700513705,"kind":443,"tags":[["d",""],["t","nostr"]],"content":"del  and line separator 
 inside","id":"4ccc18adf2076fa08669182e2a77c8bd982b5108593b62f47ee6dd542a42b599","sig":"3521964afea68f983b1fc288c1f8bb5478be86fa81efb91a1ad35a85c9abfdff2713ee45ff0b71c894155e94a2df4053ba54268a24e3a54e14f4a241c14e6121"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700513705,443,[[\"d\",\"\"],[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700229895,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","test"]],"content":"back\\slash","id":"1307026c0ba122daacffa7b5553ec601eafae2879aff748a604feb61a801c963","sig":"9204a5e4efe5c29a1b063fbe1f99ae30dc3d872bea060473b54cc8811df1aabe7d842691434d446130ec5136d5bed757cdae40ff2d9a70a9931fd5d266ded2a1"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700229895,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"test\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700212452,"kind":15,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"]],"content":"","id":"cd33a800f83ab29c2b1a0edfe56928244e359091e35d0fe589f5054559218f2f","sig":"d2d465b679e6b0e9161333cd29e5b663a7dfb85a340d55d5e3b58541f4d12fd9be6e70f0b6fe3fdd864d1bc8e486b1f06a81285599b79fec72459da4d32e09fb"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700212452,15,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700187436,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"emoji šŸ˜€šŸš€","id":"611760cabb6a251583e11812502075bc550a4a2433b9ef98e8b6ae429f9157b9","sig":"e431a7ad7119ceb5b3d7da28cbe108817daf9540e60726c614dd510e16266c10d8a4bbf9ba0b8774c1109f69927089d983a7b8dcc3a858c54be6979c45b82bb3"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700187436,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700480075,"kind":3,"tags":[],"content":"bitcoin and lightning","id":"2cf1ca34f0fc380918370838ab9a98585fb87ae43911e051171a69f1e40291d0","sig":"d1896c94b323e5286545cb62174c3154345b7e8c0f760d40c5707ca886213427814ded1668aa81f9606ce63fa4284d0a577d2e23169b5d09c0fd667b482ca318"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700480075,3,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700048880,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700221409"],["t","nostr"],["r","https://example.com/7"]],"content":"bitcoin and lightning","id":"f55b124ed014aacebd64a1b978510c9784add2cfd9536e53233f3da2476308ba","sig":"4b906197d0e59cfeee0e9a6a490c751f83b410e10075218a9d1487f8ef71b1fc9a44e766e84f4c6f1b34725ddd2b5f684a5e4e8827fc382b15226edd24230435"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700048880,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700221409\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/7\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700019578,"kind":62,"tags":[],"content":"plain text note","id":"b70879a47fb6dcbfb758f4092e88e7f240264205647eebb3224f9ec5283df75a","sig":"6d1aff51368cfe5a9d43175cb41564faa8b66db394a73e0864148adbe98613a1555e4557508b92610b65d80d1ec129717978fc51e9980567e64f3f03d1f1b859"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700019578,62,[],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700390059,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"","id":"9184462b1aadd9290c4fb73700e5bb63171923799a996b19515bde0ad74ae3cd","sig":"350ea33dca60f4138e76543d8c6673b6e3f47c5f77e67d6ff212ea65a14b33bf95d01a9634dc02aeb0eb7d3ba4ee81f1c93d52b4b45f20190b9daaad6ac4fa3d"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700390059,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700304522,"kind":5,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"]],"content":"plain text note","id":"12386befd6d912f4ae0e1b7cbcdef80986f15b6281ab9769393392c5e79b98f3","sig":"35ff3b8c730ec661855ef0c2480a18e813d574f392954ab86db19cec0f98bef685dc3080405d82deb1102d7662e7d0445fbfaac39c85de5f1ad15ffc5393792b"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700304522,5,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700887302,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-2"]],"content":"control \u0001 and \u001f characters","id":"7a48de30c9a6951a85022af88c259175b2da1448b9f493a769c7414970bd4725","sig":"007e831dffc2bac916f14731bf7722edbe1cc401b5a931793b21bcd43eb5fb76de081637feb0a361bd35a8261865172a815787516d2dec3076d6aa3d3b459746"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700887302,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-2\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,true,true,true,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700956532,"kind":1111,"tags":[["t","nostr"]],"content":"nostr relay engineering","id":"b80378d7c0d3fc6e8b8f2ef7f3953f9fe955447fb32cb5ee00a5cbe14904fce8","sig":"3d2766b67b518d4b3b4fdb6d415d56c3c30ed6a292d39cb345d5a3f23ba6dc51de4c17740416ac2e44cb99df17728124a4b96d013bf681c6bd56ec9d3120f66f"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700956532,1111,[[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700747216,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700168594"],["-"]],"content":"he said \"hello\"","id":"8e688d4a43f98d731e40f7b1b69c5811bce06f016cd95ec5c1ad6ea003fa55b0","sig":"81e613d21da75f4788fb63738954c478fa5fb81931d3b6c9adbab0dfc8b9a1678650854f10a14425773f92eb36721cf0a48369d942bdd186dd8f90836224be5a"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700747216,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700168594\"],[\"-\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700640883,"kind":5,"tags":[],"content":"control \u0001 and \u001f characters","id":"43a948cbeaf82dda411376628339e9385b742a25b7a8527a4fffb507215cdc21","sig":"719af542d508ac80420a7d8d997a6d74bc18796025cc19870d3b046e6fbe6c482ca9b3302b67ec4e9ece388057293b7a93150f0db2afaf9b126a582e3a9432da"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700640883,5,[],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700587902,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"","id":"4da0da222c367fa4b4aa3be503a9f3842f38d954d06ae0b846e20fbbcff915e2","sig":"c124d2de32cd8c0f28d183a806f9ea450e77aaabc79ae9854371ed4ee003df047a2a487d6242ff6926cf56a911321265f55a56e17125e8917f67d75b636e3296"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700587902,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700968070,"kind":10002,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["d",""],["t","bitcoin"],["r","https://example.com/2"]],"content":"control \u0001 and \u001f characters","id":"37dce5fd899bd8b7271d9343cefa1c28d3ece34e6fdb51ba8df99fac904c69f4","sig":"6a09de44ebc5b68ecd8204f6e4a72eebff608a6a51989377812662b6e7dcfaa4a63d4ee9a5b87c859f795e6a9aa5398486b7c960940a358eac166cb48c5fe46b"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700968070,10002,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"d\",\"\"],[\"t\",\"bitcoin\"],[\"r\",\"https://example.com/2\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700502418,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"]],"content":"del  and line separator 
 inside","id":"32e800bf1a5d57b251ef819dfdbbfa770467f9fa6bfce256c96f8b286b8defe9","sig":"ae911a540591c374aa55efc597d8edbf86af39c0364f9800f35cd3683d08d730ecb67f2b69913f19090b7efd2fb95f05d0d28846b332a448875647fc9e6fde4e"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700502418,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700027332,"kind":3,"tags":[],"content":"back\\slash","id":"8fe74af5b8ccdf08aedcbbe6ac2be6f7c7930ab29a5c6c790c0113c9fa5bd7d8","sig":"03e26a6ff9377ad61bc64b7eab3c544d0b1469c425980d4913bc6276987ca00205c10760ba8803453feb660161d7b65cde1b2da703b268ae44bd9149a3d1c829"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700027332,3,[],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700300665,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700116688"]],"content":"emoji šŸ˜€šŸš€","id":"2168e80afbc9e365342cd9f20dff095ef7dfbf13a85bb857dd4471acb94eb685","sig":"56c9cc95dc6519718ed2091da46dad532dbdd975ebe03afb581c45eb5b563b11ac8abc838b722ae629ccfd943ff6e32c929e78f1b2a21ebb7be256377291488e"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700300665,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700116688\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700781260,"kind":1059,"tags":[],"content":"back\\slash","id":"7aff72fe9e6746fca22ed0cc32ab8a49c02d421064b5a2d4e6f95f1e757d5618","sig":"c9dd19886e1f5d3aef5806c06dc0c739ef7dc3afcb466c2588ffa27aa33c6d61170b191f66205c5afceefae64b57157435ecf56563996984a472692fbb7b5dc8"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700781260,1059,[],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700878691,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"Bitcoin is not Ethereum","id":"f205039812bedff0baeae1477d702ff34f41153259061e7625e5601eee732d84","sig":"08d52c60abc5254d9bddc4aae426c0ad91fa9cbc6e11d75c17f8ff28359a43287470ce254b12ea2b12edefa496fe5e5cff96ea36f38b300ce036580d242887ca"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700878691,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700515155,"kind":1111,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["d","dtag-1"],["t","nostr"]],"content":"del  and line separator 
 inside","id":"2bda5b6845059c91f6c4a63cf3654140040e775d6cba5c96157ab93f11cdf2c1","sig":"aa84e76a0e7dbac3178584b0d071891f4f8c9159f7eda1b2628e34ecddf44aa8ff0c35e1a9ba439945189979e74f88a887749f6a55808688501a4aaa859842c5"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700515155,1111,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"dtag-1\"],[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,true,false,false,true,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700854835,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""]],"content":"he said \"hello\"","id":"216a03664d3203a712d8350bda561cffb634a77e2e8d0a63062695bda884f567","sig":"4a34d0a581553e734813b32f8ac4582621c943ec23aabb61517e91f4fe6fc2c9ebeb96380f49345d0b1a24dbb43c7483da227c452e587b28d9cb8127f978338a"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700854835,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,true,false,false,true,false,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700182819,"kind":445,"tags":[],"content":"he said \"hello\"","id":"dde415d39fb7648b706be5ae73fa9101144d97bc75e42e222ac27e39aaf2f7e6","sig":"6f9e80ca8e388eaf0f740061a694a018f878d6dfb4e8b804a379bcb3b2a31ee3bb533aed6625e3c18213f4d268483815098794d237019bcadd3bd07f3f1170b6"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700182819,445,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700735927,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700112595"],["r","https://example.com/7"]],"content":"control \u0001 and \u001f characters","id":"3818c58f1e52ace6e49f8a633fb7e7c0422639256c456ad3a4aca40d3186298e","sig":"2c6c9cf26d6facbd8e4e9e5b67bbf70a7b893cb6b26b5575eadee031530fb68681b9752449a69dfbac8ce06530d36721786d3e890bb68a4123d464a26928790c"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700735927,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700112595\"],[\"r\",\"https://example.com/7\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700335101,"kind":7,"tags":[],"content":"del  and line separator 
 inside","id":"6208a97aa7b2c796572bfa9d95ff069d80e9ff70ef4986161cf7a8a1efec9b37","sig":"2029e5c9d4d73533ebadeb577ed30756c21282d8ae78f6dc9a7e91671011679ae839fbc1e48769f3d219018522bae487d91bdbdb9d5df8852fd35a19f9925e91"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700335101,7,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,true,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700979778,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"plain text note","id":"eb332e99c35940d85513a5a23a53c0d8f6b33a52dcbc30697da6e9c7de90d9f4","sig":"3948ceb0d889ebcf6c35db0b40ebdc3b0d655110263cb0699c983a8d6a1ea02f42732a8a2a7677178c87373dbd0974704bf59c53d24aa7bc8f35d037304bb452"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700979778,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700110815,"kind":1059,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"]],"content":"","id":"eca7b6c5b5d3c4a4f8f7b6cbbfe7ef975430498b6cff73893290f2f845b67f15","sig":"83aa0d45a50cca0038eb559b0f65a831c7793fc593ce8882cc9790d72b951c87431b1c4054f9dea07497dae805c335f1fd6a595240ec87bda7aef5b74bd9b0a2"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700110815,1059,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700974217,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","test"]],"content":"control \u0001 and \u001f characters","id":"646cbd262fea8d8cc2f4b75f71b01672a0496c02d0293288f0ab0052c4e019cb","sig":"3934fae986a58bbf17f27585ca83145aeb2c163b8d6798078341b646411aedf74e2091ef2e145fe9095ddf3969116be511f9d682e41c2adc16e2ac6a272c8ae5"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700974217,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"test\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700754178,"kind":3,"tags":[["d",""],["-"]],"content":"bitcoin and lightning","id":"91058badf0c84d1fbeae44082877d04f6e70e3a2e01f4a386c37c85bcb14f9ee","sig":"b29428ea6fa1c4f50cf57125ac1ff9f6d25e62ec76ed3223e21d835dd4cde23ac560673144d18713d1343c1d0cd311b59681b3eafe5d12688fb57c40e1cf24b7"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700754178,3,[[\"d\",\"\"],[\"-\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700438092,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700173959"]],"content":"bitcoin and lightning","id":"8a0bdedc1383bbda21631d48b47a65385af10ef8e86fee36c20226e34125f4a9","sig":"1185510582ae53535961f8ce88d52cdf975cd8748646cd681552b090a1eb80bb3ddca4a35a2e315fdb41e87b4a0ced900bf0a2faae3f6bf62e5a2552baf01602"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700438092,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700173959\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700679776,"kind":3,"tags":[["t","nostr"]],"content":"nostr relay engineering","id":"2b760bcec0f55ab5ef6561b6b724919c1efe92bef69c84031fa9ea238c4fd4f3","sig":"6e26ea55076d5676d530d815e78e8d5ba212765a476141cfb4f284b4f69d625d3b766ace58bc82d7eaad8f6adb7ebf42245c5154a19676ca594252e2c7b6eedf"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700679776,3,[[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700449261,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-0"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"he said \"hello\"","id":"7a22032034d513cf133a8c1c75ace8c2147466f458490a88231cd921333d2ae1","sig":"e9fb9ee7cd81f564dc309b9494905974bd9a8221b55592fba17783b8b865d02c9a3399514fafe9d7988bc47f314e42c9f948042996b9c38de27e740b31106732"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700449261,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700759397,"kind":5,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["r","https://example.com/0"]],"content":"emoji šŸ˜€šŸš€","id":"06edf6460e057527253bba7f000caa6f9ef4d4f580e6807f905f7569104a2cd0","sig":"5c86ae861b0fbb38c5955ebc796345e5b684042cfd7d5acaa82a1cb15c26085eb28c39c44244c99c4f997420d331c23fba34010dd757d4bfe8690349c8d509a7"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700759397,5,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"r\",\"https://example.com/0\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":5,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700414018,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"plain text note","id":"4d8cbef651c348f4a07757f853d87c87a259a1b4723b8520d85fae068e10137a","sig":"e95c64ac10ea3e96bf49e39b04214310a44512eb49b9426f52648814af0b7d0b93fe940f8f6e7371877e19d82690aa4fa93b890d07e3c99dad3475a66555422b"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700414018,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700469478,"kind":30023,"tags":[],"content":"nostr relay engineering","id":"c7fbd5bc77a206d0dc9690a03a05a9e2e6275aa0ce5e36a0c6e121b83db57e09","sig":"7881d47630fe63bb7628405400512a0446ac717d95d33146b8a9e93aa339e4d07c520e5bf04b18c87232c89abc186f6335df1be970aa4ae5c92c04e0010f11a6"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700469478,30023,[],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700580580,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700266496"],["t","nostr"]],"content":"nostr relay engineering","id":"f163a165fa2c804932f21c5fc9585db4f385f7492d9f353846ad4028ad10fc6f","sig":"5d9e63739d8d9781046a3b3da0b39d5bed143bed463dc75257067c649bf6d07e1c9b2539ef30a39b73ea0b66bba9f0beb8a0bac3cfd6206ac20e43222020ffb4"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700580580,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700266496\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,true,true,true,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700395113,"kind":30023,"tags":[],"content":"emoji šŸ˜€šŸš€","id":"8b56ed0f9727add5677aff78ffacd8751ddd5aaede5551b615f56aa7252609ef","sig":"fd8ac5dae43e99430722202d75224476f6c3cbace8c45aae6821811f4134d5b0004cd55ee06ca83893cb9c2244635ab8590b33ea0b4efc1dc306e6d8f07f5a4c"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700395113,30023,[],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700545486,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"emoji šŸ˜€šŸš€","id":"05b68b8665c8d5256c00abad2b3852c3879c4294e2addfca6a76d379df2d2eee","sig":"48fc3377ef69d797b5afcfdf61a57a75d4e04f80221b0d258e24dd7e8b26d04348ed11d57af8f37e3d14a86b3505200bdcc4ef87510263cc386916f5586cf04c"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700545486,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":5,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700558048,"kind":1,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"]],"content":"back\\slash","id":"ab9a421d2abb053ce47a722e169d51b357d12486b778394165ca9a0ee4769707","sig":"abba03449dd2c5f96b9663bfdba6204ecd7669df308bcf88fbd6c3f76aa9812087424bf06409f0d02799a391addff0e812973682e830e94986f8838fa22dd8fb"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700558048,1,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,true,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700309937,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"he said \"hello\"","id":"589877b5cf1ee7438a7ed886cccd628db448617ace3203e35302c4fafc5a06a2","sig":"acf4ffa2f43e4f3e9ca26e4720899bf49508c1b5905b8ad47239c90f319810dffe73224643e1471244b046843e20368a49f74807f977ddadb8240a14a54d747a"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700309937,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700415213,"kind":30023,"tags":[["t","nostr"]],"content":"nostr relay engineering","id":"5c4b8c8e29b9461b6858191802b66229b65e380f98200cf1ab1474d09e658e75","sig":"308209744bbd096f0b94c31b872dcebbacb295ff587bb759fc98eafc7e8f3c50304748d3d2a0b305c35a9c42aa89b79ce8b127996b44927b6ec570a6f8b72841"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700415213,30023,[[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700862856,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700162993"],["r","https://example.com/2"]],"content":"bitcoin and lightning","id":"80994faf96bcdf0a3fd302785b227b2e8920e4119d697b8d823cc93e1f44566d","sig":"dc45a8203d35169007e439c0a8cd9d006bb239ca4fcda8a23cf06b3dd490007e0c51c4e8d9fe8b473017323efb47a82177df60747b0dbd0b1ce7186ad8ff39bb"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700862856,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700162993\"],[\"r\",\"https://example.com/2\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700324783,"kind":3,"tags":[["d",""]],"content":"Bitcoin is not Ethereum","id":"8dcf11b8352b488cbaf25b65d42ec06f9ad66b82dbd73afc904ff3b46a3eb86a","sig":"91e63c6fccfee2466260b46216843733ec0ed0d781fa5df42ece0307bf2b3b02a0abab4cf25cd5b44402882efa00953c394d36d407c2ef18c7f914abee3f8e2c"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700324783,3,[[\"d\",\"\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700163263,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"emoji šŸ˜€šŸš€","id":"81fd854c919736ded6d0e5f5a0916dc3523546f1496e6f4e7750a636b122f6e1","sig":"94191bf5ffe801afdad21225e0eaa8bb53a9cea8c01b6b2b4076ee0344e8085b61c759f08fac43312df9210a5ff478533d4d735cd3c12e8879f7935580893827"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700163263,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700047856,"kind":7,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"]],"content":"plain text note","id":"92d895581b6ee11664b19c3924e2ef10f0a374dae8a3b2e96c41e2c3c757653e","sig":"cf9c637479ec6148d58539e05017dbe3cc838a2876f4801e7cca2531cea1a2105b00a7b4a5482c830cf6ceee7b784d88413a593e5cc273a3b197b7f716878b61"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700047856,7,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700940228,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"],["-"]],"content":"del  and line separator 
 inside","id":"87573f9c76273a51c3bbb3fc3d2cb48cfda91adce61b3bf747545f9b2a11d4f6","sig":"8583ba006334823689f22885312873954bdfdc5a214143b3de3aecaa1a390869bc1000b6bad76ac1d19aec8cb58577b731c1ef8d8a0653b5decd251e526b7762"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700940228,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"],[\"-\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700990915,"kind":15,"tags":[],"content":"nostr relay engineering","id":"ac8aca402466fd8f7d2a5474cd48264e4bcfb3b0860799bb2f8376aad4bd891f","sig":"330c8d77148100912a93f8242d05900dc872c41bb166e054228fb26cbc97c20245def7b3dd0302e674b779a951264160f8cd6dcd9d51b9ad6015db18fc5dad49"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700990915,15,[],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700852030,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700287781"]],"content":"control \u0001 and \u001f characters","id":"c5cb560d303abfa8716ce2432dc7ea37a2389c0946982cfa2a4258dbb584e280","sig":"44b1850127fa057ff2d79198ee9014fab43870e15993284c947f3bd48592f57d696d903c4b59b7b3c8cb9dddc8f315af4474758050c63b77c04986e0623cef54"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700852030,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700287781\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700274691,"kind":444,"tags":[],"content":"control \u0001 and \u001f characters","id":"3573d24028a709845acc9b16ced6f7d9fe417fed87c6d415bf3a0a971d412831","sig":"4ed170b5ea3524f95eefe6ba56482dbbb095b10b8c7fba9154f37a10870618a76a1d34ea9d7f9f21a7f3197215aaa1947b60c3fd7dda84f9343c4cecdee0ae96"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700274691,444,[],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700252463,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""]],"content":"bitcoin and lightning","id":"ebc68a25b9ff4d2f930ff526a972192f089eb63dba04aa7423de6af92d8d1620","sig":"2b3d3434d031e997e70314b662fa4d20206af4f91de4c8349d0b8b21e1d8ef5c045af9dbe5c8846e63ff501c6484f845f21ac987510e94f0c74ba63d2ec8820b"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700252463,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700090928,"kind":1111,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["t","nostr"],["r","https://example.com/1"]],"content":"he said \"hello\"","id":"1e716d4edb95678397543406190d581198a75337d26dc1c1171525c3c546eed4","sig":"d5f6a08cdef13d4b95fa4036f603f3f94f4ae5401f6400007f86f697aadcf75420198d42b83859408569bad951784f8bee33e167b86266e487a7a1801d086e21"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700090928,1111,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/1\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700920747,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"","id":"2380764a9a6a5ab865a338873ef7900bf92f7072b4bea5fe85c179a16cee201a","sig":"d9ab54930845e4ccc788d9e30dd7044ea2e0219d144dd1b18eb316a03597667774c47bd51936c764a93aeb040ca23fd5c3b9d2c4bade8c18273056f363db0caf"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700920747,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700740088,"kind":7,"tags":[],"content":"Bitcoin is not Ethereum","id":"3725b444aced6ad593337b1425450043205a5dd33404e2079d9380569ea3e3fc","sig":"b2518dd54addc42469fd7e44cfca567959cc598e1c4f51daac9bbe5737294754754f9099b309797d044b314d81cff24207be237923d65920815120e1f5778bae"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700740088,7,[],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700268655,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["d","dtag-2"],["expiration","1700285003"],["t","bitcoin"]],"content":"emoji šŸ˜€šŸš€","id":"da472a92198c41841b6b59829910fe08b2aa116e336e49637b09f02f23c47dca","sig":"791d2abb4373f65887f564427aed3ae85027a4feb43a84a80e38a5488aeff545a0e212c02bad33e37de03d7a1522917a9a75531ec756b515605faa89dd1071bb"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700268655,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"dtag-2\"],[\"expiration\",\"1700285003\"],[\"t\",\"bitcoin\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700530484,"kind":31989,"tags":[],"content":"control \u0001 and \u001f characters","id":"e120a4fde07619de3ff3fcdf99a72b952b74de5148a06b26fdc89b3e4a40991d","sig":"9285ecd35bbe2af6c16e63f34e89db039de8e337d9756f52f5dbf371da556b164e25f38f78341e4fe55c5d890aaaf4988801f603e0f37859c8bc660ec1c0ab8d"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700530484,31989,[],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700545598,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"]],"content":"plain text note","id":"8414fec1c5c90397ee80542857c6b83fe0d14a7af2c646810c69b27551fdcdc4","sig":"47febde46ba6b1a315724c998d9f097af685ca1e5fcc4ec714f8e00e38ce2979f03bcffa66a5a6cb997f008013b8cb671573bee63cd99b9d924470118434cff5"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700545598,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700102814,"kind":31989,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["d",""]],"content":"back\\slash","id":"cea074f05feaaf55c341748163b23bcae40e4c2441ccc51dd1194e04d8634762","sig":"da9f52f7fa9ad0f46f801da1663cc80a31a208b19eb05a3f4d2609bf8f9ae08b22739df7305a3cc2ce34d2090bc73c9cf73c1a88b3332cdbb5e0250da220ed7b"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700102814,31989,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,true,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700558451,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"del  and line separator 
 inside","id":"401d1996e82b5299181ff21792284c5fab25b2cf5e5ea5f13d79e2a8bd3148c6","sig":"8dfb7f2224696d6a8073a7733f00e0606d04b7d1abe58d0a16c55bd04044f2481c0720bc2c0a1f4bf1eb8d69a53cc0195d15d3ad689a8b9ea63e4f35095e2cc8"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700558451,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,true,true,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700048549,"kind":3,"tags":[],"content":"Bitcoin is not Ethereum","id":"e8af9f602a4ff193a5c04039fbcf8c6c312041140ba7032d95fe303e6543f42f","sig":"2c59d094b9ded5514af29cd9c73de075d124a71e09f533420dc324fefe4a3a024ac69c7533db03eaf16b60e3cc7a68a3b9bc804f5dab9b0607f9a3b01d7ea5da"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700048549,3,[],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700137033,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700104950"],["r","https://example.com/6"]],"content":"bitcoin and lightning","id":"7626da6b202453636fe9a7f7cd33d53506c00bdc7220caf0cd7dfe917916b858","sig":"7246f805855f07ffbe469cde7494d2966abaadff227e8ef675907e3191b7e7ff8d11a59aae0e18c811d1309b32319d81efff966a1a090836e4c0be109e3598a7"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700137033,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700104950\"],[\"r\",\"https://example.com/6\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,true,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700815003,"kind":31989,"tags":[["t","nostr"]],"content":"emoji šŸ˜€šŸš€","id":"6fe9bcb7d83089155f0878014bcabc19b5a996dabb25c24eb6992e47c915a299","sig":"a73c5ca9ec16585ad506080826fef9dda25cdf5b882903116b6d7bfca218e6c72df472da67633ed1294800fe7387927c18243c4b1fa545fa8ff010f15f1f6908"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700815003,31989,[[\"t\",\"nostr\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700672503,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"back\\slash","id":"a03e7a25b45382cef761fb0ed09a7b03261b4566a7ec05719f2e271530ca7616","sig":"a1643410064a46618c1c29d60a46fa441048ae6a2801247bc3e9fa7f0a2fb5b22bb23e9e2bc11e750ac78b7ea4175ed1a71e8300298f19db26f60c453e32d4de"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700672503,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700733880,"kind":1,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["-"]],"content":"emoji šŸ˜€šŸš€","id":"44c0da19bcd25cdb962989ef39118353bc34f2b49acc7b76b79859605ab08f5a","sig":"55f0d36e813f7acb1a5b9cd635dfe4ff97d9a813a3e3b5f234d935dfeaa01a7d516aec790f32f802d10ed674a526b2cc169e67ebf05a6ab018a6887013171bbf"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700733880,1,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"-\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,true,true,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700423942,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"back\\slash","id":"1d9e1c97f9a8d74ca710e0db52aee8022a2c2cc365262f57c383f99d29ea525a","sig":"d103e742771f4861b602f7d73c384d58654f524526398e89fd26be268f71f54ca8ef15ce181a57db29c1c0b9fa82b05e85e54e5821d35026d133e4dc211adea1"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700423942,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700190948,"kind":13,"tags":[["d","dtag-1"]],"content":"control \u0001 and \u001f characters","id":"0b66b5a510cc5100b9a880eb7f690765865085c716adc946a1eb1b2bceba5132","sig":"94a07e7ed8c6035f8c77f7bf0815d82a46c941bbdeae7519a9465354977868f4dd10bcd52b87a88a58d768c7ba977899204d79350ecf39ed80ce526490d51dec"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700190948,13,[[\"d\",\"dtag-1\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700648357,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700123772"],["t","nostr"]],"content":"Bitcoin is not Ethereum","id":"c0f485e133d1e0607d78d5d1575e72bff07c2e4bce35a3d94020925f0ceeeee0","sig":"5d0f63527f621bac087dd489d4ffd4107150932a7ecaaedf954b4f74c704d3c03add520611adabce1eb7afd288396328af90041deb5989bc7382427170bd746f"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700648357,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700123772\"],[\"t\",\"nostr\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,true,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700526517,"kind":445,"tags":[["t","test"]],"content":"emoji šŸ˜€šŸš€","id":"6d333960d44568713c4c1fd2a9deb61ca97e315a4a17925c3fcae93181a89a42","sig":"b60cea101f6463034550943f8d11623dc01bb83568b711061116b5fae6e5da1ecd32339e0d7d6ba728ebd4e9c87ca895fb89711a195e9cb9e903a4e09c853935"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700526517,445,[[\"t\",\"test\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700199868,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"nostr relay engineering","id":"e87d88f5827dcc2368d83293e75b2abf3a7ebd9aa1ea85306110b98320ff2d27","sig":"b70daa67bced6f1d9c4bf723bec8ce00a6a689c3e74179e00f9376d7568b20d44aa45380f73bca5f6c2d7f53736f255221c9b925468b4e8dc93db6b0e9eda9fe"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700199868,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700444410,"kind":444,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["r","https://example.com/4"]],"content":"del  and line separator 
 inside","id":"d89652577c37d635587185a533ef305e703f44f087516baf04f463920b41f42f","sig":"fd5c0170fe08d9b9b41ef79f06cdebd56020755b2fa90bc4a18b198d2f1ef3cbdcb8876ed8c43f106b47a0a3a73e63c32e13d879c32cff43d82893a993ea18ba"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700444410,444,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"r\",\"https://example.com/4\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700253078,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"","id":"68f8a059d60b77b85b03aaa7c7ee97a5d733469ae8f8658e3d9fe4facbfb34e2","sig":"0a975c879b2eab605d543333a15f5c3bc02ea036de78e13b7b0587415cbab11f55d5af93964bb862e0b5cf471349494e376c66286df0a5529d4f75e27c90a55d"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700253078,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700825839,"kind":443,"tags":[["d",""],["t","nostr"]],"content":"control \u0001 and \u001f characters","id":"9f8a477c028f9d2e7d440ecefff6541e57039c3c28352d926958b8b1125ed7eb","sig":"afdf9656b4f0659d3d5c6f963170f864cc6301d1170c103f9097a51a37fe90a5455f5cb2a838fbe75a54b7428268be195386a2b5cd15cebff058e2c8d2e0a9d9"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700825839,443,[[\"d\",\"\"],[\"t\",\"nostr\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700391929,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700221836"]],"content":"Bitcoin is not Ethereum","id":"67d960341d961e277f5be11537bf8f773ff2f979cd2cb4d1f7e80895d36d9518","sig":"f879de5c323391dc0ceb82ee73c8269f79f319dfe2d9815765260f9091d780f7c6ac58cabec6c484d82e24997c2d7839335bdd294b40a0b390041ed64a47344b"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700391929,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700221836\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,true,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700713912,"kind":443,"tags":[],"content":"plain text note","id":"5d626c735890c50914a557c5fe7382f94a6f548a26d2fd602877a3b66ffeca48","sig":"b8f434c15d38fca89ebe39f23faf6c0efe5a5ba19aad456eaf2eb2bf2692afe965961ae19670e4055cec50ec0ae70106be23fe741aef46f8975c59f7be9b9941"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700713912,443,[],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700964934,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"control \u0001 and \u001f characters","id":"a73e7757549b6bffb2ccb7be53e0e87b4eb88acbd06d3f6411880d33cb51a3d1","sig":"4ae75c144128ef559a9d8a0edb208e23a12ff56924d469ee8261bf95e8ed2879fb002fdbb123a18b509628583c6f76657c1b407b7ad666ff1b86e54cac4e1b8d"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700964934,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700131551,"kind":3,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"]],"content":"emoji šŸ˜€šŸš€","id":"9cd3319977f2806b6f6e7f283242a4d021db502f2bb3febf0e0d125c81b03d17","sig":"22de452ba927a6973cd4dfa1f4c6b134f593160c0da9a844af994454e1e3674f595d3b2119e5e714a76fae1ff8cf22ab2cb330a8f6849dc99b2eb06d35d2847a"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700131551,3,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700084461,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-0"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","nostr"]],"content":"control \u0001 and \u001f characters","id":"62cf09c01763a8930a8aa463cb077fc940f8d14032ad5edaf895fac011fbee0a","sig":"04851c626227e9e7da7239f7613b86b6aba6d34c7d35249504693601bfd639809c1bb6430492576bc2c8eed7bfb44cd9277bdbea96581053cd905bba382c5801"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700084461,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"nostr\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700995682,"kind":3,"tags":[],"content":"emoji šŸ˜€šŸš€","id":"099a3574d445a901a7a0fae3a992c68bbc79257f9e13cf5beb0c93b9789c4f0b","sig":"2ac27c6e5e5b0cf0dee677a115a2633a0f94134ee180641c2970e97cf27346ffa0e59f042adae62cfd17f2a93152e663e43a471bcfe17744bc9ababf1cbab51e"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700995682,3,[],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700462572,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["d",""],["expiration","1700247739"],["r","https://example.com/2"]],"content":"Bitcoin is not Ethereum","id":"d08775eb45e50734344b89b83e16e214fcaa9ca7d7e8e2f825befb30cc6da096","sig":"80c8e79e959ef509335eb018963d4187e904c95324a6f950dfdf1e92366c5eacaa1d46966a8403d3f2c5fed962d5170318a5cbcc15458cc931e4209b8760a9c7"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700462572,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"\"],[\"expiration\",\"1700247739\"],[\"r\",\"https://example.com/2\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,true,false,true,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700475516,"kind":0,"tags":[],"content":"del  and line separator 
 inside","id":"264f50e8fee3871a3a67e3a852b664878096c2035b086bb40dcd3f24d04dc503","sig":"b63dec0c88a61e142718a5bea1d584230d1b71f6795eb546a0db95a531d78c04afa66f6526e8327ead98e2a3ac8ef260506399ef5a9b70b8b10ea1030c207c01"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700475516,0,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700504728,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","test"],["-"]],"content":"bitcoin and lightning","id":"45ad4ff816a5b77effe308b52210692360f22dffb8b0f1d2213cb383c4b49b8d","sig":"b6397244725d232498d8c851dd7e9596af6099588dcc9144370d5ce96a8c9fb167815ab7bbb6b23bcc8b25bb42b6411d2eb64ad47c85bed4a92d21471abb7f07"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700504728,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"test\"],[\"-\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700166791,"kind":15,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["t","nostr"]],"content":"","id":"cb20521c3de2c80dfab371c7093a6a16e4960be5fc38ebec13f879c3379440d6","sig":"7f9c6e9663fdbcd8d21c5b94a6f1634de1b3692a2f5375abd099431d3b3a071944375d4389e86dbef7fae1415ecd3856d4a3a8b4909d9d3e5523b4d5419f5910"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700166791,15,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"t\",\"nostr\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,true,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700130529,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"del  and line separator 
 inside","id":"de77d5cd4e655a2545db11b88bec6ca7d2a8c9c493c414d881f50b05ad5561bb","sig":"2ee9cb58f1fd9311cb1d840e699269f7ce03cdbd440f7336c407702bced1094f450c9be6b769e095c921e7aa4a1472f3964bdeb43ca19fe780b5f809c527a5a2"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700130529,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700029335,"kind":62,"tags":[],"content":"Bitcoin is not Ethereum","id":"29dc0faa419ae60ae17945c2b3ddf108559ff1d127c5c309bc4a1e1228bff7c3","sig":"8e83e7905d2a1395bd2126f7dbde4772a97575eb98e084702cdd40674ba9782eb9507aecd1c988c91bd8f5552e021a292fab5476357a4b3717534f75b68249a2"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700029335,62,[],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700555324,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700236504"]],"content":"control \u0001 and \u001f characters","id":"3831f29dfd688f22512b2187682abf0b7c6922f8651911b299d9a433c1254133","sig":"ed5a62121bbb054bace98bad297d8c06049ddf6345ba22bf3b56152f0a77c8c648b5200004c94d85201e574830af0ffc18c42a7df8c1a22525424a871ce476d6"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700555324,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700236504\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700968529,"kind":443,"tags":[["d",""]],"content":"Bitcoin is not Ethereum","id":"185e872349fb82bace8171b8a5b7ef50e371d35c89113941497a99b1067f2db5","sig":"ae7e851faa98bfeefd532bca2229daf08a2658542a61117ed14382912435581084a899975aee7c4aec10950232d143996b9dd8523891ff498558c32e5ff3730c"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700968529,443,[[\"d\",\"\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700627769,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"nostr relay engineering","id":"11ad992ecbab51f65465af091dc0ff7a1a961b77836ab73d5ab1e227ad51049a","sig":"999155f734bb6ca2a92efea86f6dd7083c5627711615c607927241b79825d775f404431eaea91c7d6fd84c9ead7323fa57775394a19ba749506fbb8463fd7716"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700627769,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700446842,"kind":0,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["d","dtag-3"],["r","https://example.com/5"]],"content":"he said \"hello\"","id":"4a6ada37f8e69059d24b8213303bcce83d3625af6a819d1fa3aa0c4492594696","sig":"d6a031a069b507c3c037efac73bd894cccb0d13492ea53fe7f59d7ac556b20ef567149f4029f1db7f47f35b14742f9fa41bc71fa4cbb13b5c85616af055bb38c"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700446842,0,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"d\",\"dtag-3\"],[\"r\",\"https://example.com/5\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700121845,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"del  and line separator 
 inside","id":"c7fb3d3502d9acc2c23b77ec2e38344841b00d5d68c28c0b8288080ddd1ef484","sig":"f4b9d6b278961bd436ce39e6248bc69be498e09ce0ef7ec2ed566803f10f5284c32db2d8dc2fb06c22800327a6d9c9bb660cbc1dfda19bad4473031c7f9614d3"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700121845,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700736777,"kind":1111,"tags":[],"content":"bitcoin and lightning","id":"837044152306b738f274b6a2a206a5756922b095efcc1572d50cb93572239076","sig":"5c371cc44c052dd898393d55d747a119e60ef6376dab7c4f9cc406ab2368aa4afc3513f98e2eee2596144e6e42d6f79e01b801c4c607b2bbccfb1d8ab9822edd"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700736777,1111,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700210969,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700126867"]],"content":"control \u0001 and \u001f characters","id":"c578e55c52b84f25af6a5e37d49e59ce5f15946a47be6002b1f0cccc46d06cbc","sig":"475e223d2094d3556ba13ffd6977831ee8074c588668d84e7ba1354c0cd0149c24d93bfbb61b1a7ea3d37499cbd0c9bab0e7154a39b517644c9996918711c364"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700210969,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700126867\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700269179,"kind":14,"tags":[["t","nostr"]],"content":"del  and line separator 
 inside","id":"883f074471eef936c2473227c01debe38040adc3f6de56dee4ce6802721d4aae","sig":"d4439cd9986e3b33510dfda29cd9afc013f43aa682eb59edb0bc0933548dd44ed77f1d5626bc74a31456eef0110e461b238fae689ce5c9df356875bffca19130"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700269179,14,[[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700337818,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"he said \"hello\"","id":"fe9e83ef08ecdbe0e4c640ea0625685857ba6cad7bc9ca79d7c654d170982380","sig":"865deabf38313eca659862790291c9f93a1918defa3d55d9064f3c2eb2f95af2e38602fbc43d423c177999241a92e21667bfa23be3feca84b89f45f461a64e67"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700337818,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,true,true,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700557851,"kind":14,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["t","test"]],"content":"","id":"ff73e61b10138fb1b60db17edb444c6b7e4d24f599e7b1c8c74299407ebf64ae","sig":"62c6983a79055a763b3f1fee8ffc51745520dbff055332e2f2cc38548115d0ae71b9f769ad336b41afe8a41da2b27ecc2888ec77c331636b8d8efb51e95dba45"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700557851,14,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"t\",\"test\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700492226,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"","id":"db37318915ee4f8e0a67cfecb1660c1a734887d5dbb90d02c018f58bd6dcc3fa","sig":"1f67b474d1678b5a23f91481b9258b227fabf986440ae06dbf428e1f64dc2f153832c99b73251ff4435d196c7fe36816994df66a3b5a576f3f32e95759960119"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700492226,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700868492,"kind":5,"tags":[],"content":"nostr relay engineering","id":"d56e205b420e3594c4012018caf4a0403845d824005f54924f4c825e37f6d068","sig":"9ec8b85af25304e5e6bc3de6ae892b7ad9599accd8ca427d0dd53a9fd0df1b845f49240bfc00a7723a66b6371f45face0969a3066c841a47268f63cbdfe80074"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700868492,5,[],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700001630,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700109269"],["t","nostr"],["r","https://example.com/3"]],"content":"control \u0001 and \u001f characters","id":"926d9c0f99cd65a2e3c7f21907de676696161020d1661c2075c6e9ad3bc5bb28","sig":"f9c3cd733480f745151c9196e05c3d053c14a455858cd6b58ab0ca0981ae455a23223dacfd3d9cc866ad33d89568a59f0f1880030a774b7246d7a229453a2270"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700001630,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700109269\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/3\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,true,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700077645,"kind":0,"tags":[["-"]],"content":"he said \"hello\"","id":"cb6ca41095d5b03e04712e416133dc1c286276a2b874fe9b4124fcea82322279","sig":"78928807483355aca23f6c0a9203d1c99fbbc9aaa635b01d38366b7fe577e19c4da7518ff80fc4b8bfc964ac6e03a93bf680a537ea9b68be3cb70e9d5737b480"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700077645,0,[[\"-\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700176319,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-2"]],"content":"control \u0001 and \u001f characters","id":"5d9286ba7fd3bdab5fc1636cb0aef421bf4abe621075f73dbb7eca8e5f61c903","sig":"0605e1d68d602d82a59789f4c9d3bfe5fc4c5e7cab2ede71fff9398f2180405d3b23e5ea0afb23e0c34344717eac22526e67cbe2cc2c60e9811aff1e1ed53972"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700176319,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-2\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700625345,"kind":5,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["d",""]],"content":"bitcoin and lightning","id":"472139e163046ec2c054823e02f6798c0ebaa40a592777a058d5c11a185344f7","sig":"c56a9d5be823d6eb0969ab8c72899e9af6cbf3a95277033239054a0e631d3e91dff29b940de65d0b55ce69ecfff782bb876c3e375b1838d9481979625b01f64f"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700625345,5,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"d\",\"\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700234521,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"bitcoin and lightning","id":"d6533369a0ac3e38dbcd15a6388115a3235ba033747d3d9c9ba7d119258621e5","sig":"1c82997b0e096555fa9f881de5840639c2bea7e5a001651d95a0f0725cc5ad79f0f5f8b0900bfbdf1b1b644c013e58c4b5d40459fedf93cfbe1ab62d6c0313a2"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700234521,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,true,false,false,true,false,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700224908,"kind":20000,"tags":[["t","nostr"]],"content":"control \u0001 and \u001f characters","id":"cf3bbebbb2a1a317b7424f70083f47a5b9cc032d3406ef3102e24d6c36ea2bb0","sig":"1df70b1505512a9805326f2ccad015288a530b89172fccd1f816070837505d03fbf9ba6fc17c284d5fbd51358552d011803fa225f73ab9b7eee606ec7923bce9"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700224908,20000,[[\"t\",\"nostr\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700699239,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700245828"]],"content":"","id":"2a77294ea126d0eba1642b15eb64186898140a24a41e080d176ac8db54fe7ac7","sig":"a29151cc4b8d7e360c7ec1229a2c63ee62e8e55155285aef1ca2f6aa5b580fa239f1a401993fbab06ed0cc6cd2b53460689f357d9f72781ab6417405ffc95a00"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700699239,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700245828\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700753737,"kind":20000,"tags":[],"content":"he said \"hello\"","id":"605aefa5e0abf9a98772905035a30cd1e8acdcce310441db1af0c152dcfd1c2b","sig":"32aaa577152bd58e7e9bd007b948371254df3e120fcde30199df95d4d20d2a4f56fc0afbf04508d909d9099f31df9013f6d680774b8935b2af0337265f226c90"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700753737,20000,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700018660,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"control \u0001 and \u001f characters","id":"7800cf190cb373931a449bee5a202ba3e9248b5eb991585d4a7a198fa6704a87","sig":"74c25d4de65190faa9aacaead209fd88bbc1fdc672f3ccad60475d1ea096c8387aa70d23d5889891a68317b37930e98a9bbe29169145fff42507fa086c844b4e"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700018660,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700925616,"kind":445,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["r","https://example.com/6"]],"content":"emoji šŸ˜€šŸš€","id":"a28bff4a5d781ae3e863fca4c6535eecb544af71d2c5f86a5ddab3dfc6377ab6","sig":"dda16b0d6a5f763b867ccaeccb893816222d87949b76b904bbd914e97e61a77dce4461936d9f1ee686c18e13e7387071f2467ecf091915565cb292d86a765416"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700925616,445,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"r\",\"https://example.com/6\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700815703,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["t","nostr"]],"content":"emoji šŸ˜€šŸš€","id":"ba85e7bac242c015e317e177658645c06536e6d9cb28f59bb1d8e02d375ff759","sig":"3fe0a275a03731169e4a00ab77dede44d88b112a5ae74eccdf5cd712fea3bfbd6e590b6806beb0a7b5a1e0acf50f8651673be0fa6f7d56cb7ad1133013d46128"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700815703,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"t\",\"nostr\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,true,false,true,false,false,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700218024,"kind":20000,"tags":[],"content":"del  and line separator 
 inside","id":"7aa52cd115ab0fa7886e89c48cad3e53a16d639ac405a2500885dd124fe081e4","sig":"312b0e7cf8c17ec15c8539bb8f1b89bd358fba430104ac0673b8e8392074ba4a30e95bb9a0ef08e6d7055bafa051ea3749b0b063b4e327823c9123cf1774e8ac"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700218024,20000,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700166155,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700219309"]],"content":"back\\slash","id":"3a0b62c285f1ec8c19784bb2a911b8a46a3c33ae6b079b3511a3b7f581e0a05a","sig":"884bb35609944b7263d4cff2efa6a3bb1f96bfb4384a26fa5787b274b1978869ea8fdcd755dbfaca2b1613425d5e80d90e5b480e4f9f7be64318a38babe742e7"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700166155,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700219309\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700926273,"kind":20000,"tags":[["d","dtag-1"]],"content":"back\\slash","id":"f637b66c15c0d6ade9cbd97d7a1bf0034948daf7036ccff9167a4b5f951c97f0","sig":"fc46aac94f8d1ea0222d97d564ddfd6265f2349213441e4f3d6bc1bc607b747a9ca388bfe607c3de7decb5852c08b8b1c34d1ad766f74f878c31a78f6886d0fe"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700926273,20000,[[\"d\",\"dtag-1\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700997507,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"bitcoin and lightning","id":"65684467ba0fe93749b1c1bd669aded2aea9509b57af9750fdc7e7659bc9f22f","sig":"6d7f4e97f8cf0e92fc2a67a8138b8711cc0a3fc22a9b514c54b4192827c2f38d9bbb4184f68306fddbda154319b25fcadaf1bdbe6f716073bbe701df7bc29c55"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700997507,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700461168,"kind":443,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["t","nostr"]],"content":"nostr relay engineering","id":"a7afaea15c36c7db98933c2cf3376dfbfdd31b9909955face27249c82c925aa0","sig":"8a13ab4fcc3c1e9ef0e8cd959aaa86359d38a03e63dd9547e18b87439c2bfa132350c0dafdf2b3d796a26f30f89e0a2f8ffc5e63b228ca66e3203904cd807047"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700461168,443,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700452618,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"emoji šŸ˜€šŸš€","id":"a4a2320737a6b055cca483a4ea03205ea1644b1fc450bcd81313ed5e13e8fe33","sig":"5d7435641a83e97d5dc622325e7ce6b54690d66eb4477943be75f90a24ad771729874c3c906522ae1acaf223c8be145cae52f07602519aa87f828b52c670bd57"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700452618,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700390830,"kind":13,"tags":[["d",""]],"content":"del  and line separator 
 inside","id":"99e3106e8b59a6167a55176dd898e7bd97c375edafdded761dae1da7dfd51ab7","sig":"04cd0f42b22108dda3c7cfbaf3ab40e4932b9a2ee17ede0e5615238b340ce5b94f7b4e5245a0794ad2199ad00455a8a2d2af8758271f8c2b91379c16ab07a210"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700390830,13,[[\"d\",\"\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700512490,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700148083"],["r","https://example.com/4"],["-"]],"content":"plain text note","id":"a924198adf95ad61b1b0b8d111b0a3c72b95565352892485f13da74158343e9e","sig":"405bbe00f9c3d9316f405469df9549f9dfb9c1f61a810fb11609601804d70e3e65af5f212d536c8635cc6ec1ac3a031f26b283dbae9f7e8788896241c03a43de"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700512490,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700148083\"],[\"r\",\"https://example.com/4\"],[\"-\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,true,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700158785,"kind":444,"tags":[],"content":"del  and line separator 
 inside","id":"baa92c251e0a085b6ddaa7f4bedb851c88b7a5274b43632159f9e5b98117c0d9","sig":"2b694dc46a06a085e093d5ccecb3ed4505821bc08e762763b03e1b1d478b0836be4fa9841e5cb5a78e503f389d072a46d09144d8ed118699f5b582b9259eb586"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700158785,444,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700178785,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","nostr"]],"content":"he said \"hello\"","id":"4298a13524dae26832c350af341ece96cebb9f2e048d532688e3f86471e223d1","sig":"b87d29aa5e68e831efe946102a1659a0583f27aee4347d81a299c333f9d88ec4704ae85de92d3d4a9d20ef9b69ea04d195b214d949ecd509b017a23d0d03f4f7"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700178785,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"nostr\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700491810,"kind":30023,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"]],"content":"emoji šŸ˜€šŸš€","id":"7ff15eccc458f718e269960f5142b4c6fa7179a5052c647a0329c5d3ab653ba5","sig":"9b550a97786d5524f2aff7cadd18ab72cdbb28cf78a7c87adef7cf88776d9e0e709b97f58ecf331e7b73dcce799362f8b8668a1cfbe0a2ad9cadf23f349e8a3c"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700491810,30023,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700419576,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"nostr relay engineering","id":"3643070cb15c36870694ecfb1efc24ecdcab50014f199631d3a412d0e80c9d7a","sig":"ef050d82f7e36af84c0c359c64a9468cbee73b88d969f88c6c09b143d16d58f8c33d29a314397cc3fd3ebcf8f2fedb9d6bbcfd2fac5fbbfdf12d6cf4961aedc3"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700419576,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700169370,"kind":10002,"tags":[["t","bitcoin"]],"content":"back\\slash","id":"4ca2319f3411cae089238b9ee502f1444723c3e395edf0395db3498d7f7b0599","sig":"c5c9d867005a969b1043b0c2924c4160d09d94ffc687c72c2c7c9e5a2ba25afd068a137d08b5fc6bb9e9dffc07ded465da4018ab88cdbbf63f9dcaacb80cbbf9"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700169370,10002,[[\"t\",\"bitcoin\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700551054,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["d",""],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700221735"]],"content":"control \u0001 and \u001f characters","id":"b8e3592abb303d28668a1a4f9306486664b5b52619309cd4527b1e220b7ed4c4","sig":"ad39199bcb80ef7a5a66fe44906a3d57863018b7aa2a98d554ee052cdd1c5a398b814c1504d39c1edf2f51b11ea953221cdc2a1fc12a7a75f040df7be2e71fd4"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700551054,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"d\",\"\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700221735\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,true,false,true,false,true,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700109449,"kind":7,"tags":[["t","nostr"]],"content":"","id":"9428b74b0c7443732c79589f373721a893e1a95419886d2eb11c86746f78912d","sig":"4ff9107f014d70d5a1d58ff955b63183a788618fcb8bec54c8d2b2be3d51e452d0274234cba4514fe9fe0e73299c85ded713173224e1e38f9b1aba76b0e8bfa8"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700109449,7,[[\"t\",\"nostr\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,true,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700943080,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"Bitcoin is not Ethereum","id":"5f217cc5c8fdd7b627b379c483f83fa9936bb81b5d60dde7fed3dd3ef4b13ce8","sig":"0be49b20c94bb4b3239a7015275443e5cae4b3a168f08a3c0f377c6cc22afcba5383282e4d54fb2125c5bf6536c6e8e86294cb7fb7833feb77a43bd11f81e0b1"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700943080,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700900958,"kind":15,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["r","https://example.com/3"]],"content":"Bitcoin is not Ethereum","id":"40315578b223ea6c88d37010630e46c2355b963bcc427d1e3b2bd7870cb7225a","sig":"57e14c79ecad50d373ec51d8a8b5021c8eb5838537d5f3b5d3b2cd1f94ad93a54e1e69fddcdcb8100fa4c3319ec8de774599e13ab165ac82c22fade8b6451af3"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700900958,15,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"r\",\"https://example.com/3\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700235120,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"emoji šŸ˜€šŸš€","id":"bd2dd29065ad8a3083eb17a2ba7a32e94002dce3f2e658270ee5ffc42e5aa91a","sig":"c0ba6f20a2ea62a94eecbaaa15ef83fe290ee5150f90fe70c35e349fa56d0493b17a08d6e825e09bfdd4dba9c5be6499e1d4d12cc6c28b94795bfb950229c128"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700235120,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700510612,"kind":62,"tags":[],"content":"back\\slash","id":"b5420f7bc3089ba371ba274c3261e4430dd2cb829b015f95f699f815063aff0e","sig":"137e836b017b8c28ad79dd66c02c18b61885b936965b0771c1cf3017053e4c2785eacdd75225f75629073862224f919521f1486d8a9992669b9ac2bce645f098"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700510612,62,[],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700552130,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700158169"],["t","nostr"]],"content":"nostr relay engineering","id":"e6ee295d5a6dcd1f6b1d07dc5ee269690fca658b63c553cc6b5d11e18ee4020c","sig":"38dbcd405a4eaafa421d482cf825cf4a4b1a3e5e8f58fe819147e63ffd517cd5468ceb6cc49d4f4f0f66a847f4bb4ee32467c6363067e29071a781a15ec69bd4"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700552130,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700158169\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700932657,"kind":445,"tags":[["d",""]],"content":"Bitcoin is not Ethereum","id":"081ce24f7d9d9c424cb220f2e4eed83b4746273088cdb4fdbca4d0f058547af5","sig":"5cde1a142a25cb218f85efea7edd8735b50072bfef17ddd9259ce8e487c52fd081aa907d684df2f8f3b38f33b90923330138c39901872c9cf661c810b5b26f0c"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700932657,445,[[\"d\",\"\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700574712,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"","id":"ecd6649847bf49dce3e614ba5faf85f060eeef68a0471f936790f3b74048661b","sig":"f5b002b12a701f2590a291d4134cf7f4128b035b4f83105f4f9df74aed946365b24437b84d088328fdf38bc40bbe2490345316186d160b6b6f7e164afbcf7c6c"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700574712,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700058608,"kind":14,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"]],"content":"bitcoin and lightning","id":"ee12ca1eb7d0ad8ce4387230ddda0269e323cf69a80abf69bce50b2850db026e","sig":"14e57e2e890423a523fff38574f98bf96b610f616d0462a7bb4c53557df567f10f39dd0b54d59482ffc3242ccc9e659b6cc63c904fcaefdfc3af471298564968"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700058608,14,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,true,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700265007,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"nostr relay engineering","id":"ff9d52cb2ab00fe8778d9d196361e0437170009d344e0f8fd81ee82490cc96d9","sig":"0163f65d995226f2e94c06a29ad68313db217644e2203b85bf6ec2713b8c8626c26ebe999600af45024865834acfd53bd3f91af3e30492ce3e2b87a983eb63cb"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700265007,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700647462,"kind":31989,"tags":[["d","dtag-3"],["t","nostr"],["-"]],"content":"emoji šŸ˜€šŸš€","id":"696034e2cc34bda09edc0e4f79c9df21fda5de3f43e797521c44df159dcc7a8f","sig":"d48057c16e246551ffc761a7c9a00b424a5b75a1716369a720108a5ea41accfc69d28c729e9015e933df1da7c9e092d95ec0ba4c63454990cf2b8231087bfda4"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700647462,31989,[[\"d\",\"dtag-3\"],[\"t\",\"nostr\"],[\"-\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700123722,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700261039"],["t","test"],["r","https://example.com/1"]],"content":"he said \"hello\"","id":"e56d44f9ee69caeb80fe5b381930ec6ca3a10f151329d352577b5dbf97a3bd9f","sig":"48dc7a4b20864558dc272867fb5642009b67aaa469256f41fb6b630c92a4d6b2615670170b76e388fdff5e70cdd23e77491287126dbb16a8a22addfcd8a855e3"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700123722,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700261039\"],[\"t\",\"test\"],[\"r\",\"https://example.com/1\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700376963,"kind":444,"tags":[],"content":"","id":"35206c4ebcbe127c891bd2f6672cf5a1f86c4619d6a9a9308d9a140a4bf4715a","sig":"83faf380fc23fba903cbe01a876a5307340b8e46a43eb6824334cd922108f0e6c96f773a99eaf81832f71e124bc22f8ff61cd5c49cf4fe6f75feb0366fced96c"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700376963,444,[],\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700348642,"kind":5,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""]],"content":"","id":"1fac6c97b6cd1daf3ec50eeaa51d0fbe2c58a2dca0bbd2370ea0569d8e66ce6c","sig":"753e7a7fafc60b0d8af32ac6c625c147882e9fa04c361f9c4824eb15ec447649fa6f75cc3f2e19739ae138911908e1e0a9f7911190a278d2c3cbf185854fa28c"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700348642,5,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700727589,"kind":1,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"]],"content":"","id":"af082285990207d653f99779986c5ce37d955c1db9e9263283d40d64d87efd82","sig":"e7799e6789ecf1db16b088300c2f37c72683f7f9297bbed8d31641c3f5afd8ae349d2f6e223aeb4d40680b5c9cfa28cbded4acc852ad321ab806491b84d4de27"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700727589,1,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700237328,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"]],"content":"Bitcoin is not Ethereum","id":"1cb7e7768a94956f3a2986a6b715618a90e4d98240e32ac1b0bf55804cfb2697","sig":"d6c6123edb76a281807f28beb64ac18bb2e1b83159ae8c23d34553cbdc352ffb8b1b4ef67ae998de220062f8aca432636bbb7d018c34ceb9a9137c53e5e6571e"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700237328,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700265732,"kind":14,"tags":[],"content":"Bitcoin is not Ethereum","id":"7726a91d1b0e3033dcf724de165ea74d75ae319b64ccdca232c8253d15470e33","sig":"e763b37e0e8647b92602fd76a2cdaf0db25a2d813870c4e21f1e1305c8bfdff2b60b7c7ebf120beb47073561fdad10d22548a896dfa816f6970a625e184c93d2"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700265732,14,[],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700132526,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700138247"]],"content":"emoji šŸ˜€šŸš€","id":"b65bcbcfeb4ce9ae1ab10f7ac47f189cd5c0ee6be2e47530c96524e2dcc6b02f","sig":"d86440ac8f08aa8683d06143f75a22f2dc6380c527408b702af3384c54ba981549f775f64938141282a374e0042dda1a001371a70be233f51cf0d656bbe3b57f"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700132526,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700138247\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700818934,"kind":20000,"tags":[],"content":"del  and line separator 
 inside","id":"c06c8d749219b2f0fe02d3d323352f6c8785261ae313abe955d9d8c5675a6f08","sig":"eca4734d3aefde151ef2ae879ccd8b566585dc442bc6bb0f5186fdb528dedde6e52279d69fa25d6e507bc7f97b3c4892d58fba8dfa51075ab237d567df719516"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700818934,20000,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700838633,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"bitcoin and lightning","id":"48376704cfbdadde78d0c2698341a5fc1df02b8b58137613d8fbf07d4a651f37","sig":"a739d8a374b8077aa75f851b5f85a85360ef5bc0312fb478befe315eb3e3acdb68f912988713b535f9c9b969b8eea8ce3b103602092619ddbd94681c64c244f9"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700838633,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700583614,"kind":10002,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["d",""],["t","nostr"],["r","https://example.com/1"]],"content":"control \u0001 and \u001f characters","id":"8f253239fdc40fbbf8573f710d4ce50eb270a39ae708d8d7379470556e40440e","sig":"e80bf474060b3bb09ffc4ef08fb2e4a87366e5bbd4b4999cedea100439a2104b872226affcacc0cc37f51561c396668012d54129865dae2394406a7126401799"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700583614,10002,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/1\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,true,true,false,true,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700337537,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-2"]],"content":"control \u0001 and \u001f characters","id":"538dc419f475327bd7a7c8c6e5b7e23b98b08d41f1d3b9414bdf7cbf2d65d022","sig":"414cae543b10c5d73f82573e742c2c77ec901d6847e45bdb9a186459a7d2aaabfe318e07d152aeaf456181d0d07f69a09404294131065286c180754c5590bdf9"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700337537,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-2\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700300028,"kind":7,"tags":[],"content":"back\\slash","id":"d070cc440e3d67377afdcb93fbc4b4303e5ac9baacc0ec624ca94801c730aef9","sig":"6c4ed2a6d6e325292068458e36c7f225b7604404cfb0f18956764d66425bea9a072eafa149cfc920243f04aa6e9abe51423bff5f529a57568f544b4af3fc4a75"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700300028,7,[],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700327228,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700108312"]],"content":"Bitcoin is not Ethereum","id":"d731912ac9a7bf86c3f89d69840068cadbde1c331a4de6c7d8164f64ea5e0c0f","sig":"6fd21086b8aa546413ffc1c1e18bcc906b36e054f8d583168343c6e714f0599dcfe9b7f8787adf5105bc1f0d656841c54df5565c6129747d57e6fa6d964350a9"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700327228,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700108312\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,true,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700623397,"kind":0,"tags":[["t","bitcoin"]],"content":"emoji šŸ˜€šŸš€","id":"c8ef4ffdb86801798392145f94ba621a8f7e4b69d88d79a156de0ed7d8dc3740","sig":"8695e82f9bac7ff0666c5ac53c934973e7d49aec6be22b3d4b4fc0542a5ee56cebaf289281f192abe18077648e71cf26ed7b2bba72c26c0ab0e2e846383a7f91"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700623397,0,[[\"t\",\"bitcoin\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700639541,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"back\\slash","id":"05c6a0bd7d1310c2d21cc6342648621d36f68492db4625a333c9e1fc3fc910f3","sig":"33b05b7627d1be6265b7f5998b243ab50e9534daee4960e50caa3565092b6ca077f2d6543c7e7f785269a2a5eb3dbf9fb677446226e415c3913dd33eb76e98f7"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700639541,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":5,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700625652,"kind":7,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"]],"content":"control \u0001 and \u001f characters","id":"76771ff885dc5758c07fe44c43ad5d23f8dd3def44d87bd2109d601f5da8eb72","sig":"d7cc3f25e248614f12efb75392004bc572177e1b70e318ee569e3dc639c7aca73488ed3def890c772db9ad9fe51f3ea59bf20ae5251bcd74e968832ae7dd9ffa"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700625652,7,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700150976,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["-"]],"content":"back\\slash","id":"56403ec4bbcec72a387993dd424bd2b27e4a8ec59322d31c23139bf089fc310f","sig":"8717441e9841f93491e143c814276a77af21a4f15c67c8f4019d6474c365b3c45b3dcd0103d24adbb43a58dc10ad5d218e0b684484426fc32c9499826eb77704"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700150976,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"-\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,true,true,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700011638,"kind":14,"tags":[],"content":"del  and line separator 
 inside","id":"8656a76b43673e3a3e7517af1abd8ea00f74fd8a4d14881d6b994fd70d04f175","sig":"89378796e60cf40251bbeaed626ad0d47c90df68a4c86bb6a4aeea18f8475c5d2056a3aea176f20f85a3b8d18b3fa3056ea7f1bf8aa89fc8d5d221e7a0e87f00"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700011638,14,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700440198,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700103063"],["r","https://example.com/3"]],"content":"del  and line separator 
 inside","id":"59c5bdc83cd3bde4a627418e6dfce9b29d66a541e1a13b97f1e93e02f48d053d","sig":"632434eb881dde6857cc45404e8393eae7e636146cdc33a9412afcf1d54fee91e9d3bb5349a044512c6128b9eed373bd0fab271523749644050cbfb77a7f3be7"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700440198,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700103063\"],[\"r\",\"https://example.com/3\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700201081,"kind":62,"tags":[["t","nostr"]],"content":"plain text note","id":"31b7e42ffe1bc4da3685e8288f564c2d3182b8f716ee572d6b6c025e7bdfeffb","sig":"50c130aa1884cd7a991e5792643b86273c22ca24a842e5ac10d7b7891857553d55e13cf902d0903b98baf10227de1f5c2f94ebf23c01ea9e2dff14806c58a33c"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700201081,62,[[\"t\",\"nostr\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,true,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700101569,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"control \u0001 and \u001f characters","id":"245f59b5858b38019a968de801c1d76b5e0afce5129fe9151c97b40404a4339c","sig":"6b56cbd0a765493998ba9e340ff6b8d40eccc493c4a576c4269e134f7abdc8d7fa624d785cd69994c20ff22b80d12e56d374bd43a8f39922e9612f148ad3c095"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700101569,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700894385,"kind":1,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["d","dtag-1"]],"content":"nostr relay engineering","id":"0cb044c36270c0dc0ade8550a890adcb54fe227f3ba4437332420a01e011c76f","sig":"df7cac12ed00839eb6ec541289ebf68a7eef7c6d5b2254d69c1da002a814a2b1c81482d0af26d02bb0267e70fe1849630758992381005549a1be873baa58e814"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700894385,1,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"dtag-1\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,true,true,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700968605,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"","id":"c6244c9a58226c44562fe6d14a04ae50a3b83f190f2980063bf3aadc2a1411df","sig":"3481daa28e5d155c670d5165895c2123e0ea070c8f0e6688e084784cf5def6644fd239a76bb3e9a5cf5f7588f7d792409add9e0ae64e530ccc5eb6b1c4e53ef2"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700968605,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700421141,"kind":31989,"tags":[["d",""]],"content":"he said \"hello\"","id":"54f17a00d7ca73a92baebef575179b4101d4a1ad7da513922eddc1354cf0c34a","sig":"cc4b83151d4068c7d571f06b31a8d305d1a67b85627ce8a2eefe3d38495e22d031f46dc2a04e9bc688ae76f3a33a275d83ab082db1933e66df102f018b71b6de"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700421141,31989,[[\"d\",\"\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700294830,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700241572"],["t","nostr"]],"content":"nostr relay engineering","id":"f280d173110061ef121669d6fb1f29bca65bbe10e72231f965058c21d949a810","sig":"5d459aa12926b8705c0812d5cc6da7309d59a512cd5101665d4ebf3c51c4c2863cf5d0c4de2abf9534ba8b5d81cda957aedff37a501a099e6de1bd5ed37e713a"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700294830,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700241572\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,true,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700842133,"kind":15,"tags":[],"content":"","id":"71693876087216547a1a90c973bbd79369e7492d8cff2d5729d7689875e730a9","sig":"2cd2af241e341f894fdd290cebd9ca469ef07764e0089f09e8e86d6b125c44bc64cd1313f9d97a750d3a5f0aba94c85adc4849e1fa262bd7bbb0eaaaacee4dad"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700842133,15,[],\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700899187,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","bitcoin"]],"content":"plain text note","id":"92febf179b4ef559e39d87a7486221f7a39a951a0917ca867c5fbb81130e3fd4","sig":"fa8bf9ac2d359dd3f96a8c6dc175c900f292301851d20be184f3a2d78089885c276281ec690f0dc724ddeaf725823fd6f89e60128fe2128806d08c657c035126"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700899187,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"bitcoin\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700092800,"kind":444,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["r","https://example.com/5"]],"content":"nostr relay engineering","id":"1737a2ae939ebdf9d9236d65f89c45c8607123f58e80641cf2794b11bda87e8c","sig":"fd8f0ecd6ed133e0da289b41cf553f64fe279ea9a108072a9e5a03f7423dc62153854983fe9a04d6a51698632d6e41c71a74a00569f485c867c468f42161b85e"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700092800,444,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"r\",\"https://example.com/5\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,true,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700094272,"kind":3,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"","id":"458f8f8d820730307a643c6d275ede2a59cfe34ba52294c5655d9f54b780fc3a","sig":"a6812cf5e37883d46ab45e6c3dbfd1062da9655d822e9add57458f3ed597af2d28da9a3de1b5c3da6656f3902cb053d47c5b4080404a7013d7df7ce5d008e933"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700094272,3,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700607569,"kind":30023,"tags":[["t","nostr"]],"content":"control \u0001 and \u001f characters","id":"dcd6b20eedb93f51de92b7d1ebe5d0433b93bae13778a4735bfb5a482e996206","sig":"f6a4db4e31df8ea54ab22f5e1f1fc640cf640dd38c18e2cdc07998122c9d2b457c2f6211d6214fa91b410e4a1f3d3d723c73210131bf8152e65fade9b240c57b"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700607569,30023,[[\"t\",\"nostr\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700768745,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["d",""],["expiration","1700225116"]],"content":"control \u0001 and \u001f characters","id":"82003279649a18e08a82e8711c70afb683a5e50ec5e0749ddf0377dca760510c","sig":"54d5c994968cefd58395c02da58b6d5599c17e814b7b88449c757f273be24dcbdb14163a6bd4bde2420583174d4f0610abb64763babe9121d51e7044ea63f6f0"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700768745,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"\"],[\"expiration\",\"1700225116\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700192124,"kind":5,"tags":[],"content":"he said \"hello\"","id":"8bbcc5816ba64b73388325b82e036c0aa08368848d482ceb640ec8cd8c15d205","sig":"06ad8d052638ec04a1c5171b4d156427446c61d1e714c8d52552b14ee755cc7b5f7abb09f23106842b335ee18f5fd571235d346fd4ab0ca5ddcc0ddf46194af5"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700192124,5,[],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700284717,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-0"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"nostr relay engineering","id":"e863d8fff07185860e33a0bd1461f4e0c04a5d1f1958f2506d731afeef5eb805","sig":"de2d09ebc2c92c8f92dc3734ba55cd1da87aebd9e92fd496bdc31464ed2f8584cace9fc72820d10cd0c950c92dfae9c19770ec3365c54eaa87ee287db54dcc49"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700284717,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700857773,"kind":445,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["-"]],"content":"","id":"81f7df82f99ed5655ec26eaf4eeaac1f151874f6ad966e861031f11066ada679","sig":"76e72c1791948ce39cd7880b5c389f5ccac61ddda58aa8ad9a4130027d6f545c1d15269a29678cdc4b6817bf2b5ccfd693276bd62cc62c875c8b1823261b28d2"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700857773,445,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"-\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700968780,"kind":30023,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["t","nostr"]],"content":"del  and line separator 
 inside","id":"421231c64a7db63961ba65d963cd1b2ee84a332932cbedb6c9f06d3eb9f536c8","sig":"1f6727c963a4578faf084c9fc35c9914870f9776a002977084f993121b9a74dc5c4bd2ec127dbb46365e73593b693914ec6756c5a92c3f76a18d0013c0d2fe0b"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700968780,30023,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700519699,"kind":5,"tags":[],"content":"bitcoin and lightning","id":"8b36597f7320c428754984908f26ac2701849788e64f9311761384c2c2617e8d","sig":"7821d68d5f3e651195df7107f1dcadbb63f8ffe4a643dd743d595b8e2dde8b168a218e6f60c4f831bb564a9b2ad8d138cc747383c25509f247b5b050042ee0de"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700519699,5,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700157224,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700171149"],["r","https://example.com/7"]],"content":"nostr relay engineering","id":"36869f49d43bc9d8feeb76946107e4783e9186fde9d327e7d0ee13f85ace02e2","sig":"44d2db339cd1b498b100a407683187a70c236e5021e2088bea58d09c5f390010ecd57aa5988ba77969418d3cb1917cadf170bab85f2ae46828fa7038e0132030"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700157224,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700171149\"],[\"r\",\"https://example.com/7\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700468322,"kind":7,"tags":[["d",""]],"content":"he said \"hello\"","id":"d5f9600b88c9df41110ec3c36e509365ce674d8eacbebda99fff45bd73f62fcc","sig":"a7e06243ccfb3263a4fae3a4cd5d9b0699785016fe675d54a7940a54297927f8135af03cfa96384729995a027107fdfbc2d5212412e2b1e397ca926233c27f34"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700468322,7,[[\"d\",\"\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700197606,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"back\\slash","id":"fc1b5d133276b0fdd05ae1e64b4b9a6fe20b0f5222cbc4abb4f3268b0cbea564","sig":"2b8ebb1e89239dab695164e7a6dfda267de05e3757ecf031bc541861a411ba4a975bd9a156e59d172568d8a0d4d215946f3d65d9d803f7657a7f6c08018282e3"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700197606,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700455602,"kind":444,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["t","nostr"]],"content":"","id":"f56d4f2a9ba9e0c7f1aff4e36b5028fa19fa5fcd813e782b0096153c1c0db44b","sig":"960affd65adacef252ced7d613b38d70d18b9ad08bfc10e6d0a3aff57a61c257344c835d7b6c1e239eedccba15b156e95aa3f09354aaadfc89de4789b648f82a"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700455602,444,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"t\",\"nostr\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700812499,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"","id":"99263d2e60dc78fb3b7b6536164b6a068168923fbb6e17ea7a2f00541121ae9e","sig":"498c68a50d45431dea884b282cd6e956e4f2989974031f731286186f87587a123bdf2d1b5c81d85548d784f7dbd177d5ce283be2f86d4334d9c76d0fb2d0c05d"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700812499,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700772000,"kind":5,"tags":[],"content":"plain text note","id":"b1bc0b99bc2da3164c000d20bd5a54a949e5d039106c060af5208e62008d4251","sig":"c00b22e17b1cbdfdced5451e2b895093662f5043c8cc68a70210531c76cc1c1e40e237a9b5f61646a4c349439934b9f6f9a61cec472b40a7526db5cca6d57b8a"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700772000,5,[],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700897398,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700155540"]],"content":"plain text note","id":"615cd5ba9fd4d17c64ece0757262002b484fa9786c6cb0802dab15820822318b","sig":"aac2f3c371427feecab4c78c022734b59028ef84c2f46c068cfaee761c0d3b8aef11d8f799faed26a3dc683aabb7ecd8eb4dda1de767eda3512c05e72ea4a5b9"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700897398,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700155540\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700693666,"kind":5,"tags":[["d","dtag-3"]],"content":"del  and line separator 
 inside","id":"8dd55524484a66dbf9dc7b2f164cd6e003945207527ef22b5a669b7c19aecb34","sig":"860770f0d3ab899b1d304a02069e529aa05b382ac180469d7d14540d8163ac0b81dc0d79619f5f04dbb73daede58ed1aa3110823025d99085845334d99759b11"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700693666,5,[[\"d\",\"dtag-3\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700636109,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"]],"content":"del  and line separator 
 inside","id":"b710c55ebc84667db4aa9177bf7963ff99045f703563d7c97e1f9d68fce42a40","sig":"a8071a99204cdf933004625b56f35df59e749910cc9e1356d274f203610220e9217a410156dbeac721ffa887615c690c8767ba42d160d33ad9a14bc9e52997ca"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700636109,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,true,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700509292,"kind":13,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["r","https://example.com/8"]],"content":"plain text note","id":"08145cd11190a87f76fb70d26dcd10e3c539bd50b56623405ce97bc5a161211a","sig":"011af79fc916b6cfc1aac52b7703a54dae1248a52bc72cd56a680f1020bbadcf24db678938b986c1c9eb303320e5876c1f95c351c6a9ecca0a902784d6cb1f17"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700509292,13,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"r\",\"https://example.com/8\"]],\"plain text note\"]","id_ok":true,"sig_ok":true,"pow":4,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700869699,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"Bitcoin is not Ethereum","id":"f73d4deaf670fd4e90b26976e34176a9ec423877a4b68a86609b47d235d2004d","sig":"499d5c3b58ba2e4f3c5b664748122cbeb5b6a5ea4a31e907887d94eed327d971e70ee013fd2187a55fff42234e1375dc6b3791d5449b87d870a08a3285222c8f"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700869699,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700007586,"kind":0,"tags":[],"content":"bitcoin and lightning","id":"b722ba91829cb22af9dc8a0def385b833cb9b14605b472c4219e010ed35e6ffe","sig":"9bdd29b4dd4c08c46a52145e7af7d0eb0a2a9aebee1ccf0bf01d1f256122bf55ae62ec4afe06d6f4a89c54f8fdb4b45c7e251ea282f8fd53ee3409912f4bac53"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700007586,0,[],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700690851,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700104959"]],"content":"Bitcoin is not Ethereum","id":"f65824cc7bc77c8c6f54c070494cb04fc14970ab8db2413324f59ae80a8068b0","sig":"ace5fd14f24f4eaf394572125bd6599019a314d41a6c1f1016121d4d8055a162792bcbfbdff5bf5339b20ee0386cc5e23f88f6ec7f636d9733699fa75402030f"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700690851,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700104959\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,true,false,false,true,true,true,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700707276,"kind":1059,"tags":[["t","nostr"]],"content":"nostr relay engineering","id":"bf4cbabb784dae83faf5eb988c7b28e42d2dab2c9f0b0e7e6235bdbcecd81679","sig":"ef23f185517f54238d183f5814218151b2e49da2ea18d4be44abe34477dcfbd187311b2ff36d42b7f32d2355926a4233a335701152ef3da80078f803b1828f3c"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700707276,1059,[[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700390079,"kind":13,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["-"]],"content":"back\\slash","id":"6466d8334c3944aadd4768818ddb5b8d520c0e74e89da5ca2e2687fcfc530d23","sig":"09ab1987f151e54d63b9c5deb10b49df01fa81cd2d1ab450cd2db1066d4da01d44bec6d4e352b7cd033d9ba7f838c4038e04d2169ccb945ce3410c6be61444fe"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700390079,13,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"-\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700152715,"kind":14,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"],["d",""]],"content":"control \u0001 and \u001f characters","id":"ecc32d8df955698d545e1cd9981a0e073b8e5b6f8d049963534d2427f602ae07","sig":"1416183bb1876bb6f33f59d05ead3bb52ee4dbbc06e4e8a269f20f36dd059a1e2bfee578e2f5b300bbeb78934e99ac23054320f686ce4e71c3927f0dec5b73cc"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700152715,14,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"],[\"d\",\"\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700667558,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","test"]],"content":"Bitcoin is not Ethereum","id":"f0bd36d4828c43c7c360d3ab6d2399ab8074a70feaea9b389a76113fcf7bee5d","sig":"d8dfe8a02b3363edbd77d14f491020c3013dd2682df0bfd207693a1ea6c9fe861d75bc9ece1898fd69f46594930c257184c8065398f261aea78c145d9b25353e"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700667558,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"test\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700019683,"kind":62,"tags":[],"content":"del  and line separator 
 inside","id":"07b20bfc473e6f5b1134f4fcf8f7a8413968c8d5b913653302c3b17bb2683b77","sig":"a1a69e68dd3ad134f88c2183d6c263e19f68b09e67d47cc319433d60d2289bec31d1797368185d7126e444086e9834ba423bef148dc983258520baf3019b560e"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700019683,62,[],\"del  and line separator 
 inside\"]","id_ok":true,"sig_ok":true,"pow":5,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700132751,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["d","dtag-2"],["expiration","1700148350"],["t","nostr"],["r","https://example.com/3"]],"content":"bitcoin and lightning","id":"fe89c7ce4720f8f2e9ab5ec3404b69634848685ff00932a94ba82d8119c63ca6","sig":"1eb03a2e82596bc8e5f71b23caab66bdb7dee6a19b31938a8289a6ea876829a06b60fe1b741979ec24a8663ab449453e2facc840aa23d3c7ec1418a59da7ff68"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700132751,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"dtag-2\"],[\"expiration\",\"1700148350\"],[\"t\",\"nostr\"],[\"r\",\"https://example.com/3\"]],\"bitcoin and lightning\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,true,true,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700155265,"kind":7,"tags":[],"content":"back\\slash","id":"a897d6c5e541ce78378ea7656f3ee1401ab0bbe0f59249a539b67465766c923b","sig":"09bc3c79a363832ba57f166600d1c9d6654163071f6e2a94ac7ff2610dcbc4ee4da9d1de117d86d144d4b49eb23bb1001047fce43a010d633e2c49400bd6e4e9"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700155265,7,[],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700770626,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"Bitcoin is not Ethereum","id":"e5add38302a99aa499506736603f9c7895fdc7f9866f3e2c46f16c92e56f2d0a","sig":"a3f74e2fc90328efa684f9a5958b47b01e1637e36240ca9168c8dd44d4b799053adb420378bf8dbdd9d219dcc09c593fc797afd3534f48c6f3d3dab97ae0bea0"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700770626,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700625315,"kind":444,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"]],"content":"nostr relay engineering","id":"1b5ec7448730f492649c96944d01a497fa5380075868498cea4d6f4d0a41a350","sig":"bd30ca12c34715d0c85a83479d5076f8f131fa26ce812a6e0cc4e4bf4daf7136454a6546be15fc8e07e21c65a94714d44eede8997001978fb1510d85ef28e696"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700625315,444,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"]],\"nostr relay engineering\"]","id_ok":true,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700295143,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""]],"content":"he said \"hello\"","id":"80d25d12051941aa5a266ec41684d95cc8757495769b7e3cee40b47bee57b684","sig":"7ed83a7bc1afd186e5a2bc6873d6ebf73516be6624d0ae1f7ad3bd3cd7c1461bb0609812c8f27017c5cd5afab019c8ae86e88927b780f23e11689e77082044d1"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700295143,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"]],\"he said \\\"hello\\\"\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,true,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700727536,"kind":7,"tags":[["t","nostr"]],"content":"back\\slash","id":"a67dffcb19a22618c6ea38aa01c30b679c84704f7e929ba00d966d7cded6c146","sig":"25089669390ba272ca1cc8ce6cda353eda4ffc89cc01e60701df110928838dd81a0c12d01ce5c5d471f06ce7c7559eb46220e34084e51cbf174e1ca959acab82"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700727536,7,[[\"t\",\"nostr\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700327674,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700202939"]],"content":"back\\slash","id":"20fe830bef2d981798b83fcb1ed6ae7c2a2f69ebaebd7c8df3dc2cb13b40e907","sig":"79ab9e0c7c206a77df135895912fd3623a507b6319ae6b701913dce5bceb26d04c9b8e121d2b48a91e7b973ae64e4bba6af3c0d47db53fd3229e7069d0af7a1c"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700327674,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700202939\"]],\"back\\\\slash\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,true,true,false,false,false,true,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700180695,"kind":14,"tags":[],"content":"","id":"2c4a90ab4bf8b32a56c045addc0ef06afa2de6ee44cd5d1df16f17b219cd76d7","sig":"234add0ab039a696d6b3fc0319160d5bffd4a0e534f6e04f400804b29966f77c5d4e2afddf2331c86952827ffb03b9c9eaceb369986a4eba3712806abca39d4f"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700180695,14,[],\"\"]","id_ok":true,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700677871,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"Bitcoin is not Ethereum","id":"658308749a1a80ff97dd31d58b9a989e8e7868fc277a923281087fbab114fdd7","sig":"8a0f617574a7fca568c4d97c2454ed77e74c1af694868af1345afd3cba73e7188df7b32a957f08e20b7e40f84fc013d8bbbb99be8011411531ef07bbbe80feb7"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700677871,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700893985,"kind":1,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["r","https://example.com/4"]],"content":"Bitcoin is not Ethereum","id":"c2e051700c496a0864685789517846b20610c98ae61888dee8bf18f4ddfcb901","sig":"db2f73ae43f8468fd9540c431ad243790f9bf9c822e8a475c35c079973b0b19c01c2c86440433d8f62253f42ae3174579c1d0b131877d303c8cac35400c8cc41"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700893985,1,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"r\",\"https://example.com/4\"]],\"Bitcoin is not Ethereum\"]","id_ok":true,"sig_ok":true,"pow":0,"matches":[true,true,true,true,true,false,true,false,false,false,false,false,false,true,false,true]}],"negative_events":[{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700959777,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"]],"content":"nostr relay engineering","id":"9cd9e8f2e1e090ee31c619fb3ecd40636c64874fb131655dccd036a047e9bf31","sig":"fabc1dade3cb8c51a5c01381525d6b250a602650f5ba2cdc3e6217ff7152cd3156f2d7b9e25f8464b57605b2fba6a1c42f769a219eab2a116945d2e596151038"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700959777,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":false,"sig_ok":false,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700697103,"kind":3,"tags":[],"content":"nostr relay engineering","id":"3227eefbcafb924c7e8599bf7204a5b476f554249cb662d5a9a18eb5144b5a80","sig":"ad576ea5a735bb4f5ea272c8e13a0f73f1d972142d14cbeb2103c6fd74589c0dd2e227bb2786e4953e7e659e5a31676a302841d988d8d37ef370f472f5e4a746"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700697103,3,[],\"nostr relay engineering\"]","id_ok":false,"sig_ok":false,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","created_at":1700261157,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700210333"],["-"]],"content":"control \u0001 and \u001f characters","id":"307c4649dc3a1a4384cad91bf3dfadd34ecca0dcb2d3f17158a359925f567aa0","sig":"1c236a5ebfe52cdd2160b45280a2de82f78894e05b3feb19328badd4995029f2f46d43b36abbd898c47c4248de4645f77b31ac4dd1a64ada2c9151aa782702bd"},"serialized":"[0,\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",1700261157,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700210333\"],[\"-\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":false,"sig_ok":false,"pow":2,"matches":[true,true,true,true,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700539642,"kind":3,"tags":[],"content":"he said \"hello\"","id":"54a6649efa2f77e3d94f37e621b6214c6de637e5759dff271fe59f680a8e9a30","sig":"048da3d9c8eb011ba5344955fcbe2f82b7cd0668bd439ffa999090b2db7faae5a7c6fff29fc2c0a7c461ede641df770b4f4d4c7a609586efca24609b754861c1"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700539642,3,[],\"he said \\\"hello\\\"\"]","id_ok":false,"sig_ok":false,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700731730,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","bitcoin"]],"content":"","id":"8c72d8174230abb0eb084e9f8ea3cf52438ce95c9aee791b67f38d00e5d52ac0","sig":"76dea64a401c3c140ead7395c0d023cc1c01d0ecf4f73a3dc7877e350c3dc0e76588225f509e3b1dabe7032d02087a091363521efef1f5ffd9908c0ad94cea9c"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700731730,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"bitcoin\"]],\"\"]","id_ok":false,"sig_ok":false,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700397216,"kind":445,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"],["d",""],["t","nostr"]],"content":"he said \"hello\"","id":"3c69dfcb22b2406989c3068e37399317a8e36fddd91b9bc99e868ae4fb9f8670","sig":"d20469c8d1e58f75f9bcc49dfa58409fbda033ea9112772e9e1a7dcef807083f2b68b6e5624d4cebbab42a0e2c9a080203cdc8f68c85048c3aa6267b48491ba1"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700397216,445,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"],[\"d\",\"\"],[\"t\",\"nostr\"]],\"he said \\\"hello\\\"\"]","id_ok":false,"sig_ok":false,"pow":2,"matches":[true,true,false,false,false,false,false,true,false,true,true,false,true,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700292190,"kind":31989,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"nostr relay engineering","id":"20e4f14bbccae2481ffa2e756f55a63fb5a4f34903347a70efe987ed2470d440","sig":"ae5f13ebbd860a88097c447847016851a98ac1d1777f836b42f3f5f82873e7fc508f26b1e010e186f4cbd98135cf7ef1e23cd1968810addee2811311a1aee225"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700292190,31989,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"nostr relay engineering\"]","id_ok":false,"sig_ok":false,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700263284,"kind":1059,"tags":[],"content":"he said \"hello\"","id":"a6360bf181bb65f004d4aec9c26f36f8641353bb135c001b6f481dde33a59570","sig":"ed123c6f90eae448b92c3c115171118927b9c7cfef48ca0f4ada5a55688099aca94c15336e6ad6151644cbb1f7fea9ab85b7c99725b65476788ee18a0589af72"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700263284,1059,[],\"he said \\\"hello\\\"\"]","id_ok":false,"sig_ok":false,"pow":0,"matches":[true,true,false,true,true,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700617308,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700140493"],["r","https://example.com/3"]],"content":"plain text note","id":"d47338d792c6b31ab9b9b6bdd3fe79de92a57419216526af30cca162bd4a7a90","sig":"b30b7a09923b993d02ca2022560af22ce613559222967a3e56b6fcbd78ccb199fa0e0bf620074316f228e37939e5b68fa8920be4cc148bd342e1f149eed8ee49"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700617308,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700140493\"],[\"r\",\"https://example.com/3\"]],\"plain text note\"]","id_ok":false,"sig_ok":false,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700088037,"kind":5,"tags":[],"content":"nostr relay engineering","id":"da96772cb1adbdda39bd18f5aafe1f959cc2ea7ef741f8ca7c45700e0ca67620","sig":"a1450ba38ecd8b304abb99a9b28f3a86b9892b9003c18af739ce41aa054af65da20de803a028aaa6945a9026e2cc35776d90007319848651c307fb3259b2fe11"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700088037,5,[],\"nostr relay engineering\"]","id_ok":false,"sig_ok":false,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700137944,"kind":444,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-2"],["t","nostr"]],"content":"control \u0001 and \u001f characters","id":"6bd0b0d0b19b005b86754068db2a9871738be7f2d6a22a85c4a412b25f5d9c21","sig":"4a318b903b30b7dce20ced2f4a0a3a0ad46dffbb4e419048824c397b901b65aefd1ffb7d42f8f46ac423b77ec5dcea0d932f8f2da1c40062aad0209aae8a1720"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700137944,444,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-2\"],[\"t\",\"nostr\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":false,"sig_ok":false,"pow":1,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700252697,"kind":1059,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"]],"content":"del  and line separator 
 inside","id":"bff179b36136150cd7f51bd825c7473e915cc9fc7cb64e5a405af9f5187302e0","sig":"deb3dad578780664370a2bf4c7bb3ebbdd94068e0bb638e0b553551f51e54d5d43803767282d65f0cd379905e0d8d265165b97df3aee57f2e5233f54bc2f4a26"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700252697,1059,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"]],\"del  and line separator 
 inside\"]","id_ok":false,"sig_ok":false,"pow":0,"matches":[true,true,false,true,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700594461,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"emoji šŸ˜€šŸš€","id":"6da9791172ad04bf65066e1805307d5766371c42f2952ba607d89f51f688df60","sig":"9a2d7cfe62f03029f0e845f86944533a4cc386c5f24bc8e4c99a373a93b2067ab2a3ff9a0dbaf618ae87e4b03e4cc6b3b4bbe7fd81fa705d1ac2cf62a302de35"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700594461,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":false,"sig_ok":false,"pow":1,"matches":[true,true,false,true,false,false,true,false,true,false,true,true,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700740715,"kind":0,"tags":[],"content":"he said \"hello\"","id":"681b87076a1bcf7a121742c266d08bb822bd9cd73978f883c46dfcc133024c70","sig":"439938d379fdb53139e30e83051d1ab33e5f5e4a3a20449c2d3b1154ceba462ac21e0d2d4f35a074ff4e7bb566597a1c7bdfe86361504be9106453ea9ad9caa2"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700740715,0,[],\"he said \\\"hello\\\"\"]","id_ok":false,"sig_ok":false,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700672694,"kind":1,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["expiration","1700134728"]],"content":"","id":"8cb264931344ddbc29ecbbf925ce85ed4cccecad7e7c39938580488e8fba77a0","sig":"8896f07a5d357f80057760f27932dd25df1fcc9a00feb3e1d88ee30b3f38bb7e5c90aeae82b8d6e888fdfd8da89acf41b9e6f04f34281bbe7d8a52f53c417857"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700672694,1,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700134728\"]],\"\"]","id_ok":false,"sig_ok":false,"pow":0,"matches":[true,true,true,true,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700302357,"kind":3,"tags":[["t","nostr"]],"content":"del  and line separator 
 inside","id":"13127dafa111c88d10d1e13f3172d3feb99635d1330b438d2cb887755c455b20","sig":"bc1225caa110fe444d3d91b2da24325b3a007a7da42535f789e1ca52f72ca4b83f960a8aef939b1bd790ddb2b1b94eb2f2ff70a9ffad23d67df0c64dd54f3717"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700302357,3,[[\"t\",\"nostr\"]],\"del  and line separator 
 inside\"]","id_ok":false,"sig_ok":false,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700251703,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"plain text note","id":"3d5361989f6571cfa76c7625db6141db56d8d525745ef7532ea35b954fc53b60","sig":"503d349f4547d33d3401a108004cc017a65d0058851ccf3ceec0bad7202d3253a14e854f0bd0997a2867e9ca032081da8731270e6592b309990fc93c56f67fe8"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700251703,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"plain text note\"]","id_ok":false,"sig_ok":false,"pow":2,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700666629,"kind":1,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"],["t","bitcoin"],["r","https://example.com/5"]],"content":"control \u0001 and \u001f characters","id":"b69bf01338cd4d3cd5d165900f1eb1bfdf25fdf5993036e939fa9a8171761b50","sig":"c939c2c3109b2ad273740cc0138d5656c259a4914c3089d9e243e3a4de5a6ea28c8e3e56375baa03258e990732cdc68afdf795c0b4a3a062033fbc5e25022abc"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700666629,1,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"],[\"t\",\"bitcoin\"],[\"r\",\"https://example.com/5\"]],\"control \\u0001 and \\u001f characters\"]","id_ok":false,"sig_ok":false,"pow":0,"matches":[true,true,true,true,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700419779,"kind":1059,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"del  and line separator 
 inside","id":"c40a00e41a8c8f8f1158cee07470cb0e73181514a95dc8c8a8de1e8666e77c90","sig":"bd7c114a6e16c41726bc7f059cad620091d8b3cc602aea0906cbbc80278e12650da42251e03918bac2828bbba46abfd24d3ab5a9a7ef60ada910a18e5873ae5a"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700419779,1059,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"del  and line separator 
 inside\"]","id_ok":false,"sig_ok":false,"pow":0,"matches":[true,true,false,true,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700752707,"kind":62,"tags":[["d",""],["-"]],"content":"nostr relay engineering","id":"7fb52a01d03c07f10b3ff218d0c25761b1c289c8b5589b5e5ed0a997dcfedba0","sig":"dfe55e194a7cb7e16cc42462f8a7b9f24b1b6c7ed1f7c27189548ed7e1c59026479fdf2ad1923c2cb65125515274f177ec5620168fc05c96c44ad3f03b359da8"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700752707,62,[[\"d\",\"\"],[\"-\"]],\"nostr relay engineering\"]","id_ok":false,"sig_ok":false,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700275097,"kind":445,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700299686"],["t","nostr"]],"content":"nostr relay engineering","id":"6d73a96d60371d11b99d7a5e4578d33850148a774ad0da129705f16d00bee350","sig":"627ffcf09863459dc06cc762e6338de32753db71acb89155835eaa2d9bf0a92125ff985058a6746556ad83a1383a4a7676e2ae1e5b78f4aeee3c2d285f6eaf01"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700275097,445,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700299686\"],[\"t\",\"nostr\"]],\"nostr relay engineering\"]","id_ok":false,"sig_ok":false,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,true,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700690827,"kind":443,"tags":[["d","dtag-1"]],"content":"bitcoin and lightning","id":"21d7777fd51fd4a33770fbe4fd420232e4941418df5da43a0267b0a345255a60","sig":"357f5fc50310ce4ee25677c484da43d48d8b43411b02ef8a2125627a861bf6be4d90be55a435e033502c2416578b661f6fb0f58e083ad7e51097b2b0dda4d93a"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700690827,443,[[\"d\",\"dtag-1\"]],\"bitcoin and lightning\"]","id_ok":false,"sig_ok":false,"pow":2,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700106191,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"bitcoin and lightning","id":"54c50aade997e0b9cf25711667c42c5746b5a592f4e063cd6c778b7be5121380","sig":"4ca28bf7cd0fa78102a4f16439b4e6420f16e34ed9f4c35dc3103ccd6ac75a3c307d46f351d6c59ac33e9f31a379e5f20fa507afb8550cba7096c9caef62934b"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700106191,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"bitcoin and lightning\"]","id_ok":false,"sig_ok":false,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700174567,"kind":30023,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"]],"content":"emoji šŸ˜€šŸš€","id":"1d22369aca083429cb964ac6388ff01471a1f7e54470a09da4da415dc474cc21","sig":"852d202cb4831fbe8034a5cee994408d6ae09bcad43edba1d78e33ba0742c8f303443765ce29e2cf3ab3a1f068ddf6df3061a4ae82cad46774292312a99ff107"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700174567,30023,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"]],\"emoji šŸ˜€šŸš€\"]","id_ok":false,"sig_ok":false,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700623100,"kind":20000,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"Bitcoin is not Ethereum","id":"94f5a841e19152c63a2de4dc48a1b9135d7b50f8a4fcff5e3d392668ccd69650","sig":"4a13b67f36bc4f947e49d51736b672acce5303eb1638147d83f63f461a8c2f0c648a55752470a3a90b51f8710ed450f160a4303f7989046791f199d9cdbca745"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700623100,20000,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"Bitcoin is not Ethereum\"]","id_ok":false,"sig_ok":false,"pow":0,"matches":[true,true,false,false,true,false,true,false,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700619569,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","nostr"]],"content":" (mutated)","id":"f8f27c13949a249fad74761fffafdb85a7c6e47a2095630c48533396143bbd15","sig":"e2c9e899b41de2613813fd6d151375acdbdb9a31786639cbaf1159adf330da3b20c34087856aec8992cc70598d3ff44a17c88aba709c89fdf6579e982e95e536"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700619569,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"nostr\"]],\" (mutated)\"]","id_ok":false,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,false,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700238940,"kind":3,"tags":[["p","c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],["g","u4pruydm2s4"]],"content":"he said \"hello\" (mutated)","id":"1b28f4762a4ad2c3cb8b894e51df0557b06f3f9fb09040af6f207fe36d9d377c","sig":"575224eb8590d8791e56f3305d8be628fd13495852a1df024684b14538c34930cc197e0fe1ae7065c0a0fcc4ed460899f38e865d8626d729b7c2558b4fba710d"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700238940,3,[[\"p\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"],[\"g\",\"u4pruydm2s4\"]],\"he said \\\"hello\\\" (mutated)\"]","id_ok":false,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,false,true,false,true,false,false,true,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700131288,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"back\\slash (mutated)","id":"a56a1afc2a9da549436a5cbf820c5292754cee1575465d59e9025ce2baa2ebe8","sig":"32fb5964405974fb23a26a40d8ac8f708d4be07312d3393f0572fb1ac90b78dc95d031eddcc81c8dc6b10fe19898a541d7e1a2239bf743c3c2ae91a6a61d2347"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700131288,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"back\\\\slash (mutated)\"]","id_ok":false,"sig_ok":true,"pow":0,"matches":[true,true,false,false,true,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700178545,"kind":20000,"tags":[["d",""]],"content":"del  and line separator 
 inside (mutated)","id":"0752070f5356670f681a87626d5625b3c61ded2b59a4c12d67dd9f87944b851e","sig":"0498e5f18870cca484ab61a77b6d207d228c93aedde9c63bc8cf301c0e988f8f33e14a66719f2b03589dacb59557a0eafa6675ca5ba2d1b6f0523e75935f9761"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700178545,20000,[[\"d\",\"\"]],\"del  and line separator 
 inside (mutated)\"]","id_ok":false,"sig_ok":true,"pow":5,"matches":[true,true,false,false,false,false,false,true,false,false,true,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700746760,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4"],["g","u4pruydqqvj"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["expiration","1700159723"],["-"]],"content":"control \u0001 and \u001f characters (mutated)","id":"5a2902a8a62830d2e03c5e5a436f65897eb3dafb924e3c1a6fce7229801d997d","sig":"8c6c9457c1be985262c50e96e09a1df0ff2123084d99673d15224bcbf28cfbdf4b440bb8d383e64ffd78fec2c841b9352a41ba9da0eefc27df29079636e45f03"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700746760,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"expiration\",\"1700159723\"],[\"-\"]],\"control \\u0001 and \\u001f characters (mutated)\"]","id_ok":false,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,true,false,false,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700409833,"kind":5,"tags":[["t","nostr"]],"content":"back\\slash (mutated)","id":"e8c8da0d2e0182981f629fcd39f98bcb90882f1d36ed2dc0ae19457d00cfabc9","sig":"f7cf77e2de2130466c230223081ffea8df738cac830a0449ca8aead5daeb329ed6f1503fa10443cc7e6a9d32d27198bc6f60960dc50d67fe670708a6a3884b4d"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700409833,5,[[\"t\",\"nostr\"]],\"back\\\\slash (mutated)\"]","id_ok":false,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700860136,"kind":7,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"he said \"hello\" (mutated)","id":"ce510bb26239921c7b16230dbb445aeba853eeb83982363ac08d46e113bf4e69","sig":"d56b174e5086471b293b0f446beba6227dbfdf1dcc60aa13f470bc2f64a120a91f1bee854de9e46bbfe2c32c29a409e7ba25cb3eb2badde8c6d7908e951e9569"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700860136,7,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"he said \\\"hello\\\" (mutated)\"]","id_ok":false,"sig_ok":true,"pow":0,"matches":[true,true,false,true,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700663273,"kind":7,"tags":[["p","2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01"],["g","9q8yyk8ytpx"],["r","https://example.com/8"]],"content":"del  and line separator 
 inside (mutated)","id":"38beed7616ff283b9c066c4ccfed507b39c5abfdbaa570ff823992cd35ccd341","sig":"05f0ee9d3c0baeee1e6b9a87f8123473d47914c78f8e7b34f991c2c06b8eed7dc9c8239b3ca3cc486f22574b6687876ff2674aa854f17f4eef2180617634186e"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700663273,7,[[\"p\",\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\"],[\"g\",\"9q8yyk8ytpx\"],[\"r\",\"https://example.com/8\"]],\"del  and line separator 
 inside (mutated)\"]","id_ok":false,"sig_ok":true,"pow":2,"matches":[true,true,false,true,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","created_at":1700357085,"kind":14,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["t","bitcoin"]],"content":"control \u0001 and \u001f characters (mutated)","id":"2f5b695d1cc6dfd0cf7cef8380e2a07c1920ae59319f6d48b930e8b19d860510","sig":"47038f2e67a336af2c16f84790d98b61b6ac1fd7cf566e55ad8bef6bad5ec02af8d58120c04847963d632a16a2af025526da973707a921fa4ede297e28c3ed92"},"serialized":"[0,\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",1700357085,14,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"t\",\"bitcoin\"]],\"control \\u0001 and \\u001f characters (mutated)\"]","id_ok":false,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,false,true,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700843165,"kind":1111,"tags":[["d","dtag-1"]],"content":"emoji šŸ˜€šŸš€ (mutated)","id":"06451cfa30c4645d875297cc2d627177ef91d8672b99f5b025d2c5effb1408fd","sig":"333054acd544335ec781391bb03d7a4948f5eb8c557958a6cf463d730cbfad57b5e730c36aa1e30967d74b6f9814c96016dbc05ca740aaa3085025e23c7e8308"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700843165,1111,[[\"d\",\"dtag-1\"]],\"emoji šŸ˜€šŸš€ (mutated)\"]","id_ok":false,"sig_ok":true,"pow":5,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700137749,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"],["g","u4pruz0h1b2"],["d",""],["expiration","1700163465"],["t","nostr"]],"content":"he said \"hello\" (mutated)","id":"38538c48b5f06d445ec41ffd9893475eb3624f8842daf7c739a41fde304e1826","sig":"7ffbc9f400500bd12051ff75101ce5418edf8efb69b9fbfa28280be3bf82320dbf20bd84e637156d52097ff36563cd41566aec3a2dd6906a111b7605a1cfa760"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700137749,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\"],[\"g\",\"u4pruz0h1b2\"],[\"d\",\"\"],[\"expiration\",\"1700163465\"],[\"t\",\"nostr\"]],\"he said \\\"hello\\\" (mutated)\"]","id_ok":false,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,false,true,true,false,true,false,false,false,true,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700044029,"kind":15,"tags":[],"content":"Bitcoin is not Ethereum (mutated)","id":"bddba23bda4b4a82c7e452ee5e0a4b57bb6add0b5db7e4b627e17da24f083234","sig":"cc1a0d7d8a457e2165391c560c7f6f179bf1c92ae2a503bdffe26c15171ccf8c2e365a843c21698101e5eed6337d9de85820136b023778699980b7dde44bce16"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700044029,15,[],\"Bitcoin is not Ethereum (mutated)\"]","id_ok":false,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700157596,"kind":10002,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"]],"content":"bitcoin and lightning (mutated)","id":"efcb2ab44b800f6fe2f6dec8895e17b0b3cf276e47899bddd9ba6197fc4b7d86","sig":"5b8dac7a70b2a4d34feac75d56f2e703f71cfa0b2eaeab68a6a78c708bf02d3fba7c587a1fb5c68b0d023ef5fbfa0811f7d52b4c807df13e19f0ca7a00ee6501"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700157596,10002,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"]],\"bitcoin and lightning (mutated)\"]","id_ok":false,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700675642,"kind":3,"tags":[["p","fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556"],["g","u4pruydm2s4"]],"content":"nostr relay engineering (mutated)","id":"e6bbd185a3d3330fad82013c92570537b0655716e1d17129c757509d43d25c02","sig":"f7917fc6239ed7835493e0e61dfca16729cb6a3d0e54fb3282baf504d258b3b785b1c34b442350a3d8559fc5f4d6558921115a91ef2850b497c80aec1246e9a0"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700675642,3,[[\"p\",\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\"],[\"g\",\"u4pruydm2s4\"]],\"nostr relay engineering (mutated)\"]","id_ok":false,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,true,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700303995,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":" (mutated)","id":"5b0dfce31dd13fa944fa59dfcb594f2add57d67eabe89e9b3fa56890e8ae146f","sig":"864f6ceac72655eabdf1f24b180de720c088ed0f1d2c995e49ecbefb105b3ca8b9886c580c7d9c1456c0b22d75c78ab92b91b15f9b0167ffc02f469864c721ba"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700303995,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\" (mutated)\"]","id_ok":false,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700577067,"kind":13,"tags":[["t","nostr"]],"content":"plain text note (mutated)","id":"b9e534c844134e9c763dc352121517916b562a7581203864049c725268462042","sig":"b125e9bf35e2eace8bdd37bf8b5759da4d009a95285a95290625ff570f8cfc97dcd4072c5ee7a94fc839bab3934f4ec8863747fb6492fda7b8efe1358e89eac0"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700577067,13,[[\"t\",\"nostr\"]],\"plain text note (mutated)\"]","id_ok":false,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,true,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700874381,"kind":0,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"],["g","u4pruydqqvj"],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"],["expiration","1700260764"],["r","https://example.com/9"]],"content":"back\\slash (mutated)","id":"fbff05d808161405ddb77753cb00ac4765f52a200084e8d143103994d50e584d","sig":"0ef6456e69c7ed5f878e95aec571c6bae1e07f9393ecfc1c33ab1ff9b3d2a4ac58457005090cbcee1a20588ce07a88a32bce079adaefbff43bf221cd78eb0183"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700874381,0,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\"],[\"g\",\"u4pruydqqvj\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"],[\"expiration\",\"1700260764\"],[\"r\",\"https://example.com/9\"]],\"back\\\\slash (mutated)\"]","id_ok":false,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,true,true,false,false,true]},{"event":{"pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1700881311,"kind":1,"tags":[["d",""]],"content":"bitcoin and lightning (mutated)","id":"43c114d0c1d7acf87de856ad24d01a89fb69342ca75ba5239254c03f1018ee56","sig":"36147f248954f9205458ba98361facd950ef5b1be695310e593e052cb2b2c056fcd4c2cd9e6abb2a8bdf6685b03a3006c394fc042c1bd787824767ca903c5af0"},"serialized":"[0,\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",1700881311,1,[[\"d\",\"\"]],\"bitcoin and lightning (mutated)\"]","id_ok":false,"sig_ok":true,"pow":1,"matches":[true,true,true,true,true,false,true,false,false,false,true,false,false,true,false,true]},{"event":{"pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","created_at":1700011392,"kind":15,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"]],"content":"Bitcoin is not Ethereum (mutated)","id":"5f50251530cf40ca61477d55f800c6e6ec95e9bc9bb219340d28cc2e646a0df3","sig":"fecbe7a8546d555b0f0f1db0f6b06d28c4841df180131f4945b175ee040a30c81f579fbe8a863543461dcf7b7b09dea2272f7bea3db5a6c6a4be738427bc9cce"},"serialized":"[0,\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",1700011392,15,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"]],\"Bitcoin is not Ethereum (mutated)\"]","id_ok":false,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,false,true,true,false,false,false,false,true,false,true]},{"event":{"pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","created_at":1700673760,"kind":15,"tags":[["p","e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13"],["g","9q8yyk8ytpx"]],"content":"bitcoin and lightning (mutated)","id":"166cf2f77023831ca68a9c00c38f0366583345404b21d3e9b9b4ba0f069f09c0","sig":"1c31ab80880c61ec5e91eaccf0cbbb55c4dc596807faae21a3a92f085c4fbbe70e8cb1443c57bb5d05fb3ceb7d766aa7dfdfaf358add4f222af76264f5483cd5"},"serialized":"[0,\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",1700673760,15,[[\"p\",\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\"],[\"g\",\"9q8yyk8ytpx\"]],\"bitcoin and lightning (mutated)\"]","id_ok":false,"sig_ok":true,"pow":3,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700639123,"kind":443,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d","dtag-0"],["a","30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0"],["t","nostr"]],"content":"del  and line separator 
 inside (mutated)","id":"3c5c43ff122a5abe1764d432aa1fc9b64b53dccae89d55b575b8bd794cff278d","sig":"51d38b7e2c44a0021d56eae2abde8cf56984c5867020ca942d20e28bdaf348976a7147b7c38fe3d5299dfdeef23eb2789580bcab0f96c4f0053ea20579fbca84"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700639123,443,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"dtag-0\"],[\"a\",\"30023:2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4:post-0\"],[\"t\",\"nostr\"]],\"del  and line separator 
 inside (mutated)\"]","id_ok":false,"sig_ok":true,"pow":2,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,true,true]},{"event":{"pubkey":"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13","created_at":1700751719,"kind":444,"tags":[["t","bitcoin"],["-"]],"content":"emoji šŸ˜€šŸš€ (mutated)","id":"4184332602e055e51b21ac8a6861f2f8aa28bc263ff4ab0d2162fe2716c69cd8","sig":"4c8b54743f71eb26892393e6a4639135499cccb97398323bec2436715a66f09db9a78ac28e4e8a634f14478d2f8ced33d5b6ff3a6966ee61d311ee6b22bb2c99"},"serialized":"[0,\"e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13\",1700751719,444,[[\"t\",\"bitcoin\"],[\"-\"]],\"emoji šŸ˜€šŸš€ (mutated)\"]","id_ok":false,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,false,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700771225,"kind":1111,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["p","5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc"],["g","u4pruz0h1b2"],["expiration","1700291866"]],"content":"nostr relay engineering (mutated)","id":"d8a3e664e905bd5bde9cd48cd0151d058c96c220d0d31756c4644d7f8409a326","sig":"eb4c7fe91bc6dc15ad50f276ea377178dd227be92da2f74d3310436ee7b6406105379404d84dc2ecd11e3dedb6d0f2a0e432ed309eaa42010e6e63784763dc8d"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700771225,1111,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"p\",\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\"],[\"g\",\"u4pruz0h1b2\"],[\"expiration\",\"1700291866\"]],\"nostr relay engineering (mutated)\"]","id_ok":false,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,true]},{"event":{"pubkey":"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556","created_at":1700504291,"kind":15,"tags":[],"content":"bitcoin and lightning (mutated)","id":"d126ec0ffb2b75cf93a2394651a77a25c1bf154d3804b3fdcbdc2e1943b5d39e","sig":"8a21e57176966e8f15a9caff10387ec266b5a22b216fc537829f9ccf14fb38befd168c243143566416e5398cf734166704ec0bccdd5cfcaa5a7e166bc141fac1"},"serialized":"[0,\"fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556\",1700504291,15,[],\"bitcoin and lightning (mutated)\"]","id_ok":false,"sig_ok":true,"pow":0,"matches":[true,true,false,false,false,false,true,false,false,false,false,false,false,true,false,true]},{"event":{"pubkey":"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01","created_at":1700911719,"kind":62,"tags":[["e","86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590"],["d",""],["a","30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0"]],"content":"back\\slash (mutated)","id":"49a255e39ecde3f19b68740313cb11373238151413c17cdc27143fb9cd03a729","sig":"0831feb01e56c8f697916153546016846f83cd52a76372a29c4bf3a8f7a04959792c77021ded681a1cbadc6ac48b90c6c1d5d233075c8dbf5550700546f9dc1f"},"serialized":"[0,\"2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01\",1700911719,62,[[\"e\",\"86779a886eb09a56371e418c34bf723ef4cdfe6f716fbb07b75b507ef23b3590\"],[\"d\",\"\"],[\"a\",\"30023:79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798:post-0\"]],\"back\\\\slash (mutated)\"]","id_ok":false,"sig_ok":true,"pow":1,"matches":[true,true,false,false,false,false,true,false,true,false,true,true,false,false,false,true]}]} \ No newline at end of file diff --git a/crates/nostream-core/tests/ts_parity.rs b/crates/nostream-core/tests/ts_parity.rs new file mode 100644 index 00000000..8940284b --- /dev/null +++ b/crates/nostream-core/tests/ts_parity.rs @@ -0,0 +1,226 @@ +//! The differential oracle: the capture's own measurement, replayed through this crate's +//! public API. +//! +//! `tests/fixtures/ts-events.json` is generated data, not hand-written: 1,000 events and 50 +//! negative events put through the TypeScript at `242a3001` by +//! `tests/capture/gen-ts-events.mjs` (the capture's `getEventHash` / `identifyEvent` / +//! `isEventIdValid` / `isEventSignatureValid` / `isEventMatchingFilter` / +//! `getEventProofOfWork` / `serializeEvent`). For every entry this module requires: +//! +//! - `canonical_json` equals the captured `serialized` bytes, +//! - `compute_event_id` reproduces `event.id` exactly when `id_ok`, +//! - `verify_event_signature` succeeds exactly when `sig_ok`, +//! - `leading_zero_bits(event.id)` equals `pow`, +//! - every probe filter's `matches` equals the recorded boolean. +//! +//! The fixture is a committed measurement. A missing or unreadable file is a **failure**, +//! never a skip (`CLAUDE.md:151-152`). + +#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)] + +use std::fs; +use std::path::PathBuf; + +use nostream_core::crypto::{compute_event_id, verify_event_signature}; +use nostream_core::event::{Event, canonical_json}; +use nostream_core::filter::Filter; +use nostream_core::pow::leading_zero_bits; +use serde::Deserialize; + +#[derive(Debug, Deserialize)] +struct Fixture { + subject: String, + generated_by: String, + seed: String, + event_count: usize, + negative_count: usize, + filters: Vec, + events: Vec, + negative_events: Vec, +} + +#[derive(Debug, Deserialize)] +struct ProbeFilter { + label: String, + filter: serde_json::Value, + true_count: usize, +} + +#[derive(Debug, Deserialize)] +struct Entry { + event: Event, + serialized: String, + id_ok: bool, + sig_ok: bool, + pow: u32, + matches: Vec, +} + +fn fixture() -> Fixture { + let path = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("tests/fixtures/ts-events.json"); + let text = fs::read_to_string(&path) + .unwrap_or_else(|error| panic!("read {}: {error}", path.display())); + + serde_json::from_str(&text).unwrap_or_else(|error| panic!("parse {}: {error}", path.display())) +} + +fn filters(fixture: &Fixture) -> Vec { + fixture + .filters + .iter() + .map(|probe| serde_json::from_value(probe.filter.clone()).unwrap()) + .collect() +} + +fn entries(fixture: &Fixture) -> impl Iterator { + fixture.events.iter().chain(fixture.negative_events.iter()) +} + +#[test] +fn fixture_metadata_records_the_measurement() { + let fixture = fixture(); + + assert_eq!(fixture.subject, "242a3001d77149e4d70151ec03060c4ef44a1547"); + assert_eq!( + fixture.generated_by, + "crates/nostream-core/tests/capture/gen-ts-events.mjs" + ); + assert_eq!(fixture.seed, "nostream-006"); + assert_eq!(fixture.event_count, 1_000); + assert_eq!(fixture.events.len(), 1_000); + assert_eq!(fixture.negative_count, 50); + assert_eq!(fixture.negative_events.len(), 50); + assert_eq!(fixture.filters.len(), 16); +} + +#[test] +fn every_event_serialises_to_the_captured_bytes() { + let fixture = fixture(); + + for (index, entry) in entries(&fixture).enumerate() { + assert_eq!( + canonical_json(&entry.event).unwrap(), + entry.serialized, + "entry {index}" + ); + } +} + +#[test] +fn every_id_decision_matches_the_capture() { + let fixture = fixture(); + + for (index, entry) in entries(&fixture).enumerate() { + let computed = compute_event_id(&entry.event).unwrap(); + let reproduces = computed == entry.event.id; + + assert_eq!( + reproduces, entry.id_ok, + "entry {index} (id {})", + entry.event.id + ); + } +} + +#[test] +fn every_signature_decision_matches_the_capture() { + let fixture = fixture(); + + for (index, entry) in entries(&fixture).enumerate() { + let verifies = verify_event_signature(&entry.event).is_ok(); + + assert_eq!( + verifies, entry.sig_ok, + "entry {index} (id {})", + entry.event.id + ); + } +} + +#[test] +fn every_pow_decision_matches_the_capture() { + let fixture = fixture(); + + for (index, entry) in entries(&fixture).enumerate() { + assert_eq!( + leading_zero_bits(entry.event.id.as_bytes()), + entry.pow, + "entry {index} (id {})", + entry.event.id + ); + } +} + +#[test] +fn every_filter_decision_matches_the_capture() { + let fixture = fixture(); + let filters = filters(&fixture); + + assert_eq!(filters.len(), fixture.filters.len()); + + for (index, entry) in entries(&fixture).enumerate() { + assert_eq!(entry.matches.len(), filters.len(), "entry {index}"); + + for (position, filter) in filters.iter().enumerate() { + assert_eq!( + filter.matches(&entry.event), + entry.matches[position], + "entry {index}, filter {}", + fixture.filters[position].label + ); + } + } +} + +#[test] +fn the_fifty_negative_events_replay_identically() { + let fixture = fixture(); + + assert_eq!(fixture.negative_events.len(), 50); + + for (index, entry) in fixture.negative_events.iter().enumerate() { + assert!(!entry.id_ok, "negative {index} must not validate its id"); + assert_eq!( + verify_event_signature(&entry.event).is_ok(), + entry.sig_ok, + "negative {index}" + ); + } + + let signature_failures = fixture + .negative_events + .iter() + .filter(|entry| !entry.sig_ok) + .count(); + let signature_passes = fixture + .negative_events + .iter() + .filter(|entry| entry.sig_ok) + .count(); + + assert_eq!(signature_failures, 25); + assert_eq!(signature_passes, 25); +} + +#[test] +fn every_probe_filter_sees_at_least_one_event_of_each_decision() { + let fixture = fixture(); + + for (position, probe) in fixture.filters.iter().enumerate() { + let true_count = fixture + .events + .iter() + .filter(|entry| entry.matches[position]) + .count(); + + assert_eq!(true_count, probe.true_count, "{}", probe.label); + assert!(true_count > 0, "{} matched nothing", probe.label); + assert!( + true_count < fixture.events.len() + || probe.label.ends_with("ignored") + || probe.true_count == 1_000, + "{} matched everything", + probe.label + ); + } +} From d1904139ad842323b5b51e185a4bf6e1f85e3a81 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 07:34:19 -0400 Subject: [PATCH 05/22] docs: record the core crypto and negentropy decisions --- .changeset/core-event-model-and-crypto.md | 19 +++ .../0002-core-crypto-and-negentropy.md | 152 ++++++++++++++++++ 2 files changed, 171 insertions(+) create mode 100644 .changeset/core-event-model-and-crypto.md create mode 100644 docs/rewrite/decisions/0002-core-crypto-and-negentropy.md diff --git a/.changeset/core-event-model-and-crypto.md b/.changeset/core-event-model-and-crypto.md new file mode 100644 index 00000000..404dc15d --- /dev/null +++ b/.changeset/core-event-model-and-crypto.md @@ -0,0 +1,19 @@ +--- +--- + +feat(core): implement the event model, NIP-01 filters, crypto and NIP semantics + +`nostream-core` gains the 32-byte `EventId`/`Pubkey` and 64-byte `Signature` newtypes +with the schema's hex rules in the type, the canonical serialization and SHA-256 event +id, BIP-340 Schnorr signing and verification, the NIP-01 filter matcher and the zod +filter schema's rules, subscription normalisation, NIP-13 difficulty, NIP-40 expiration, +NIP-44 v2, reference-time and replaceable-precedence helpers, and the NIP-77 +reconciliation engine over the `negentropy` crate. Settings keep operator pubkey text in +a separate `SettingsPubkey`. + +The TypeScript tree is untouched: no `src/` or `test/` file changes, so the published +package has no user-visible change. The differential fixture +(`crates/nostream-core/tests/fixtures/ts-events.json`) is the capture's own measurement +of 1,000 events and 50 negative events, regenerated by +`crates/nostream-core/tests/capture/gen-ts-events.mjs` at `242a3001`. Decisions and the +negentropy divergences are recorded in `docs/rewrite/decisions/0002-core-crypto-and-negentropy.md`. diff --git a/docs/rewrite/decisions/0002-core-crypto-and-negentropy.md b/docs/rewrite/decisions/0002-core-crypto-and-negentropy.md new file mode 100644 index 00000000..9c6c0956 --- /dev/null +++ b/docs/rewrite/decisions/0002-core-crypto-and-negentropy.md @@ -0,0 +1,152 @@ +# ADR 0002: Core crypto, integral types and the negentropy crate (Phase 1) + +- **Status:** accepted (job 006, Phase 1) +- **Deciders:** the rewrite team, on the evidence in job 006's recon and spec +- **Date:** 2026-10-19 + +## Context + +`nostream-core` is the crate every other crate imports from, and until job 006 its +crypto, filter, NIP-13/40/44 and NIP-77 surfaces were typed stubs: `EventId` and +`Pubkey` were `String` newtypes, `Event.sig` was a `String`, and nothing checked hex, +length or a signature. Job 006 turns those surfaces into working code against the +TypeScript at the capture commit (`242a3001`), and delivers the differential oracle the +issue asks for: 1,000 events measured through the capture's own pipeline and replayed +through this crate (`crates/nostream-core/tests/ts_parity.rs`). + +Three questions had to be answered before any code was written, because each one +shapes every later phase: which crates the core depends on for cryptography and +reconciliation; how a wire value that must be 32 bytes coexists with the lenient pubkey +text settings already hold; and what a `#[serde(flatten)]` tag map actually does with the +`#` in a JSON key. + +## Decision — dependencies + +All eight go in `[workspace.dependencies]` and are referenced as `name.workspace = true` +(`CLAUDE.md:82-84`); a version literal in a crate manifest is a defect. + +| crate | version | why | +|---|---|---| +| `secp256k1` | 0.33.1 | BIP-340 Schnorr. In 0.33 the schnorr module is unconditional, `Keypair::from_secret_key` needs no context, `XOnlyPublicKey::to_byte_array` and `schnorr::sign_no_aux_rand` are the current forms, and `ecdh::shared_secret_point` returns the raw x-coordinate NIP-44 hashes. CC0-1.0, MSRV 1.63. | +| `sha2` | 0.11.1 | the event id and NIP-44's HMAC/HKDF. It replaces `bitcoin_hashes`, which would be a second SHA-256 for no gain. | +| `hmac` | 0.13.0 | NIP-44's MAC, verified with `verify_slice` (constant time). | +| `hkdf` | 0.13.0 | NIP-44's extract (`salt = "nip44-v2"`) and 76-byte expand. | +| `chacha20` | 0.10.2 | NIP-44's stream cipher, counter 0 with the 12-byte nonce — the same keystream as the capture's 16-byte IV of four zero bytes plus the nonce. | +| `base64` | 0.22.1 | NIP-44's `STANDARD` alphabet, which is what `Buffer.toString('base64')` produces. | +| `hex` | 0.4.3 | `decode_to_slice`/`encode_to_slice` for the newtypes, so the accepting path borrows the input and writes a fixed array. | +| `negentropy` | 0.5.2 | the NIP-77 engine; see below. MIT, no dependencies, MSRV 1.51. | + +No `serde_with`, `bitcoin_hashes`, `hex-conservative` or `const-hex`: each would be a +second way to spell what `hex` already does. No `rand`/`getrandom`: the NIP-44 nonce is +an argument and signing is deterministic, so the crate never reaches for randomness. + +## Decision — integral types and the settings split + +`EventId([u8; 32])`, `Pubkey([u8; 32])` and `Signature([u8; 64])` replace the string +newtypes. The issue's "32-byte `EventId`/`Pubkey`/`Signature`" groups a 64-byte value +with two 32-byte ones; the capture agrees — `idSchema` and `pubkeySchema` are 64 hex +characters and `signatureSchema` is 128 (`src/schemas/base-schema.ts:11-19`), all +`^[0-9a-f]+$`. The type carries that shape check, through a borrowed visitor over +`hex::decode_to_slice`, and its `Ord` is byte order — the same order Postgres `bytea` +comparison and lowercase-hex string comparison produce, which the replaceable tie-break +depends on. + +A separate `SettingsPubkey(pub String)` keeps operator text. Nine settings fields and +`EventRetentionOptions.pubkey_whitelist` move to it. The settings validator never checks +pubkey format (`src/utils/settings-config.ts` has no `pubkey` rule), so the default `""` +and a user value like `abc123` must survive — `crates/nostream-config/tests/defaults_parity.rs` +pins both, and it stays green. One type cannot be both lenient and 32 bytes; the split is +the only shape that keeps both contracts. + +`Event` is `#[serde(deny_unknown_fields)]`, matching `eventSchema.strict()` +(`src/schemas/event-schema.ts:41`). + +## Decision — tag-map keys + +`Filter.tags` keeps `#[serde(flatten)] BTreeMap>` and holds JSON keys +**verbatim**, `#` included: `{"#e":["aa"]}` deserialises to `tags["#e"]`. The old doc +comment said the keys were stripped, which the derivation never did. Verbatim keys are +what the capture's filter object holds (`src/@types/subscription.ts`) and what +round-trips the wire document unchanged; a stripped key would have to be re-prefixed on +serialise and would lose unknown-key fidelity. One test pins both directions. + +`Filter.ids`/`authors` became `Vec` prefixes (the schema admits 4..64 +characters, so a validated `EventId` cannot carry them) and `Filter.kinds` became +`Vec`: the TS matcher compares numbers with `includes`, so a range element never +matched, and making it unrepresentable states that structurally. + +## Decision — filter validation messages + +`validate_filter` reproduces the capture's **measured** zod 3 output, not the strings in +`test/unit/schemas/filter-schema.spec.ts`. That suite asserts only that an error exists; +the strings in its table are the case *names*. Measured against the capture tree: +`Expected array, received null`, `Expected number, received null`, +`Expected number, received array`, `Expected integer, received float`, +`String must contain at most 64 character(s)`, `String must contain at least 4 +character(s)`, `String must contain at least 1 character(s)`, `String must contain at +most 1024 character(s)`, `Invalid` (the hex regex), `Number must be greater than or +equal to 0`, `Invalid timestamp`, `Unknown key: `, `Invalid geohash filter`. + +A message the capture never emits is a fabricated output, and the job's whole premise is +measurement, so the Rust messages are the measured ones; each parity test keeps its +mocha case name and asserts the measured string as well as `is_err`. Job 006's spec +(D11) listed the case names as if they were messages; the deviation is recorded here and +in `build.md`. + +## Decision — negentropy crate and its divergences + +NIP-77 is the `negentropy` crate 0.5.2 behind a seam (`negentropy.rs` re-exports the +crate's types and adds `storage_from_items`/`storage_from_events`). Porting the 548-line +TypeScript engine by hand would re-derive a protocol an implementation already speaks, +and the oracle for either choice is the same reference bytes: the crate's +`PROTOCOL_VERSION` is `0x61`, the capture's `NEGENTROPY_PROTOCOL_VERSION` +(`src/utils/negentropy.ts:9`), and all three reference wire vectors from +`test/unit/utils/negentropy.spec.ts:239-263` reproduce exactly. + +Six of that suite's 44 cases test faults the crate makes unrepresentable rather than +refusing them, and a seventh came out of writing the parity module: + +| TS case | behaviour against the crate | +|---|---| +| `rejects duplicate items when sealing` | `seal()` de-duplicates silently (`storage.rs:111-112`); the test asserts one item after seal | +| `hands out frozen items so callbacks cannot reorder a sealed set` | `Item` is `Copy`; a callback cannot reach the set | +| `is not affected by the caller changing an id buffer after inserting it` | `Id` is `[u8; 32]` by value | +| `rejects range indexes that are negative, fractional or not finite` | the parameters are `usize`; only `BadRange` exists | +| `rejects varints that never terminate` | `decode_var_int` (`encoding.rs:16-27`) has no length bound | +| `rejects varints beyond the safe integer range` | the same decoder accumulates into `u64` without a safe-integer check | +| `restarts a frame-truncated reply at the last written bound, not after the dropped range` | the crate takes the trailing fingerprint's lower bound from the current range's `upper`, not from where the written output stopped (`writtenUpTo` in `src/utils/negentropy.ts:313-317`), so it answers `fingerprint(160, 160)` where the capture answers `fingerprint(120, 160)`; the session still converges, in an extra round | + +The NIP-77 **frame** encoder (`NEG-OPEN`/`NEG-MSG`/`NEG-CLOSE`) and the session state +machine stay out: `src/utils/nip77.ts` does not exist at the capture, and frames are wire +envelope with the subscription id — `nostream-relay`'s Phase 2. + +## Consequences + +- The core owns the semantics: event ids, signatures, filter matching and validation, + normalisation, NIP-13 difficulty, NIP-40 expiration, NIP-44 v2, and reference-time and + replaceable precedence. `validate_event` and `adaptive_pow` stay labelled stubs, and + the hex/length checks they would have made now live in the types. +- Every new behaviour that needs a clock or randomness takes it as an argument + (`is_expired_event(event, now)`, `check_created_at(..., now, ...)`, + `encrypt(..., nonce)`); `time::unix_now()` is the single clock read. Determinism is + what lets the differential fixture record decisions once and replay them. +- The signed-event path is deterministic (`sign_no_aux_rand`), so a signature is + reproducible. The capture signs with noble's random auxiliary data; BIP-340 verifies + both, so the difference is invisible on the wire. +- The seven negentropy divergences are behavioural, not structural: the relay's NIP-77 + session will converge with any reference peer, and the one that costs a round is + recorded rather than papered over. +- Two crates changed shape: `nostream-config`'s settings and `nostream-storage`'s + retention options now hold `SettingsPubkey`, and nothing else moved. + +## Revisit triggers + +- **The negentropy crate's frame truncation (divergence 7).** If a NIP-77 session + against a reference peer shows extra rounds on large frames, wrap the crate or vendor a + `writtenUpTo` fix; the test in `tests/negentropy_parity.rs` names the exact behaviour. +- **A `negentropy` release that changes `Seal` semantics or the decoder's bounds** would + move the other six rows; the parity module is the check. +- **`secp256k1` 0.34 or later**, if it changes the no-context keypair API or drops + `shared_secret_point`; D7's three call sites are in `crypto.rs`. +- **If the acceptance gate finds a message contract** (an operator-facing string built + from `validate_filter`), align it with the measured strings here before changing them. From 6eeb3b4ce773714f7cbf066888a9da91ff8c91ca Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 07:34:56 -0400 Subject: [PATCH 06/22] test(core): refuse to run the fixture generator outside a capture tree --- .../nostream-core/tests/capture/gen-ts-events.mjs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/crates/nostream-core/tests/capture/gen-ts-events.mjs b/crates/nostream-core/tests/capture/gen-ts-events.mjs index e3026836..a3019b91 100644 --- a/crates/nostream-core/tests/capture/gen-ts-events.mjs +++ b/crates/nostream-core/tests/capture/gen-ts-events.mjs @@ -33,10 +33,20 @@ const NEGATIVE_COUNT = 50 const BASE_TIMESTAMP = 1700000000 const WINDOW = 1000000 +// A capture tree is the TypeScript-only tree at `242a3001`: the Rust workspace does not +// exist there yet (`crates/` arrives at `ed31da2`), so its presence means this is the +// rewrite checkout, whose `src/` is a different tree and whose decisions would be graded +// as the capture's. const cwd = process.cwd() const eventModule = path.join(cwd, 'src/utils/event.ts') -if (!existsSync(eventModule) || !existsSync(path.join(cwd, 'package.json'))) { - console.error(`run this from the capture tree (cwd=${cwd}); src/utils/event.ts is missing`) +const isCaptureTree = + existsSync(eventModule) && + existsSync(path.join(cwd, 'package.json')) && + !existsSync(path.join(cwd, 'crates')) +if (!isCaptureTree) { + console.error( + `run this from a capture tree (cwd=${cwd}); src/utils/event.ts must exist and crates/ must not`, + ) process.exit(2) } From 64682ff23645baf6741cfb204b975294aeaa2325 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 07:50:55 -0400 Subject: [PATCH 07/22] fix(core): refuse a NIP-44 payload the validator cannot decode --- crates/nostream-core/src/nip44.rs | 18 ++++++++++++++-- crates/nostream-core/tests/nip44_parity.rs | 24 ++++++++++++++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/crates/nostream-core/src/nip44.rs b/crates/nostream-core/src/nip44.rs index a1286fd9..f6debc01 100644 --- a/crates/nostream-core/src/nip44.rs +++ b/crates/nostream-core/src/nip44.rs @@ -8,7 +8,8 @@ //! randomness is the relay's to supply (spec D13 for the clock, the same reasoning here). use base64::Engine; -use base64::engine::general_purpose::STANDARD; +use base64::alphabet; +use base64::engine::general_purpose::{GeneralPurpose, GeneralPurposeConfig, STANDARD}; use chacha20::ChaCha20; use chacha20::cipher::{KeyIvInit, StreamCipher}; use hkdf::Hkdf; @@ -37,6 +38,14 @@ const MAX_PAYLOAD_LENGTH: usize = 87_472; const MIN_DATA_LENGTH: usize = 99; const MAX_DATA_LENGTH: usize = 65_603; +/// The capture decodes with Node's lenient `Buffer.from(payload, 'base64')`, which ignores +/// non-canonical trailing bits (`src/utils/nip44.ts:124`). The strict `STANDARD` engine +/// refuses such a payload, and a refusal must never be read as "the format looks valid". +const LENIENT: GeneralPurpose = GeneralPurpose::new( + &alphabet::STANDARD, + GeneralPurposeConfig::new().with_decode_allow_trailing_bits(true), +); + /// Derives the conversation key (`getConversationKey`, `src/utils/nip44.ts:36-42`): /// HKDF-extract with the salt `nip44-v2` over the ECDH x-coordinate. The result is the same /// whichever party computes it. @@ -143,7 +152,12 @@ pub fn validate_payload(payload: &str) -> Option { return Some("payload is not valid base64".to_owned()); } - let data = STANDARD.decode(payload).ok()?; + let data = match LENIENT.decode(payload) { + Ok(data) => data, + // Unreachable once the charset and length checks pass, but a decode failure must + // still be a refusal: `None` from this function means "the format looks valid". + Err(_) => return Some("payload is not valid base64".to_owned()), + }; if data.len() < MIN_DATA_LENGTH || data.len() > MAX_DATA_LENGTH { return Some("invalid decoded payload size".to_owned()); diff --git a/crates/nostream-core/tests/nip44_parity.rs b/crates/nostream-core/tests/nip44_parity.rs index c0ca24f4..1e9b069c 100644 --- a/crates/nostream-core/tests/nip44_parity.rs +++ b/crates/nostream-core/tests/nip44_parity.rs @@ -283,6 +283,30 @@ fn pads_1024_bytes_to_1024_bytes() { assert_padded(1024, 1024); } +// --- the lenient-base64 gap (round-2 finding 1) ------------------------------------------ + +#[test] +fn returns_error_string_for_a_lenient_base64_payload_the_strict_engine_refuses() { + // The capture's `Buffer.from(payload, 'base64')` decodes this to 97 bytes (non-canonical + // trailing bits in the final group), so `validateNip44Payload` answers + // `invalid decoded payload size`. The strict engine refuses it outright; the validating + // path must still refuse rather than answer `None` ("the format looks valid"). + let lenient = format!("{}AB==", "A".repeat(128)); + + assert_eq!(lenient.len(), 132); + assert_eq!( + validate_payload(&lenient), + Some("invalid decoded payload size".to_owned()) + ); + + // The control case decodes canonically to the same 97 bytes. + let canonical = format!("{}AA==", "A".repeat(128)); + assert_eq!( + validate_payload(&canonical), + Some("invalid decoded payload size".to_owned()) + ); +} + /// The capture's observation: layout is 1 (version) + 32 (nonce) + padded length + 2 that /// the padded buffer occupies, 32 (MAC) last (`nip44.spec.ts:193-204`). fn assert_padded(unpadded_len: usize, expected_padded_len: usize) { From 50213a2a5484255e28c1b054e545b0cb7b61e750 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 07:50:55 -0400 Subject: [PATCH 08/22] fix(core): count filter length bounds in UTF-16 units and word the u64 refusal --- crates/nostream-core/src/filter.rs | 33 +++++------ .../tests/filter_schema_parity.rs | 56 +++++++++++++++++++ 2 files changed, 73 insertions(+), 16 deletions(-) diff --git a/crates/nostream-core/src/filter.rs b/crates/nostream-core/src/filter.rs index 04c9b8de..a9de25a1 100644 --- a/crates/nostream-core/src/filter.rs +++ b/crates/nostream-core/src/filter.rs @@ -211,7 +211,11 @@ impl fmt::Display for FilterIssue { /// /// The raw document is the input because the schema reports type errors ("Expected array, /// received null") against a path, which a serde deserialisation deeper in a frame parser -/// cannot phrase. Every message is the one the capture's zod 3 schema emits, verbatim. +/// cannot phrase. Every message is the one the capture's zod 3 schema emits, verbatim, with +/// two exceptions that are representability, not validation: a `kinds` element or a `limit` +/// above `u64::MAX` is accepted by the capture (JavaScript numbers) and cannot be held here, +/// so those two messages say so in their own words (`kind value does not fit in 64 bits`, +/// `limit does not fit in 64 bits`). Recorded in ADR 0002. pub fn validate_filter(value: &Value) -> Result> { let Some(object) = value.as_object() else { return Err(vec![FilterIssue { @@ -354,7 +358,9 @@ fn validate_prefixes( valid = false; } - let length = text.chars().count(); + // zod's `.min()`/`.max()` count UTF-16 code units, as `String.prototype.length` does: + // an astral character is two of them. + let length = text.encode_utf16().count(); if length < 4 { issue( @@ -418,14 +424,11 @@ fn validate_kinds(path: &str, value: &Value, issues: &mut Vec) -> O continue; } - // The capture holds kinds as JavaScript numbers; `Kind` is a `u64`, so a value - // beyond it is refused here rather than silently saturated. + // Representability, not a zod rule: the capture holds kinds as JavaScript numbers + // and accepts any non-negative integer, while `Kind` is a `u64`. Refusing rather than + // saturating is a recorded divergence (ADR 0002), so the message says what it is. if number > u64::MAX as f64 { - issue( - &element, - "Number must be less than or equal to 18446744073709551615", - issues, - ); + issue(&element, "kind value does not fit in 64 bits", issues); } else { kinds.push(Kind(number as u64)); } @@ -487,12 +490,10 @@ fn validate_limit(path: &str, value: &Value, issues: &mut Vec) -> O return None; } + // See `validate_kinds`: `limit` is a `u64` here, while the capture accepts any + // non-negative integer. A recorded divergence, worded as such. if number > u64::MAX as f64 { - issue( - path, - "Number must be less than or equal to 18446744073709551615", - issues, - ); + issue(path, "limit does not fit in 64 bits", issues); return None; } @@ -506,7 +507,7 @@ fn validate_search(path: &str, value: &Value, issues: &mut Vec) -> return None; }; - let length = text.chars().count(); + let length = text.encode_utf16().count(); let mut valid = true; if length < 1 { @@ -546,7 +547,7 @@ fn validate_string_array( continue; }; - if text.chars().count() > 1024 { + if text.encode_utf16().count() > 1024 { issue( &element, "String must contain at most 1024 character(s)", diff --git a/crates/nostream-core/tests/filter_schema_parity.rs b/crates/nostream-core/tests/filter_schema_parity.rs index 876f3347..da5d9448 100644 --- a/crates/nostream-core/tests/filter_schema_parity.rs +++ b/crates/nostream-core/tests/filter_schema_parity.rs @@ -471,3 +471,59 @@ fn nip12_rejects_multiple_wildcards() { &["#g[0]: Invalid geohash filter"], ); } + +// --- round-2 findings: UTF-16 length units and the u64 representability edge ------------- + +#[test] +fn nip50_rejects_an_astral_search_string_longer_than_1024_utf16_units() { + // 600 emoji are 600 scalar values but 1200 UTF-16 code units, which is what zod counts. + assert_issues( + &json!({"search": "šŸ˜€".repeat(600)}), + &["search: String must contain at most 1024 character(s)"], + ); +} + +#[test] +fn accepts_an_astral_search_string_at_exactly_1024_utf16_units() { + assert_matches_input(&json!({"search": "šŸ˜€".repeat(512)})); +} + +#[test] +fn rejects_an_astral_tag_criterion_longer_than_1024_utf16_units() { + assert_issues( + &json!({"#e": ["šŸ˜€".repeat(513)]}), + &["#e[0]: String must contain at most 1024 character(s)"], + ); +} + +#[test] +fn rejects_an_astral_prefix_longer_than_64_utf16_units() { + // 33 emoji are 66 UTF-16 units, over the 64-unit bound and under it in scalar values + // (33). They are not hex, so the regex issue comes first, as it does in zod. + assert_issues( + &json!({"ids": ["šŸ˜€".repeat(33)]}), + &[ + "ids[0]: Invalid", + "ids[0]: String must contain at most 64 character(s)", + ], + ); +} + +#[test] +fn kinds_beyond_u64_are_refused_as_a_representability_divergence() { + // The capture accepts `kinds: [1e20]` (a JavaScript number); `Kind` is a `u64`, so the + // value cannot be held. This is a recorded divergence (ADR 0002), not a zod rule, and the + // message says so in its own words rather than imitating zod's phrasing. + let issues = issue_lines(&json!({"kinds": [1e20]})); + + assert_eq!(issues, vec!["kinds[0]: kind value does not fit in 64 bits"]); + assert!(issue_lines(&json!({"kinds": [1e19]})).is_empty()); +} + +#[test] +fn limit_beyond_u64_is_refused_as_a_representability_divergence() { + let issues = issue_lines(&json!({"limit": 1e20})); + + assert_eq!(issues, vec!["limit: limit does not fit in 64 bits"]); + assert!(issue_lines(&json!({"limit": 1e19})).is_empty()); +} From c5669582f766faf072816bc37942c6443b3cb5c7 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 07:50:55 -0400 Subject: [PATCH 09/22] fix(core): set the author when signing an event --- crates/nostream-core/src/crypto.rs | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/crates/nostream-core/src/crypto.rs b/crates/nostream-core/src/crypto.rs index 9a493ff7..6f6049d6 100644 --- a/crates/nostream-core/src/crypto.rs +++ b/crates/nostream-core/src/crypto.rs @@ -37,11 +37,18 @@ pub fn verify_event_signature(event: &Event) -> Result<(), CoreError> { .map_err(|_| CoreError::InvalidSignature) } -/// Fills in the event's id and signature from a 32-byte secret key (`signEvent`, -/// `src/utils/event.ts:169-174`; the id first, then the signature over it). +/// Produces a complete, valid event from a 32-byte secret key (`signEvent`, +/// `src/utils/event.ts:169-174`): the author, the id and then the signature over it. +/// +/// The capture's `signEvent` takes an id it was handed and leaves `pubkey` alone, so a +/// caller that pairs it with the wrong key gets a signature that verifies over the id but +/// not against the event's own pubkey. Here the pubkey is set from the key, because the id +/// is hashed over the pubkey and a returned event must verify. pub fn sign_event(secret_key: &[u8; 32], event: &mut Event) -> Result<(), CoreError> { let keypair = keypair(secret_key)?; + let (public_key, _parity) = keypair.x_only_public_key(); + event.pubkey = Pubkey::from_byte_array(public_key.to_byte_array()); event.id = compute_event_id(event)?; let signature = schnorr::sign_no_aux_rand(event.id.as_bytes(), &keypair); event.sig = Signature::from_byte_array(*signature.as_byte_array()); @@ -155,6 +162,19 @@ mod tests { assert!(verify_event_signature(&event).is_ok()); } + #[test] + fn signing_sets_the_author_so_a_mismatched_pubkey_cannot_be_signed() { + let secret = [2u8; 32]; + let mut event = signed_candidate(&secret); + // Whatever the caller put here, signing makes it the signer's key. + event.pubkey = public_key(&[7u8; 32]).unwrap(); + + sign_event(&secret, &mut event).unwrap(); + + assert_eq!(event.pubkey, public_key(&secret).unwrap()); + assert!(verify_event_signature(&event).is_ok()); + } + #[test] fn public_key_of_secret_one_is_the_generator() { let mut secret = [0u8; 32]; From 0127c90c45ac5dfa48667cbf78521837bff60cc3 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 07:50:55 -0400 Subject: [PATCH 10/22] fix(core): read the expiration forms Number() reads --- crates/nostream-core/src/expiration.rs | 70 ++++++++++++++++++++++++-- 1 file changed, 66 insertions(+), 4 deletions(-) diff --git a/crates/nostream-core/src/expiration.rs b/crates/nostream-core/src/expiration.rs index 14bf5a63..9e8147fd 100644 --- a/crates/nostream-core/src/expiration.rs +++ b/crates/nostream-core/src/expiration.rs @@ -15,9 +15,11 @@ pub const MAX_EXPIRATION_TIME: u32 = 2_147_483_647; /// The event's expiration, when its first `expiration` tag holds a usable value /// (`getEventExpiration`, `src/utils/event.ts:265-276`). /// -/// The value is parsed the way `Number(value)` does it: finite, integral, greater than -/// zero and no higher than [`MAX_EXPIRATION_TIME`]. `"a"`, `"0"`, a millisecond-scale -/// timestamp and a value beyond the column bound all yield `None`. +/// The value is parsed the way `Number(value)` parses it — surrounding whitespace trimmed, +/// `0x`/`0o`/`0b` radix prefixes read, the empty string as zero, everything else decimal — +/// and then required to be finite, integral, greater than zero and no higher than +/// [`MAX_EXPIRATION_TIME`]. `"a"`, `"0"`, a millisecond-scale timestamp and a value beyond +/// the column bound all yield `None`. pub fn get_event_expiration(event: &Event) -> Option { let raw = event .tags @@ -25,7 +27,7 @@ pub fn get_event_expiration(event: &Event) -> Option { .find(|tag| tag.len() >= 2 && tag[0] == "expiration") .map(|tag| tag[1].as_str())?; - let value: f64 = raw.parse().ok()?; + let value = js_number(raw)?; if value.is_finite() && value.fract() == 0.0 @@ -52,6 +54,33 @@ pub fn is_expired_event(event: &Event, now: i64) -> bool { } } +/// The subset of JavaScript's `Number(primitive)` a tag value can reach: `String.prototype` +/// trimming, the three radix prefixes, the empty string as zero, and the decimal grammar +/// `f64::from_str` shares with it. Anything JavaScript would read as `NaN` (or as a value +/// this cannot represent) is `None`, which every caller treats as "no usable expiration". +fn js_number(text: &str) -> Option { + let trimmed = text.trim(); + + if trimmed.is_empty() { + return Some(0.0); + } + + let (radix, digits) = + if let Some(digits) = trimmed.strip_prefix("0x").or(trimmed.strip_prefix("0X")) { + (16, digits) + } else if let Some(digits) = trimmed.strip_prefix("0o").or(trimmed.strip_prefix("0O")) { + (8, digits) + } else if let Some(digits) = trimmed.strip_prefix("0b").or(trimmed.strip_prefix("0B")) { + (2, digits) + } else { + return trimmed.parse::().ok(); + }; + + u64::from_str_radix(digits, radix) + .ok() + .map(|value| value as f64) +} + #[cfg(test)] mod tests { #![allow(clippy::unwrap_used, clippy::expect_used)] @@ -202,4 +231,37 @@ mod tests { assert!(is_expired_event(&event, 100_000)); assert!(!is_expired_event(&event, 99_999)); } + + #[test] + fn expiration_reads_the_forms_javascript_number_reads() { + assert_eq!( + get_event_expiration(&event_with(vec![vec!["expiration", " 160000000 "]])), + Some(160_000_000) + ); + assert_eq!( + get_event_expiration(&event_with(vec![vec!["expiration", "0x10"]])), + Some(16) + ); + assert_eq!( + get_event_expiration(&event_with(vec![vec!["expiration", "0o10"]])), + Some(8) + ); + assert_eq!( + get_event_expiration(&event_with(vec![vec!["expiration", "0b101"]])), + Some(5) + ); + assert_eq!( + get_event_expiration(&event_with(vec![vec!["expiration", "1e3"]])), + Some(1_000) + ); + } + + #[test] + fn expiration_of_a_bare_radix_prefix_is_none() { + // `Number("0x")` is NaN in JavaScript. + assert_eq!( + get_event_expiration(&event_with(vec![vec!["expiration", "0x"]])), + None + ); + } } From 80912cb073569db5c997cb5566ee1fad3aa6ae51 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 07:51:00 -0400 Subject: [PATCH 11/22] feat(config): keep the capture's kind-range acceptance in mirror filters --- crates/nostream-config/src/settings.rs | 59 ++++++++++- .../nostream-config/tests/mirror_filters.rs | 99 +++++++++++++++++++ 2 files changed, 157 insertions(+), 1 deletion(-) create mode 100644 crates/nostream-config/tests/mirror_filters.rs diff --git a/crates/nostream-config/src/settings.rs b/crates/nostream-config/src/settings.rs index 7999fa56..4de8a3a5 100644 --- a/crates/nostream-config/src/settings.rs +++ b/crates/nostream-config/src/settings.rs @@ -11,6 +11,8 @@ //! rejecting unknown keys is the shape validator's job (`crate::validate`), and the typed //! parse runs only after validation. +use std::collections::BTreeMap; + use nostream_core::{EventStoreBackend, Filter, KindSelector, Secret, SettingsPubkey}; use serde::{Deserialize, Serialize}; @@ -509,13 +511,68 @@ pub struct PaymentsProcessors { pub nwc: Option, } +/// A mirror's subscription filter (`src/@types/settings.ts` `mirroring.static[].filters`, +/// typed there as `SubscriptionFilter`, whose `kinds` admits `EventKinds | EventKindsRange`). +/// +/// The capture never validates a mirror filter (`src/utils/settings-config.ts` has no filter +/// rule), so a document such as `kinds: [[10000, 19999]]` loads there and loaded here before +/// the wire `Filter` narrowed `kinds` to numbers (spec D4). This type keeps that acceptance +/// at the settings edge; [`SettingsFilter::into_filter`] crosses to the wire type at use. +#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)] +pub struct SettingsFilter { + #[serde(skip_serializing_if = "Option::is_none")] + pub ids: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub kinds: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub since: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub until: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub authors: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub limit: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub search: Option, + #[serde(flatten)] + pub tags: BTreeMap>, +} + +impl SettingsFilter { + /// The wire [`Filter`] this settings entry stands for. + /// + /// A range element is dropped rather than widened: the capture's in-memory matcher + /// compared kinds with `Array.includes` on numbers (`src/utils/event.ts:64`), so a range + /// element never matched an event there either, and the wire type cannot hold one. + pub fn into_filter(self) -> Filter { + Filter { + ids: self.ids, + kinds: self.kinds.map(|kinds| { + kinds + .into_iter() + .filter_map(|selector| match selector { + KindSelector::Single(kind) => Some(kind), + KindSelector::Range(_) => None, + }) + .collect() + }), + since: self.since, + until: self.until, + authors: self.authors, + limit: self.limit, + search: self.search, + tags: self.tags, + } + } +} + /// A mirror whose events are replicated (`src/@types/settings.ts` `Mirror`). #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct Mirror { pub address: String, #[serde(skip_serializing_if = "Option::is_none")] - pub filters: Option>, + pub filters: Option>, #[serde(skip_serializing_if = "Option::is_none")] pub secret: Option, #[serde(skip_serializing_if = "Option::is_none")] diff --git a/crates/nostream-config/tests/mirror_filters.rs b/crates/nostream-config/tests/mirror_filters.rs new file mode 100644 index 00000000..45e3d06b --- /dev/null +++ b/crates/nostream-config/tests/mirror_filters.rs @@ -0,0 +1,99 @@ +//! A mirror filter keeps the capture's acceptance at the settings edge. +//! +//! `mirroring.static[].filters` is the capture's `SubscriptionFilter`, whose `kinds` admits a +//! range (`EventKinds | EventKindsRange`), and the capture never validates a mirror filter +//! (`src/utils/settings-config.ts` has no filter rule). The wire `Filter` narrowed `kinds` to +//! numbers (spec D4), so the settings type keeps `KindSelector` and crosses over at use +//! (round-2 architecture finding 1). + +// This integration-test target may unwrap: a failed assertion here is a failed test, +// which is the point. The allowance names this file rather than exempting test targets +// workspace-wide, so a new test file still has to ask. +#![allow(clippy::unwrap_used, clippy::expect_used)] + +use std::fs; + +use nostream_config::settings::{Mirror, Settings}; +use nostream_core::Kind; +use serde_yaml::Value; + +fn defaults() -> Value { + let raw = fs::read_to_string(concat!( + env!("CARGO_MANIFEST_DIR"), + "/../../resources/default-settings.yaml" + )) + .expect("the shipped defaults are readable"); + + serde_yaml::from_str(&raw).expect("the shipped defaults are valid YAML") +} + +/// The document the architecture review measured: a mirror filter with a kind range, which +/// the capture accepts and which loaded here before `Filter.kinds` narrowed. +fn document_with_range_filter() -> Value { + let mut document = defaults(); + let mirror = serde_yaml::from_str::( + r#" +address: wss://mirror.example.com +filters: + - kinds: + - [10000, 19999] + - kinds: [1] + "#, + ) + .expect("the mirror block is valid YAML"); + + document["mirroring"]["static"] = Value::Sequence(vec![mirror]); + + document +} + +#[test] +fn a_mirror_filter_with_a_kind_range_fits_the_typed_settings() { + let settings: Settings = + serde_yaml::from_value(document_with_range_filter()).expect("the mirror filter fits"); + + let static_mirrors = settings + .mirroring + .expect("mirroring is in the defaults") + .static_ + .expect("the document sets mirroring.static"); + let filters = static_mirrors[0] + .filters + .as_ref() + .expect("the document sets filters"); + + assert_eq!(filters.len(), 2); +} + +#[test] +fn the_typed_settings_round_trip_the_range_filter_document() { + let document = document_with_range_filter(); + let settings: Settings = serde_yaml::from_value(document.clone()).unwrap(); + let again = serde_yaml::to_value(&settings).unwrap(); + + assert_eq!(again["mirroring"], document["mirroring"]); +} + +#[test] +fn the_wire_filter_drops_a_range_element_and_keeps_the_numbers() { + let settings: Settings = serde_yaml::from_value(document_with_range_filter()).unwrap(); + let mirror: &Mirror = &settings + .mirroring + .expect("mirroring is in the defaults") + .static_ + .expect("the document sets mirroring.static")[0]; + + let filters: Vec<_> = mirror + .filters + .as_ref() + .unwrap() + .clone() + .into_iter() + .map(|filter| filter.into_filter()) + .collect(); + + // The capture's matcher used `Array.includes` on numbers, so a range element never + // matched there either: dropping it keeps the same decisions. + assert_eq!(filters[0].kinds, Some(Vec::new())); + assert_eq!(filters[1].kinds, Some(vec![Kind::TEXT_NOTE])); +} From 54e35ae2c2d39d7b6ad5d800d7db95b93e4d31c3 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 07:51:00 -0400 Subject: [PATCH 12/22] docs: split the reference-time predicate from the gate's policy --- crates/nostream-core/src/lib.rs | 7 +++++-- crates/nostream-relay/src/lib.rs | 5 +++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/crates/nostream-core/src/lib.rs b/crates/nostream-core/src/lib.rs index 06ac017c..d57ef0a8 100644 --- a/crates/nostream-core/src/lib.rs +++ b/crates/nostream-core/src/lib.rs @@ -39,8 +39,11 @@ //! transport exists — the file those frames are described in, `src/utils/nip77.ts`, does //! not exist at the capture (it appears at the porting oracle `041fe34e`), and neither does //! `src/utils/negentropy-sessions.ts`; the stored-query path (Postgres full-text search and -//! `EXISTS`-per-tag SQL) is `nostream-storage`'s; the event acceptance gate's kind-specific -//! tag rules and `created_at` bounds are the gate's, not this crate's. +//! `EXISTS`-per-tag SQL) is `nostream-storage`'s. The event acceptance gate's *policy* is +//! `nostream-relay`'s — the kind-specific tag rules, which `created_at` deltas apply, and +//! where the check is called; the pure predicate those rules call, +//! [`time::check_created_at`], is this crate's, and so is the `created_at` window arithmetic +//! it carries. pub mod adaptive_pow; pub mod constants; diff --git a/crates/nostream-relay/src/lib.rs b/crates/nostream-relay/src/lib.rs index 7f22f840..2c3b0f91 100644 --- a/crates/nostream-relay/src/lib.rs +++ b/crates/nostream-relay/src/lib.rs @@ -20,6 +20,11 @@ //! dependency, no transport. The NIP-77 `neg-*` handlers exist at the porting oracle //! (`041fe34e`) and are deliberately absent here. Phase 2+ areas this crate does not own: the //! HTTP surface (nostream-admin) and the probe family (nostream-services). +//! +//! The event acceptance gate this crate will build owns the *policy*: the kind-specific tag +//! rules, which `created_at` deltas the settings supply, and where the check runs. The pure +//! predicate it calls — `nostream_core::time::check_created_at` — is core's, along with the +//! rest of the reference-time arithmetic; do not re-implement it here. pub mod broadcast; pub mod connection; From 0769df3a98b59ccf7cc1a33d091daaced48971d1 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 07:51:00 -0400 Subject: [PATCH 13/22] test: guard both capture generators against the rewrite tree --- .../nostream-config/tests/capture/gen-ts-issues.mjs | 11 +++++++++-- crates/nostream-core/tests/capture/gen-ts-events.mjs | 6 ++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/crates/nostream-config/tests/capture/gen-ts-issues.mjs b/crates/nostream-config/tests/capture/gen-ts-issues.mjs index e9bef318..fffc37eb 100644 --- a/crates/nostream-config/tests/capture/gen-ts-issues.mjs +++ b/crates/nostream-config/tests/capture/gen-ts-issues.mjs @@ -21,8 +21,15 @@ import path from 'node:path' const cwd = process.cwd() const settingsModule = path.join(cwd, 'src/utils/settings-config.ts') -if (!existsSync(settingsModule) || !existsSync(path.join(cwd, 'resources/default-settings.yaml'))) { - console.error(`run this from the capture tree (cwd=${cwd}); src/utils/settings-config.ts or resources/default-settings.yaml is missing`) +// A capture tree is the TypeScript-only tree at `242a3001`; `crates/` arrives with the Rust +// workspace, so its presence means this is the rewrite checkout. Both files below exist in +// that checkout too, and measuring it would grade the rewrite against itself. +const isCaptureTree = + existsSync(settingsModule) && + existsSync(path.join(cwd, 'resources/default-settings.yaml')) && + !existsSync(path.join(cwd, 'crates')) +if (!isCaptureTree) { + console.error(`run this from the capture tree (cwd=${cwd}); src/utils/settings-config.ts and resources/default-settings.yaml must exist, and crates/ must not`) process.exit(2) } diff --git a/crates/nostream-core/tests/capture/gen-ts-events.mjs b/crates/nostream-core/tests/capture/gen-ts-events.mjs index a3019b91..d1aafe83 100644 --- a/crates/nostream-core/tests/capture/gen-ts-events.mjs +++ b/crates/nostream-core/tests/capture/gen-ts-events.mjs @@ -9,9 +9,11 @@ // git archive 242a3001 | tar -x -C /tmp/nostream-capture-006 // cd /tmp/nostream-capture-006 && pnpm install --frozen-lockfile // -// Run, from the capture tree, with this file's absolute path: +// Run, from the capture tree, with this file's absolute path and an absolute output path — +// relative paths would resolve against the capture tree, not the worktree: // cd /tmp/nostream-capture-006 -// node > ../fixtures/ts-events.json +// node /path/to/nostream/crates/nostream-core/tests/capture/gen-ts-events.mjs \ +// > /path/to/nostream/crates/nostream-core/tests/fixtures/ts-events.json // // The measurement is deterministic: the sample comes from a fixed PRNG seed, and every // signature uses `aux = sha256("nostream-006:" + index)` rather than the capture's From 6c5a05af3be574d2d28a7f8607e94dfa1c2dd842 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 07:51:00 -0400 Subject: [PATCH 14/22] docs: record the round-2 divergences in ADR 0002 --- .../0002-core-crypto-and-negentropy.md | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/docs/rewrite/decisions/0002-core-crypto-and-negentropy.md b/docs/rewrite/decisions/0002-core-crypto-and-negentropy.md index 9c6c0956..f1519c65 100644 --- a/docs/rewrite/decisions/0002-core-crypto-and-negentropy.md +++ b/docs/rewrite/decisions/0002-core-crypto-and-negentropy.md @@ -58,6 +58,19 @@ and a user value like `abc123` must survive — `crates/nostream-config/tests/de pins both, and it stays green. One type cannot be both lenient and 32 bytes; the split is the only shape that keeps both contracts. +`mirroring.static[].filters` is the same capture type (`SubscriptionFilter`) but a different +consumer, and it does **not** narrow with the wire type: `crates/nostream-config`'s +`SettingsFilter` keeps `kinds: Option>` and crosses to `Filter` through +`into_filter()` at use, dropping a range element because the capture's matcher compared +kinds with `Array.includes` on numbers, so a range never matched there either. The capture +never validates a mirror filter, so a document with `kinds: [[10000, 19999]]` must keep +loading; `crates/nostream-config/tests/mirror_filters.rs` pins the load, the round-trip and +the crossing. + +Signing sets the author: `sign_event` writes `pubkey` from the key before hashing the id, +because the id is hashed over the pubkey and a returned event has to verify. The capture's +`signEvent` leaves the pubkey alone and would let a caller pair a key with the wrong author. + `Event` is `#[serde(deny_unknown_fields)]`, matching `eventSchema.strict()` (`src/schemas/event-schema.ts:41`). @@ -93,6 +106,21 @@ mocha case name and asserts the measured string as well as `is_err`. Job 006's s (D11) listed the case names as if they were messages; the deviation is recorded here and in `build.md`. +Two messages are **not** the capture's, and they say so in their own words: +`kind value does not fit in 64 bits` and `limit does not fit in 64 bits`. The capture accepts +`{"kinds":[1e20]}` and `{"limit":1e20}` (JavaScript numbers, no ceiling in `kindSchema` or +`limit`); `Kind` is a `u64` and `Filter.limit` a `u64`, so those values are unrepresentable +here. That is a representability divergence, not a validation rule, so imitating zod's +phrasing would be the fabrication this section forbids. The boundary cell of the two types is +`u64::MAX`: `1e19` and `9007199254740992` are accepted by both paths. + +Length bounds count **UTF-16 code units**, as zod's `.min()`/`.max()` do through +`String.prototype.length`: `text.encode_utf16().count()`, not `chars().count()`. An astral +character is two units, so 600 emoji are 1200 units and are rejected by both paths. The +`Unknown key` second pass also runs over every key, including one whose value already failed +the catchall type check, where zod's `superRefine` only sees parsed keys: the Rust output can +be a superset of zod's on a document that is invalid either way, never on a valid one. + ## Decision — negentropy crate and its divergences NIP-77 is the `negentropy` crate 0.5.2 behind a seam (`negentropy.rs` re-exports the @@ -137,7 +165,9 @@ envelope with the subscription id — `nostream-relay`'s Phase 2. session will converge with any reference peer, and the one that costs a round is recorded rather than papered over. - Two crates changed shape: `nostream-config`'s settings and `nostream-storage`'s - retention options now hold `SettingsPubkey`, and nothing else moved. + retention options now hold `SettingsPubkey`; `mirroring.static[].filters` holds + `SettingsFilter` so the settings edge keeps the capture's kind-range acceptance. Nothing + else moved, and no consumer outside those two crates names a filter differently. ## Revisit triggers @@ -150,3 +180,9 @@ envelope with the subscription id — `nostream-relay`'s Phase 2. `shared_secret_point`; D7's three call sites are in `crypto.rs`. - **If the acceptance gate finds a message contract** (an operator-facing string built from `validate_filter`), align it with the measured strings here before changing them. +- **If the settings editor or a wire parser ever hands `Filter` a kind range or an integer + above `u64::MAX`**, decide there: the two refusals are representability, and a surface + that can hold the JavaScript value may want to keep it instead. +- **If NIP-40 retention is ever measured against the capture** on non-decimal `expiration` + tag values, `expiration::js_number` is the seam that already covers `0x`/`0o`/`0b`, + trimmed and exponential forms; extend it there rather than in the tag walk. From 78f6ec4383bcfc9c9f22e70989ff27b417e722d2 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 07:51:39 -0400 Subject: [PATCH 15/22] docs: state what the negentropy convergence tests pin --- crates/nostream-core/tests/negentropy_parity.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/crates/nostream-core/tests/negentropy_parity.rs b/crates/nostream-core/tests/negentropy_parity.rs index 84cb8a47..aa7bc880 100644 --- a/crates/nostream-core/tests/negentropy_parity.rs +++ b/crates/nostream-core/tests/negentropy_parity.rs @@ -31,9 +31,14 @@ //! range`** — not in D8's table. The capture's port tracks `writtenUpTo` //! (`src/utils/negentropy.ts:313-317`) and answers `fingerprint(120, 160)`; the crate //! passes the *current range's* `upper` to the trailing fingerprint -//! (`lib.rs`, `reconcile_aux`), so it answers `fingerprint(160, 160)`. The session still -//! converges, in an extra round; `src/utils/negentropy.ts`'s own comment says why the -//! capture changed this. Recorded in ADR 0002 and build.md as a revisit trigger. +//! (`lib.rs`, `reconcile_aux`), so it answers `fingerprint(160, 160)`. The trailing +//! fingerprint is the input to the peer's next comparison, so the range is re-offered and +//! the session can still converge; what is pinned here is the *difference* in that +//! fingerprint, and what is pinned next door +//! (`still_converges_when_several_mismatched_ranges_are_cut_by_the_frame_limit`) is a +//! different frame shape converging under the same limit. No test drives this exact +//! message to convergence. `src/utils/negentropy.ts`'s own comment says why the capture +//! changed this; recorded in ADR 0002 and build.md as a revisit trigger. #![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)] From 84243e4c21a085ad9e6c82573b2b6015f57a1546 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 08:03:00 -0400 Subject: [PATCH 16/22] fix(core): decode NIP-44 payloads as leniently when decrypting --- crates/nostream-core/src/nip44.rs | 5 ++- crates/nostream-core/tests/nip44_parity.rs | 41 ++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/crates/nostream-core/src/nip44.rs b/crates/nostream-core/src/nip44.rs index f6debc01..42049868 100644 --- a/crates/nostream-core/src/nip44.rs +++ b/crates/nostream-core/src/nip44.rs @@ -100,7 +100,10 @@ pub fn decrypt(payload: &str, conversation_key: &[u8; 32]) -> Result usize { STANDARD.decode(payload).unwrap().len() } +/// Re-encodes a payload so that the last base64 data character differs only in the bits the +/// final group does not carry, as a lenient decoder permits (`Buffer.from` ignores them). +fn flip_unused_trailing_bits(payload: &str) -> String { + const ALPHABET: &[u8] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + + let mut characters: Vec = payload.bytes().collect(); + let padding = characters + .iter() + .rev() + .take_while(|byte| **byte == b'=') + .count(); + assert!( + padding == 1 || padding == 2, + "a final group with unused bits" + ); + let index = characters.len() - padding - 1; + let value = ALPHABET + .iter() + .position(|byte| *byte == characters[index]) + .expect("a base64 data character"); + + characters[index] = ALPHABET[value ^ 1]; + + String::from_utf8(characters).expect("the alphabet is ASCII") +} + // --- getConversationKey (3) -------------------------------------------------------------- #[test] @@ -307,6 +333,21 @@ fn returns_error_string_for_a_lenient_base64_payload_the_strict_engine_refuses() ); } +#[test] +fn decrypts_a_non_canonical_re_encoding_the_capture_decrypts() { + // Round-3 finding 1: the capture's `Buffer.from` is lenient on both sides, so a payload + // whose final group differs only in pad bits still validates *and* decrypts. `decrypt` + // must use the same engine as `validate_payload` or this answers `invalid data size`. + let key = conversation_key(1, 2); + let plaintext = "a".repeat(33); + let payload = encrypt(&plaintext, &key, &nonce(0)).unwrap(); + let re_encoded = flip_unused_trailing_bits(&payload); + + assert_ne!(re_encoded, payload); + assert_eq!(validate_payload(&re_encoded), None); + assert_eq!(decrypt(&re_encoded, &key).unwrap(), plaintext); +} + /// The capture's observation: layout is 1 (version) + 32 (nonce) + padded length + 2 that /// the padded buffer occupies, 32 (MAC) last (`nip44.spec.ts:193-204`). fn assert_padded(unpadded_len: usize, expected_padded_len: usize) { From 84c88f0ef2e27e9ffb36b4558cb3992cee1f5760 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 08:03:00 -0400 Subject: [PATCH 17/22] fix(core): refuse values at 2^64 instead of saturating them --- crates/nostream-core/src/filter.rs | 9 +++-- .../tests/filter_schema_parity.rs | 33 ++++++++++++++----- 2 files changed, 31 insertions(+), 11 deletions(-) diff --git a/crates/nostream-core/src/filter.rs b/crates/nostream-core/src/filter.rs index a9de25a1..01387a24 100644 --- a/crates/nostream-core/src/filter.rs +++ b/crates/nostream-core/src/filter.rs @@ -23,6 +23,11 @@ const KNOWN_FILTER_KEYS: [&str; 7] = [ /// The largest integer JavaScript represents exactly (`Number.MAX_SAFE_INTEGER`). const MAX_SAFE_INTEGER: f64 = 9_007_199_254_740_991.0; +/// `2^64`, the first value a `u64` cannot hold. `u64::MAX as f64` **is** this number — the +/// largest `f64` below it is `u64::MAX - 2047` — so the comparison must be `>=`, not `>`: +/// with `>`, exactly `2^64` passed and `as u64` silently saturated it to `u64::MAX`. +const U64_RANGE_END: f64 = 18_446_744_073_709_551_616.0; + /// A Nostr REQ filter (`src/@types/subscription.ts` `SubscriptionFilter`). /// /// `ids` and `authors` hold hex **prefixes**: the schema admits 4..64 characters @@ -427,7 +432,7 @@ fn validate_kinds(path: &str, value: &Value, issues: &mut Vec) -> O // Representability, not a zod rule: the capture holds kinds as JavaScript numbers // and accepts any non-negative integer, while `Kind` is a `u64`. Refusing rather than // saturating is a recorded divergence (ADR 0002), so the message says what it is. - if number > u64::MAX as f64 { + if number >= U64_RANGE_END { issue(&element, "kind value does not fit in 64 bits", issues); } else { kinds.push(Kind(number as u64)); @@ -492,7 +497,7 @@ fn validate_limit(path: &str, value: &Value, issues: &mut Vec) -> O // See `validate_kinds`: `limit` is a `u64` here, while the capture accepts any // non-negative integer. A recorded divergence, worded as such. - if number > u64::MAX as f64 { + if number >= U64_RANGE_END { issue(path, "limit does not fit in 64 bits", issues); return None; } diff --git a/crates/nostream-core/tests/filter_schema_parity.rs b/crates/nostream-core/tests/filter_schema_parity.rs index da5d9448..335b63a7 100644 --- a/crates/nostream-core/tests/filter_schema_parity.rs +++ b/crates/nostream-core/tests/filter_schema_parity.rs @@ -511,19 +511,34 @@ fn rejects_an_astral_prefix_longer_than_64_utf16_units() { #[test] fn kinds_beyond_u64_are_refused_as_a_representability_divergence() { - // The capture accepts `kinds: [1e20]` (a JavaScript number); `Kind` is a `u64`, so the - // value cannot be held. This is a recorded divergence (ADR 0002), not a zod rule, and the - // message says so in its own words rather than imitating zod's phrasing. - let issues = issue_lines(&json!({"kinds": [1e20]})); - - assert_eq!(issues, vec!["kinds[0]: kind value does not fit in 64 bits"]); + // The capture accepts these (JavaScript numbers, no ceiling in `kindSchema`); `Kind` is a + // `u64`. A recorded divergence (ADR 0002), not a zod rule, and the message says so in its + // own words rather than imitating zod's phrasing. + assert_eq!( + issue_lines(&json!({"kinds": [1e20]})), + vec!["kinds[0]: kind value does not fit in 64 bits"] + ); + // The boundary in both directions: `2^64` is the first unrepresentable value, and the + // largest `f64` below it (`2^64 - 2048`) is representable. `u64::MAX` itself is not a + // usable cell here because serde reads that JSON integer as `2^64`, as JavaScript does. + assert_eq!( + issue_lines(&json!({"kinds": [1.8446744073709552e19]})), + vec!["kinds[0]: kind value does not fit in 64 bits"] + ); + assert!(issue_lines(&json!({"kinds": [18_446_744_073_709_549_568_u64]})).is_empty()); assert!(issue_lines(&json!({"kinds": [1e19]})).is_empty()); } #[test] fn limit_beyond_u64_is_refused_as_a_representability_divergence() { - let issues = issue_lines(&json!({"limit": 1e20})); - - assert_eq!(issues, vec!["limit: limit does not fit in 64 bits"]); + assert_eq!( + issue_lines(&json!({"limit": 1e20})), + vec!["limit: limit does not fit in 64 bits"] + ); + assert_eq!( + issue_lines(&json!({"limit": 1.8446744073709552e19})), + vec!["limit: limit does not fit in 64 bits"] + ); + assert!(issue_lines(&json!({"limit": 18_446_744_073_709_549_568_u64})).is_empty()); assert!(issue_lines(&json!({"limit": 1e19})).is_empty()); } From 9bbd84d7d90bb2da291a67ae8705a4ebc1d21ca3 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 08:03:00 -0400 Subject: [PATCH 18/22] fix(config): scope the settings filter crossing to local matching --- crates/nostream-config/src/settings.rs | 34 +++++++++++++------ .../nostream-config/tests/mirror_filters.rs | 17 ++++++---- 2 files changed, 34 insertions(+), 17 deletions(-) diff --git a/crates/nostream-config/src/settings.rs b/crates/nostream-config/src/settings.rs index 4de8a3a5..ceeadc78 100644 --- a/crates/nostream-config/src/settings.rs +++ b/crates/nostream-config/src/settings.rs @@ -512,12 +512,18 @@ pub struct PaymentsProcessors { } /// A mirror's subscription filter (`src/@types/settings.ts` `mirroring.static[].filters`, -/// typed there as `SubscriptionFilter`, whose `kinds` admits `EventKinds | EventKindsRange`). +/// typed there as `SubscriptionFilter`). /// -/// The capture never validates a mirror filter (`src/utils/settings-config.ts` has no filter -/// rule), so a document such as `kinds: [[10000, 19999]]` loads there and loaded here before -/// the wire `Filter` narrowed `kinds` to numbers (spec D4). This type keeps that acceptance -/// at the settings edge; [`SettingsFilter::into_filter`] crosses to the wire type at use. +/// The declared type is numbers-only — `kinds?: (EventKinds | number)[]` +/// (`src/@types/subscription.ts:8`); `EventKindsRange` belongs to the *rate-limit* criteria, +/// not to a subscription filter. What keeps `KindSelector` here is that the capture never +/// validates a mirror filter: `validateShape` returns when the schema for a sequence is empty +/// (`src/utils/settings-config.ts:202-204`) and the shipped defaults carry +/// `mirroring.static: []` (`resources/default-settings.yaml:168-169`), so a document such as +/// `kinds: [[10000, 19999]]` is an unvalidated runtime value that loads. The wire `Filter` +/// narrowed `kinds` to numbers (spec D4); this type keeps the loader's acceptance, and the +/// two paths a mirror filter takes are spelled out on +/// [`SettingsFilter::into_matcher_filter`]. #[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)] pub struct SettingsFilter { #[serde(skip_serializing_if = "Option::is_none")] @@ -539,12 +545,20 @@ pub struct SettingsFilter { } impl SettingsFilter { - /// The wire [`Filter`] this settings entry stands for. + /// The crossing for **local matching only**: the wire [`Filter`] that `Filter::matches` + /// takes. /// - /// A range element is dropped rather than widened: the capture's in-memory matcher - /// compared kinds with `Array.includes` on numbers (`src/utils/event.ts:64`), so a range - /// element never matched an event there either, and the wire type cannot hold one. - pub fn into_filter(self) -> Filter { + /// A range element is dropped rather than widened, because the capture's in-memory + /// matcher compared kinds with `Array.includes` on numbers (`src/utils/event.ts:64`), so a + /// range element never matched an event there either. + /// + /// This is **not** the crossing for the outbound subscription. The mirror worker forwards + /// the settings filter verbatim, injecting only `since` + /// (`src/app/static-mirroring-worker.ts:72-77`), and `createSubscriptionMessage` + /// serialises it without validating (`src/utils/messages.ts:53-58`), so a range element + /// reaches the peer as `kinds: [[10000, 19999]]`. Serialising `Filter` there would send + /// `kinds: []` instead, which the capture never sends; that path serialises this type. + pub fn into_matcher_filter(self) -> Filter { Filter { ids: self.ids, kinds: self.kinds.map(|kinds| { diff --git a/crates/nostream-config/tests/mirror_filters.rs b/crates/nostream-config/tests/mirror_filters.rs index 45e3d06b..e6926da3 100644 --- a/crates/nostream-config/tests/mirror_filters.rs +++ b/crates/nostream-config/tests/mirror_filters.rs @@ -1,10 +1,13 @@ -//! A mirror filter keeps the capture's acceptance at the settings edge. +//! A mirror filter keeps the loader's acceptance at the settings edge. //! -//! `mirroring.static[].filters` is the capture's `SubscriptionFilter`, whose `kinds` admits a -//! range (`EventKinds | EventKindsRange`), and the capture never validates a mirror filter -//! (`src/utils/settings-config.ts` has no filter rule). The wire `Filter` narrowed `kinds` to -//! numbers (spec D4), so the settings type keeps `KindSelector` and crosses over at use -//! (round-2 architecture finding 1). +//! The declared type is numbers-only (`src/@types/subscription.ts:8`, `kinds?: (EventKinds | +//! number)[]`), but the capture never validates a mirror filter: `validateShape` returns when +//! the sequence's schema is empty (`src/utils/settings-config.ts:202-204`) and the shipped +//! defaults carry `mirroring.static: []`. So `kinds: [[10000, 19999]]` is an unvalidated +//! runtime value the capture loads and its matcher ignores, and this branch loads it too. The +//! wire `Filter` narrowed `kinds` to numbers (spec D4), so the settings type keeps +//! `KindSelector` and crosses over for local matching only (round-2 finding 4, round-3 +//! finding 2). // This integration-test target may unwrap: a failed assertion here is a failed test, // which is the point. The allowance names this file rather than exempting test targets @@ -89,7 +92,7 @@ fn the_wire_filter_drops_a_range_element_and_keeps_the_numbers() { .unwrap() .clone() .into_iter() - .map(|filter| filter.into_filter()) + .map(|filter| filter.into_matcher_filter()) .collect(); // The capture's matcher used `Array.includes` on numbers, so a range element never From 42b0a557253d809e2e79331a93f0c7b06b703062 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 08:03:00 -0400 Subject: [PATCH 19/22] fix(core): reject a sign after the expiration radix prefix and trim the BOM --- crates/nostream-core/src/expiration.rs | 39 +++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/crates/nostream-core/src/expiration.rs b/crates/nostream-core/src/expiration.rs index 9e8147fd..dbbd75cf 100644 --- a/crates/nostream-core/src/expiration.rs +++ b/crates/nostream-core/src/expiration.rs @@ -55,11 +55,14 @@ pub fn is_expired_event(event: &Event, now: i64) -> bool { } /// The subset of JavaScript's `Number(primitive)` a tag value can reach: `String.prototype` -/// trimming, the three radix prefixes, the empty string as zero, and the decimal grammar -/// `f64::from_str` shares with it. Anything JavaScript would read as `NaN` (or as a value -/// this cannot represent) is `None`, which every caller treats as "no usable expiration". +/// trimming (which also removes a leading U+FEFF), the three radix prefixes, the empty string +/// as zero, and the decimal grammar `f64::from_str` shares with it. Anything JavaScript would +/// read as `NaN` (or as a value this cannot represent) is `None`, which every caller treats +/// as "no usable expiration". fn js_number(text: &str) -> Option { - let trimmed = text.trim(); + // `char::is_whitespace` is Unicode `White_Space`; JS `trim()` additionally strips U+FEFF. + let trimmed = + text.trim_matches(|character: char| character.is_whitespace() || character == '\u{feff}'); if trimmed.is_empty() { return Some(0.0); @@ -76,6 +79,13 @@ fn js_number(text: &str) -> Option { return trimmed.parse::().ok(); }; + // `from_str_radix` accepts a leading sign after the prefix (`"0x+10"` → 16); JavaScript + // reads `Number("0x+10")` as NaN, and accepting it here would expire an event the + // capture retains. + if digits.starts_with(['+', '-']) { + return None; + } + u64::from_str_radix(digits, radix) .ok() .map(|value| value as f64) @@ -264,4 +274,25 @@ mod tests { None ); } + + #[test] + fn expiration_rejects_a_sign_after_the_radix_prefix() { + // `Number("0x+10")` is NaN in JavaScript; `from_str_radix` alone would read 16 and + // expire an event the capture retains. + for value in ["0x+10", "0o+10", "0b+101", "0x-10"] { + assert_eq!( + get_event_expiration(&event_with(vec![vec!["expiration", value]])), + None, + "{value}" + ); + } + } + + #[test] + fn expiration_strips_a_byte_order_mark_like_javascript_trim() { + assert_eq!( + get_event_expiration(&event_with(vec![vec!["expiration", "\u{feff}160000000"]])), + Some(160_000_000) + ); + } } From 74293813e1de0e822bf2ec8655271add03753536 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 08:03:00 -0400 Subject: [PATCH 20/22] docs: correct the settings-filter record and give each divergence its trigger --- .../0002-core-crypto-and-negentropy.md | 48 ++++++++++++++----- 1 file changed, 37 insertions(+), 11 deletions(-) diff --git a/docs/rewrite/decisions/0002-core-crypto-and-negentropy.md b/docs/rewrite/decisions/0002-core-crypto-and-negentropy.md index f1519c65..1504d6a4 100644 --- a/docs/rewrite/decisions/0002-core-crypto-and-negentropy.md +++ b/docs/rewrite/decisions/0002-core-crypto-and-negentropy.md @@ -60,12 +60,27 @@ the only shape that keeps both contracts. `mirroring.static[].filters` is the same capture type (`SubscriptionFilter`) but a different consumer, and it does **not** narrow with the wire type: `crates/nostream-config`'s -`SettingsFilter` keeps `kinds: Option>` and crosses to `Filter` through -`into_filter()` at use, dropping a range element because the capture's matcher compared -kinds with `Array.includes` on numbers, so a range never matched there either. The capture -never validates a mirror filter, so a document with `kinds: [[10000, 19999]]` must keep -loading; `crates/nostream-config/tests/mirror_filters.rs` pins the load, the round-trip and -the crossing. +`SettingsFilter` keeps `kinds: Option>`. + +The declared type is numbers-only (`src/@types/subscription.ts:8`, `kinds?: (EventKinds | +number)[]`); `EventKindsRange` belongs to the rate-limit criteria, not to a subscription +filter. The ground for the wider settings type is the loader, not the type: the capture never +validates a mirror filter — `validateShape` returns when a sequence's schema is empty +(`src/utils/settings-config.ts:202-204`) and the defaults carry `mirroring.static: []` — so +`kinds: [[10000, 19999]]` is an unvalidated runtime value that loads there and must load +here. The two paths are distinct: + +- **local matching** uses `into_matcher_filter()`, which drops a range element because the + capture's matcher compared kinds with `Array.includes` on numbers, so a range never matched + there either; +- **the outbound REQ** serialises `SettingsFilter` itself, as the capture does: the mirror + worker forwards each filter verbatim with only `since` injected + (`src/app/static-mirroring-worker.ts:72-77`) and `createSubscriptionMessage` sends it + unvalidated (`src/utils/messages.ts:53-58`), so the range reaches the peer. Serialising + `Filter` there would send `kinds: []`, which the capture never sends. + +`crates/nostream-config/tests/mirror_filters.rs` pins the load, the round-trip and the +matching crossing. Signing sets the author: `sign_event` writes `pubkey` from the key before hashing the id, because the id is hashed over the pubkey and a returned event has to verify. The capture's @@ -111,8 +126,12 @@ Two messages are **not** the capture's, and they say so in their own words: `{"kinds":[1e20]}` and `{"limit":1e20}` (JavaScript numbers, no ceiling in `kindSchema` or `limit`); `Kind` is a `u64` and `Filter.limit` a `u64`, so those values are unrepresentable here. That is a representability divergence, not a validation rule, so imitating zod's -phrasing would be the fabrication this section forbids. The boundary cell of the two types is -`u64::MAX`: `1e19` and `9007199254740992` are accepted by both paths. +phrasing would be the fabrication this section forbids. The boundary is `2^64`, **exclusive**: +`u64::MAX as f64` is `2^64`, so the check is `>= 2^64` and the largest accepted `f64` is +`2^64 - 2048` (`18446744073709549568`). The exact JSON integer `18446744073709551615` also +crosses that line, because serde reads it as `2^64` — the same value JavaScript's `JSON.parse` +holds — so refusing it is consistent rather than incidental. `1e19` and `9007199254740992` are +accepted by both paths. Length bounds count **UTF-16 code units**, as zod's `.min()`/`.max()` do through `String.prototype.length`: `text.encode_utf16().count()`, not `chars().count()`. An astral @@ -180,9 +199,16 @@ envelope with the subscription id — `nostream-relay`'s Phase 2. `shared_secret_point`; D7's three call sites are in `crypto.rs`. - **If the acceptance gate finds a message contract** (an operator-facing string built from `validate_filter`), align it with the measured strings here before changing them. -- **If the settings editor or a wire parser ever hands `Filter` a kind range or an integer - above `u64::MAX`**, decide there: the two refusals are representability, and a surface - that can hold the JavaScript value may want to keep it instead. +- **If the mirror worker's outbound REQ path is built** and it needs the range element the + capture forwards, serialise `SettingsFilter` there rather than `Filter`. `into_matcher_filter` + has already dropped it, so that path must not route through it; this is the one place the + dropped range would be observable. +- **If a signing path must preserve a caller-supplied author** — NIP-26 delegation, or a relay + signing for another author — add a second function. `sign_event` overwrites `pubkey` by + design, and weakening it would restore the silently invalid event round 2 removed. +- **If a surface treats Rust issue counts as normative**, revisit the `Unknown key` superset + above: `validate_filter` can report one issue more than zod on a document that is invalid + either way, so a count-for-count comparison of that surface is not the right oracle. - **If NIP-40 retention is ever measured against the capture** on non-decimal `expiration` tag values, `expiration::js_number` is the seam that already covers `0x`/`0o`/`0b`, trimmed and exponential forms; extend it there rather than in the tag walk. From 9e3e171605c563a57d3d95d6d8ef2de9a9272e2b Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 08:10:23 -0400 Subject: [PATCH 21/22] fix(core): carry a u64::MAX kind or limit exactly --- crates/nostream-core/src/filter.rs | 42 +++++++++++-------- .../tests/filter_schema_parity.rs | 35 +++++++++++++--- 2 files changed, 54 insertions(+), 23 deletions(-) diff --git a/crates/nostream-core/src/filter.rs b/crates/nostream-core/src/filter.rs index 01387a24..1b09e785 100644 --- a/crates/nostream-core/src/filter.rs +++ b/crates/nostream-core/src/filter.rs @@ -217,10 +217,11 @@ impl fmt::Display for FilterIssue { /// The raw document is the input because the schema reports type errors ("Expected array, /// received null") against a path, which a serde deserialisation deeper in a frame parser /// cannot phrase. Every message is the one the capture's zod 3 schema emits, verbatim, with -/// two exceptions that are representability, not validation: a `kinds` element or a `limit` -/// above `u64::MAX` is accepted by the capture (JavaScript numbers) and cannot be held here, -/// so those two messages say so in their own words (`kind value does not fit in 64 bits`, -/// `limit does not fit in 64 bits`). Recorded in ADR 0002. +/// two exceptions that are representability, not validation: the capture accepts a `kinds` +/// element or a `limit` that no `u64` can hold, and those two messages say so in their own +/// words (`kind value does not fit in 64 bits`, `limit does not fit in 64 bits`). A JSON +/// integer up to `u64::MAX` is carried exactly; the refused cell is an integer above +/// `u64::MAX` or a float at or above `2^64`. Recorded in ADR 0002. pub fn validate_filter(value: &Value) -> Result> { let Some(object) = value.as_object() else { return Err(vec![FilterIssue { @@ -429,13 +430,16 @@ fn validate_kinds(path: &str, value: &Value, issues: &mut Vec) -> O continue; } - // Representability, not a zod rule: the capture holds kinds as JavaScript numbers - // and accepts any non-negative integer, while `Kind` is a `u64`. Refusing rather than - // saturating is a recorded divergence (ADR 0002), so the message says what it is. - if number >= U64_RANGE_END { - issue(&element, "kind value does not fit in 64 bits", issues); - } else { - kinds.push(Kind(number as u64)); + // Representability, not a zod rule: the capture holds kinds as JavaScript numbers. + // A JSON integer that fits `u64` is carried exactly — `as_f64` would round + // `u64::MAX` up to `2^64` and refuse a value this can hold — and only a value no + // `u64` can hold is refused rather than saturated (ADR 0002). + match item.as_u64() { + Some(kind) => kinds.push(Kind(kind)), + None if number >= U64_RANGE_END => { + issue(&element, "kind value does not fit in 64 bits", issues); + } + None => kinds.push(Kind(number as u64)), } } @@ -495,14 +499,16 @@ fn validate_limit(path: &str, value: &Value, issues: &mut Vec) -> O return None; } - // See `validate_kinds`: `limit` is a `u64` here, while the capture accepts any - // non-negative integer. A recorded divergence, worded as such. - if number >= U64_RANGE_END { - issue(path, "limit does not fit in 64 bits", issues); - return None; + // See `validate_kinds`: a JSON integer that fits `u64` is carried exactly, and only a + // value no `u64` can hold is refused rather than saturated. + match value.as_u64() { + Some(limit) => Some(limit), + None if number >= U64_RANGE_END => { + issue(path, "limit does not fit in 64 bits", issues); + None + } + None => Some(number as u64), } - - Some(number as u64) } /// `z.string().min(1).max(1024)` for the NIP-50 query. diff --git a/crates/nostream-core/tests/filter_schema_parity.rs b/crates/nostream-core/tests/filter_schema_parity.rs index 335b63a7..66af5b06 100644 --- a/crates/nostream-core/tests/filter_schema_parity.rs +++ b/crates/nostream-core/tests/filter_schema_parity.rs @@ -13,6 +13,7 @@ #![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)] +use nostream_core::Kind; use nostream_core::filter::{Filter, validate_filter}; use serde_json::{Value, json}; @@ -518,19 +519,34 @@ fn kinds_beyond_u64_are_refused_as_a_representability_divergence() { issue_lines(&json!({"kinds": [1e20]})), vec!["kinds[0]: kind value does not fit in 64 bits"] ); - // The boundary in both directions: `2^64` is the first unrepresentable value, and the - // largest `f64` below it (`2^64 - 2048`) is representable. `u64::MAX` itself is not a - // usable cell here because serde reads that JSON integer as `2^64`, as JavaScript does. assert_eq!( issue_lines(&json!({"kinds": [1.8446744073709552e19]})), vec!["kinds[0]: kind value does not fit in 64 bits"] ); + // An integer literal above `u64::MAX` is a float to serde, and is refused the same way. + assert_eq!( + issue_lines(&serde_json::from_str(r#"{"kinds":[18446744073709551616]}"#).unwrap()), + vec!["kinds[0]: kind value does not fit in 64 bits"] + ); +} + +#[test] +fn kinds_at_the_u64_boundary_are_carried_exactly() { + // The exact integer `u64::MAX` is representable and the capture accepts it; reading it + // through `as_f64` would round it up to `2^64` and refuse a value `Kind` can hold. + let filter = validate_filter(&json!({"kinds": [u64::MAX]})).unwrap(); + + assert_eq!(filter.kinds, Some(vec![Kind(u64::MAX)])); + + // The largest `f64` below `2^64` and a plain large float are accepted too. assert!(issue_lines(&json!({"kinds": [18_446_744_073_709_549_568_u64]})).is_empty()); assert!(issue_lines(&json!({"kinds": [1e19]})).is_empty()); } #[test] -fn limit_beyond_u64_is_refused_as_a_representability_divergence() { +fn limit_at_and_above_the_u64_boundary() { + let filter = validate_filter(&json!({"limit": u64::MAX})).unwrap(); + assert_eq!(filter.limit, Some(u64::MAX)); assert_eq!( issue_lines(&json!({"limit": 1e20})), vec!["limit: limit does not fit in 64 bits"] @@ -539,6 +555,15 @@ fn limit_beyond_u64_is_refused_as_a_representability_divergence() { issue_lines(&json!({"limit": 1.8446744073709552e19})), vec!["limit: limit does not fit in 64 bits"] ); - assert!(issue_lines(&json!({"limit": 18_446_744_073_709_549_568_u64})).is_empty()); + assert_eq!( + issue_lines(&serde_json::from_str(r#"{"limit":18446744073709551616}"#).unwrap()), + vec!["limit: limit does not fit in 64 bits"] + ); + assert_eq!( + validate_filter(&json!({"limit": 18_446_744_073_709_549_568_u64})) + .unwrap() + .limit, + Some(18_446_744_073_709_549_568) + ); assert!(issue_lines(&json!({"limit": 1e19})).is_empty()); } From 104dd618bbcb5f181ec021210f1c7708aafc3082 Mon Sep 17 00:00:00 2001 From: chappie-daemon Date: Mon, 19 Oct 2026 08:10:23 -0400 Subject: [PATCH 22/22] docs: give the representability divergence its real reversal condition --- crates/nostream-config/src/settings.rs | 5 ++-- .../0002-core-crypto-and-negentropy.md | 28 ++++++++++++------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/crates/nostream-config/src/settings.rs b/crates/nostream-config/src/settings.rs index ceeadc78..d76a7290 100644 --- a/crates/nostream-config/src/settings.rs +++ b/crates/nostream-config/src/settings.rs @@ -515,8 +515,9 @@ pub struct PaymentsProcessors { /// typed there as `SubscriptionFilter`). /// /// The declared type is numbers-only — `kinds?: (EventKinds | number)[]` -/// (`src/@types/subscription.ts:8`); `EventKindsRange` belongs to the *rate-limit* criteria, -/// not to a subscription filter. What keeps `KindSelector` here is that the capture never +/// (`src/@types/subscription.ts:8`); `EventKindsRange` types the *settings* criteria instead +/// (limit and NIP-42 among them, `src/@types/settings.ts:46,49,83,429`). What keeps +/// `KindSelector` here is that the capture never /// validates a mirror filter: `validateShape` returns when the schema for a sequence is empty /// (`src/utils/settings-config.ts:202-204`) and the shipped defaults carry /// `mirroring.static: []` (`resources/default-settings.yaml:168-169`), so a document such as diff --git a/docs/rewrite/decisions/0002-core-crypto-and-negentropy.md b/docs/rewrite/decisions/0002-core-crypto-and-negentropy.md index 1504d6a4..5c825ea4 100644 --- a/docs/rewrite/decisions/0002-core-crypto-and-negentropy.md +++ b/docs/rewrite/decisions/0002-core-crypto-and-negentropy.md @@ -63,9 +63,10 @@ consumer, and it does **not** narrow with the wire type: `crates/nostream-config `SettingsFilter` keeps `kinds: Option>`. The declared type is numbers-only (`src/@types/subscription.ts:8`, `kinds?: (EventKinds | -number)[]`); `EventKindsRange` belongs to the rate-limit criteria, not to a subscription -filter. The ground for the wider settings type is the loader, not the type: the capture never -validates a mirror filter — `validateShape` returns when a sequence's schema is empty +number)[]`); `EventKindsRange` types the settings criteria instead (limit and NIP-42 among +them, `src/@types/settings.ts:46,49,83,429`), not a subscription filter. The ground for the +wider settings type is the loader, not the type: the capture never validates a mirror filter +— `validateShape` returns when a sequence's schema is empty (`src/utils/settings-config.ts:202-204`) and the defaults carry `mirroring.static: []` — so `kinds: [[10000, 19999]]` is an unvalidated runtime value that loads there and must load here. The two paths are distinct: @@ -126,12 +127,13 @@ Two messages are **not** the capture's, and they say so in their own words: `{"kinds":[1e20]}` and `{"limit":1e20}` (JavaScript numbers, no ceiling in `kindSchema` or `limit`); `Kind` is a `u64` and `Filter.limit` a `u64`, so those values are unrepresentable here. That is a representability divergence, not a validation rule, so imitating zod's -phrasing would be the fabrication this section forbids. The boundary is `2^64`, **exclusive**: -`u64::MAX as f64` is `2^64`, so the check is `>= 2^64` and the largest accepted `f64` is -`2^64 - 2048` (`18446744073709549568`). The exact JSON integer `18446744073709551615` also -crosses that line, because serde reads it as `2^64` — the same value JavaScript's `JSON.parse` -holds — so refusing it is consistent rather than incidental. `1e19` and `9007199254740992` are -accepted by both paths. +phrasing would be the fabrication this section forbids. + +The refused cell is narrow: an integer **above** `u64::MAX`, or a float **at or above** +`2^64`. A JSON integer up to `u64::MAX` is carried exactly — `u64::MAX` itself included, +which the capture accepts and which `as_f64` would round up to `2^64` and refuse — and the +largest accepted `f64` is `2^64 - 2048` (`18446744073709549568`). `1e19` and +`9007199254740992` are accepted by both paths. Length bounds count **UTF-16 code units**, as zod's `.min()`/`.max()` do through `String.prototype.length`: `text.encode_utf16().count()`, not `chars().count()`. An astral @@ -185,7 +187,7 @@ envelope with the subscription id — `nostream-relay`'s Phase 2. recorded rather than papered over. - Two crates changed shape: `nostream-config`'s settings and `nostream-storage`'s retention options now hold `SettingsPubkey`; `mirroring.static[].filters` holds - `SettingsFilter` so the settings edge keeps the capture's kind-range acceptance. Nothing + `SettingsFilter` so the settings **loader** keeps the capture's kind-range acceptance. Nothing else moved, and no consumer outside those two crates names a filter differently. ## Revisit triggers @@ -203,6 +205,12 @@ envelope with the subscription id — `nostream-relay`'s Phase 2. capture forwards, serialise `SettingsFilter` there rather than `Filter`. `into_matcher_filter` has already dropped it, so that path must not route through it; this is the one place the dropped range would be observable. +- **If a surface must carry a JavaScript number a `u64` cannot hold** — a settings editor, or + a path that re-serialises a filter the capture accepts — revisit + `validate_kinds`/`validate_limit` (`filter.rs`): the capture holds that value, the Rust + types hold everything up to `u64::MAX`, and only the cell at or above `2^64` (a float, or + an integer literal past `u64::MAX`) is refused. A surface that can hold the higher value may + keep it instead of refusing. - **If a signing path must preserve a caller-supplied author** — NIP-26 delegation, or a relay signing for another author — add a second function. `sign_event` overwrites `pubkey` by design, and weakening it would restore the silently invalid event round 2 removed.