- NIP-01 (Basic protocol flow description)
- NIP-02 (Follow List)
- NIP-03 (OpenTimestamps Attestations for Events)
- NIP-04 Encrypted Direct Message --- unrecommended: deprecated in favor of NIP-44)
- NIP-05 (Mapping Nostr keys to DNS-based internet identifiers)
- NIP-06 (Basic key derivation from mnemonic seed phrase)
- NIP-07 (
window.nostr
capability for web browsers) - NIP-08 Handling Mentions --- unrecommended: deprecated in favor of NIP-27)
- NIP-09 (Event Deletion)
- NIP-10 (Conventions for clients' use of
e
andp
tags in text events) - NIP-11 (Relay Information Document)
- NIP-13 (Proof of Work)
- NIP-14 (Subject tag in text events)
- NIP-15 (Nostr Marketplace (for resilient marketplaces))
- NIP-18 (Reposts)
- NIP-19 (bech32-encoded entities)
- NIP-21 (
nostr:
URI scheme) - NIP-23 (Long-form Content)
- NIP-24 (Extra metadata fields and tags)
- NIP-25 (Reactions)
- NIP-26 (Delegated Event Signing)
- NIP-27 (Text Note References)
- NIP-28 (Public Chat)
- NIP-29 (Relay-based Groups)
- NIP-30 (Custom Emoji)
- NIP-31 (Dealing with Unknown Events)
- NIP-32 (Labeling)
- NIP-34 (
git
stuff) - NIP-35 (Torrents)
- NIP-36 (Sensitive Content)
- NIP-38 (User Statuses)
- NIP-39 (External Identities in Profiles)
- NIP-40 (Expiration Timestamp)
- NIP-42 (Authentication of clients to relays)
- NIP-44 (Versioned Encryption)
- NIP-45 (Counting results)
- NIP-46 (Nostr Connect)
- NIP-47 (Wallet Connect)
- NIP-48 (Proxy Tags)
- NIP-49 (Private Key Encryption)
- NIP-50 (Search Capability)
- NIP-51 (Lists)
- NIP-52 (Calendar Events)
- NIP-53 (Live Activities)
- NIP-55 (Android Signer Application)
- NIP-56 (Reporting)
- NIP-57 (Lightning Zaps)
- NIP-58 (Badges)
- NIP-59 (Gift Wrap)
- NIP-65 (Relay List Metadata)
- NIP-69 (Zap Polls)
- NIP-71 (Video Events)
- NIP-72 (Moderated Communities)
- NIP-75 (Zap Goals)
- NIP-78 (Application-specific data)
- NIP-84 (Highlights)
- NIP-89 (Recommended Application Handlers)
- NIP-90 (Data Vending Machines)
- NIP-92 (Media Attachments)
- NIP-94 (File Metadata)
- NIP-95 (Shared File)
- NIP-96 (HTTP File Storage Integration)
- NIP-98 (HTTP Auth)
- NIP-99 (Classified Listings)
Since version 2.9.1, Nostrmo begin a multi module project, after you clone this project, please run git module scrpit to init the module git repos.
git submodule init
git submodule update
-- build for appbundle
flutter build appbundle --release
-- build for apk
flutter build apk --release --split-per-abi
build by XCode
flutter build windows --release
flutter build web --release --web-renderer canvaskit
Linux depend on libsqlite
, libmpv
, libnotify
and appindicator3
, you can try to run this script to install before it run:
sudo apt-get -y install libsqlite3-0 libsqlite3-dev libmpv-dev mpv libnotify-dev libayatana-appindicator3-dev
flutter build linux --release
We use flutter_distributor
to build linux package, so you should install flutter_distributor
and add some other config.
Install flutter_distributor
to your system:
dart pub global activate flutter_distributor
Install some compile tools:
sudo apt-get install clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev
rpm package requirements:
Debian/Ubuntu:
apt install rpm patchelf
Fedora:
dnf install gcc rpm-build rpm-devel rpmlint make python bash coreutils diffutils patch rpmdevtools patchelf
Arch:
yay -S rpmdevtools patchelf or pamac install rpmdevtools patchelf
appimage package requirements:
install flutter_distriutor
dart pub global activate flutter_distributor
install and update filedbs:
sudo apt install locate
sudo updatedb
install Appimage Builder:
wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
chmod +x appimagetool
sudo mv appimagetool /usr/local/bin/
If your config all the steps, you can run these script to package the packages:
flutter_distributor release --name=dev --jobs=release-dev-linux-deb
flutter_distributor release --name=dev --jobs=release-dev-linux-rpm
flutter_distributor release --name=dev --jobs=release-dev-linux-appimage
You can find more info from this FAQ