damus

nostr ios client
git clone git://jb55.com/damus
Log | Files | Refs | README | LICENSE

README.md (6693B)


      1 [![Run Test Suite](https://github.com/damus-io/damus/actions/workflows/run-tests.yaml/badge.svg?branch=master)](https://github.com/damus-io/damus/actions/workflows/run-tests.yaml)
      2 
      3 # damus
      4 
      5 A twitter-like [nostr][nostr] client for iPhone, iPad and MacOS.
      6 
      7 <img src="./ss.png" width="50%" height="50%" />
      8 
      9 [nostr]: https://github.com/fiatjaf/nostr
     10 
     11 ## Spec Compliance
     12 
     13 damus implements the following [Nostr Implementation Possibilities][nips]
     14 
     15 - [NIP-01: Basic protocol flow][nip01]
     16 - [NIP-08: Mentions][nip08]
     17 - [NIP-10: Reply conventions][nip10]
     18 - [NIP-12: Generic tag queries (hashtags)][nip12]
     19 
     20 [nips]: https://github.com/nostr-protocol/nips
     21 [nip01]: https://github.com/nostr-protocol/nips/blob/master/01.md
     22 [nip08]: https://github.com/nostr-protocol/nips/blob/master/08.md
     23 [nip10]: https://github.com/nostr-protocol/nips/blob/master/10.md
     24 [nip12]: https://github.com/nostr-protocol/nips/blob/master/12.md
     25 
     26 ## Getting Started on Damus 
     27 
     28 ### Damus iOS
     29 1) Get the Damus app on the iOS App Store: https://apps.apple.com/ca/app/damus/id1628663131
     30 
     31 #### βš™οΈ Settings (gear icon, top right)
     32 - Relays: You can add more relays to send your notes to by tapping the "+". 
     33   - Find more relays to add: https://nostr.info/relays/ 
     34 - Public Key (pubkey): Your public, personal address and how people can find and tag you
     35  - Secret Key: Your *private* key unique to you. Never share your private key publically and share with other clients at your own risk!
     36    - Save your keys somewhere safe
     37  - Log out
     38 
     39 #### 🏠 Personal Feed (home icon, bottom navigation)
     40 - Feed from everyone you follow
     41 - Can post notes by tapping the blue + button
     42 
     43 #### Notes (under 🏠 Personal Feed)
     44 - Sending a Note is easy and it goes to both your 🏠 Personal and πŸ” Global Feeds 
     45 - To tag a user you must grab their pubkey:
     46   1. Search their username in the search bar at the top of the πŸ” Global Feed and click their profile
     47   2. Tap the πŸ”‘ icon which will copy their pubkey to your clipboard
     48   3. Go back to your 🏠 Personal Feed and tap the blue + button to compose your Note
     49   4. Add @ direcly followed by the pubkey (e.g., `@npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s`)
     50 - You can also long-press a Note to grab their User ID aka pubkey or Note ID to link directly to a Note.
     51 - Currently you can't delete your Notes in the iOS app
     52 - Share images by pasting the image url which you can grab from imgbb, imgur, etc. (i.e., `https://i.ibb.co/2SHZbwm/alpha60.jpg`). Currently images only load for people you follow in the 🏠 Personal Feed. Images are not automatically loaded in πŸ” Global Feed
     53 - Engaging with Notes
     54   - πŸ’¬ Replying to a Note: Tap the chat icon underneath the note. This will show up in the users’ notifications and in your 🏠 Personal and πŸ” Global Feeds
     55   - β™Ί Reposts: Tap the repost icon which will show up in your 🏠 Personal and πŸ” Global Feeds
     56   - β™‘ Likes: Tap the heart icon. Users will not get a notification, and cannot see who liked their note (currently, web clients can see your pfp only)
     57 - Formatting Notes (may not format as intended in other web clients)
     58   - Italics: 1 asterisk `*italic*`
     59   - Bold: 2 asterisk `**bold**`
     60   - Strikethrough: 1 tildes `~strikethrough~`
     61   - Code: 1 back-tick `` `code` ``
     62 
     63 #### πŸ’¬ Encrypted DMs (chat app, bottom navigation)
     64 - Tap the chat icon and you'll notice there's nothing to see at first. Go to a user profile and tap the πŸ’¬ chat icon next to the follow button to begin a DM
     65 
     66 #### πŸ” Global Feed (magnify glass, bottom navigation)
     67 - View the Global Feed from all the relays you've added in βš™οΈ Settings. Currently you can only search hashtags and user names and pubkeys
     68 
     69 #### πŸ”” Notifications
     70 - All your notifications except πŸ’¬ DMs
     71 
     72 #### πŸ‘€ Change Your Profile (PFP) and Bio
     73 1. Go to your Profile Page on Damus app
     74 2. Tap on Edit button at the top
     75 3. You will see text fields to update your information and bio
     76 4. For PFP, insert a URL containing your image (support video: https://cdn.jb55.com/vid/pfp-editor.mp4)
     77 5. Save
     78 
     79 #### ⚑️ Request Sats 
     80     (Sats or Satoshis are the smallest denomination of bitcoin)
     81 	
     82 **Alby (browser extension)**
     83 - Get the [Alby](https://getalby.com/) browser extension and create your Alby address [yourname]@getalby.com or connect your existing Lightning wallet
     84 - Convert your Damus secret key from nsec to hex at https://damus.io/key then go to Settings in Alby and under the Nostr section at the bottom of the page add your private hex key. You can also generate new address in the extension
     85 - Click the Alby extension > click Receive > enter the amount of Sats > click Get Invoice > click Copy > then paste into Damus
     86 - Note: On Damus Web it will appear as a string of characters but on Damus iOS it will appear as a clickable image
     87 
     88 **Zeus (mobile app)**
     89 - Download [Zeus](https://zeusln.app/) app (iOS, Google, APK)
     90 - Tap Get Started button > tap Connect a node > click on + sign (top right) > select Indhub > press Scan Lndhub QR > (from the Alby browser extension… click your account on the top left > click Manage Accounts > click 3-dot menu to right of your account and click Export Account to get a QR code then go back to Zeus app) > scan the QR Code and tap Save Node Config button
     91 - To create an invoice tap Lightning > tap Receive > type in amount > tap Create Invoice > tap Copy Invoice > paste into a new Damus note
     92 
     93 ## Contributing
     94 
     95 Contributors welcome! Start by examining known issues: https://github.com/damus-io/damus/issues.
     96 
     97 ### Code
     98 
     99 [Email patches][git-send-email] to jb55@jb55.com are preferred, but I accept PRs on GitHub as well.
    100 
    101 [git-send-email]: http://git-send-email.io
    102 
    103 ### Privacy
    104 Your internet protocol (IP) address is exposed to the relays you connect to, and third party media hosters (e.g. nostr.build, imgur.com, giphy.com, youtube.com etc.) that render on Damus. If you want to improve your privacy, consider utilizing a service that masks your IP address (e.g. a VPN) from trackers online.
    105 
    106 The relay also learns which public keys you are requesting, meaning your public key will be tied to your IP address.
    107 
    108 ### Translations
    109 
    110 Translators welcome! Join the [Transifex][transifex] project.
    111 
    112 All user-facing strings must have a comment in order to provide context to translators. If a SwiftUI component has a `comment` parameter, use that. Otherwise, wrap your string with `NSLocalizedString` with the `comment` field populated.
    113 
    114 [transifex]: https://explore.transifex.com/damus/damus-ios/
    115 
    116 ### Awards
    117 
    118 There may be nostr badges awarded for contributors in the future... :)
    119 
    120 First contributors:
    121 
    122 1. @randymcmillan
    123 2. @jcarucci27
    124 
    125 ### git log bot
    126 
    127 npub1fjtdwclt9lspjy8huu3qklr7eklp5uq90u6yh8mec290pqxraccqlufnas