#
Hostr
Rental accommodation using purely peer‑to‑peer technologies such as Nostr.
Read docs in full here.
This repo contains
.
├── app # Client app deployed to store
├── hostr_sdk # Code to interact with relays and hostr-specific models
├── escrow # Server side daemon to arbitrate txns
├── models # Custom Nostr Event types and their validations
├── infrastructure # Infrastructure-as-as code required to run the project
└── README.md
#
NIPs utilized
- NIP-01: Basic protocol for event creation and subscription.
- NIP-04: Encrypted direct messages for secure communication between hosts and guests. (Deprecated)
- NIP-17: Private Direct Messages
- NIP-05: Mapping Nostr keys to DNS-based internet identifiers.
- NIP-09: Event deletion for removing listings or messages.
- NIP-33: Parameterized replaceable events for creating and updating listings and bookings.
#
Clone
git clone --recursive git@github.com:sudonym-btc/hostr.git
Quickstart: see the client app guide at app/README.md for run targets by environment.
#
TODO
#
App
P1
- Background worker: https://docs.page/fluttercommunity/flutter_workmanager/quickstart
- Must show notifications for items not already in thread messaege sync hydrated cubit
- Sync calendar optional
- Startup loading page
- Sync giftwraps
- Broadcast preferred user blossom servers if not found
- Broadcast preferred user relays if not found
- Broadcast preferred user escrows if not found
- Deeplinks
- Allow opening of listings/reviews via deeplinks
- Payments
- Claim payment
- Refund payment
- Swap in should broadcast claim as soon as lockup in mempool
- Host autowithdraw should leave sats for claim/refund transactions
- Host views
- List of upcoming reservations
- Blossom files
- Caching of blossom servers between Image components
- Payment status
- Check if can NWC allows fetching invoice with description
- Combine rootstock status check and NWC status check into one PaymentStatus
- Mock NWC should record "paid" invoices and respond to list invoice request appropriately
- Mock lightning payments should 'resolve' accurate invoices and amounts
- NIP 05 verification
- Language file
- Tests
#
Escrow
- Update escrow advertisement on launch
- Listen for cancelled events and arbitrate accordingly