โš—๏ธ nobel

nobel is a family of small nostr libraries for plain HTML, each a lightweight take on something bigger and each named for an element. Every library is one dependency-free script under 5kb, and they work together through DOM events, the way the fixi project libraries do.

librarysize (raw/br)miniature ofprovides
base (period 1, the base: relays and keys)
๐Ÿ’ง hydrogen2.8/1.2kba relay poolrelays, signing and the family's hooks
๐Ÿ”‘ helium3.8/1.6kb@noble/secp256k1keys, Schnorr signing and verification
alkali metal (things that charge and flow)
๐Ÿ”‹ lithium5.0/2.0kbNegentropyNIP-77 sync between argon and relays
noble gas (the core: data and transport)
๐Ÿ”— neon3.9/1.8kbnip19npub/nevent/naddr, linked content, times
๐Ÿ“ฆ argon2.5/1.0kba relayIndexedDB cache, offline-first feeds
๐Ÿ›ฐ๏ธ xenon3.1/1.2kba nostr clientsubscribe, render and publish in HTML
๐Ÿชช radon3.1/1.3kba profile loadernames, pictures, NIP-05
๐Ÿ‘ป oganesson4.8/1.9kba chat app's live layerpresence, typing, cursors
halogen (secrets and trust)
๐Ÿงช fluorine3.4/1.4kbNIP-44encryption for helium's keys
๐Ÿ”Œ chlorine4.6/1.8kba NIP-46 clientremote signing behind a NIP-07 face
โœ‰๏ธ iodine3.9/1.6kban encrypted messengerNIP-17 private messages
transition metal (signed exchanges)
๐Ÿฅ‡ gold2.2/1.0kba NIP-42 clientrelay AUTH for members-only relays
โ˜ฟ๏ธ mercury3.5/1.5kbrexi.jsNIP-98 and Blossom signed HTTP
lanthanide (visual presets)
๐ŸŽจ cerium2.8/0.9kba themethe one stylesheet for the lanthanides
๐Ÿชž praseodymium3.2/1.3kbnostr-name and nostr-pictureprofile cards, chips, avatars, copy
๐Ÿ”ด europium2.7/1.1kbnostr-notenote embeds

Installing

Plain <script> tags work in any order. Tick what you need above (what it needs is added) for one file from jsDelivr, in an order that also works with async:


Or download the files from the table, or take all of them in one file: nobel.js, nobel.min.js (40.8kb, 15.1kb brotli).

Demos

Add ?relay=wss://... to each: ๐Ÿ“ฐ feed, โœ‰๏ธ private messages, ๐Ÿ‘ป presence, typing, cursors, ๐Ÿชž profiles, ๐Ÿ”ด note embeds.

License

Public domain: the Unlicense.

๐Ÿ’ง hydrogen →