MBP(はてな)

MacBook Pro,iPhone Xs,React

Damusをビルドして実機で起動

GitHubからプロジェクト一式をダウンロードしてiOSアプリを自分でビルドして使ってみた - ネタフル

GitHub - damus-io/damus: iOS nostr client

AppleDeveloperProgramへの登録(年額99ドル)をせずに試す場合、「プッシュ通知」と「ドメインの設定」を削除
2023/11/21のAdd experimental push notification supportで、エラーになるので、ContentViewに追加されたappDelegateを削除、TARGETSのDamusNotificationServiceも削除すると起動できた。1.7 (2)ではエラーで、nsecを入れた後先に進めない
$ git checkout ad75d8546c40ebabf0a23f3a745aaae66e1063fa
Add experimental push notification support · damus-io/damus@ad75d85 · GitHub


b58baca227596f72a734fdce1346350e5dffea76
Bookmarks Refactor · damus-io/damus@b58baca · GitHub
$ git checkout b58baca227596f72a734fdce1346350e5dffea76
2023/3/4
$ cd github/damus




Version1.6 (29) 1fcbba50 (App Storeに公開された f976f238)
parser: fix url parse regression · damus-io/damus@1fcbba5 · GitHub
$ git checkout 1fcbba5041553a388ca9f1cc89599b7a043101dd
2023/11/18
$ cd work/damus-1.6-29

Version1.6 (25) cc385d3c (表示名の日本語が表示された)
nostrdb: add migration to fix local japanese profile names · damus-io/damus@cc385d3 · GitHub
$ git checkout cc385d3c3ff51ae68c3cd91772cc7129858c0b81
2023/11/2
$ cd work/damus-1.6-25

Version1.6 (18) (表示名の日本語が表示されなくなった)
nameだけ表示するように変更
Nostrのreturn displayNameをreturn " "に変更。nameも全角の時はなにも表示されない
return .one(one)で検索
nostrdb: add profiles to nostrdb · damus-io/damus@bb4fd75 · GitHub このcommitで表示されなくなった。
v1.6 (18) changelog · damus-io/damus@01c6e3e · GitHub
$ git checkout 01c6e3e9ab9e05a2211e87461ced46c3bb686f60
2023/9/23
$ cd work/damus-1.6-18

Version1.6 (17) Add Set Status
v1.6 (17) changelog · damus-io/damus@7255481 · GitHub
Commits · damus-io/damus · GitHub
$ git checkout 725548170567a9911fb6cc8059994e633806d2d5
$ cd work/damus-1.6-17
2023/8/24

Version1.5 (3) (Version 1.4.3 (2)よりも、起動してアイコンが表示されるまでが早い)
v1.5 (3) · damus-io/damus@809a08e · GitHub
$ git checkout 809a08ef637b51a1008a268f69aa17859c9e1193
$ cd work/damus-1.5-3

Version 1.4.3 (2)
Don't nest embedded notes · damus-io/damus@2ff1282 · GitHub
$ git checkout 2ff12823f2b9a80645fd2090689928c5d027cb92
$ cd work/damus-1.4.3-2

Version 1.4.1 (2)
changelog: include improved square image display entry · damus-io/damus@e3f578e · GitHub
$ git checkout e3f578e48a99cd0529d7b8115c9517aaf767f0db
$ cd work/damus-1.4.1-2

Version 1.4.0 (App Storeにあるのも Version 1.4.0)
$ git checkout 9fef2f071abada100f095c3453a8f189b3520365
v1.4.0 · damus-io/damus@9fef2f0 · GitHub
2023/3/28
$ cd work/damus-1.4.0
Join the Damus beta - TestFlight - Apple

戻った時にずれないように(自動更新しないように)下記を、switch kindの上に追加(command + shift + f で検索)
if(ev.created_at > statTime) {
return
}

var should_debounce_dms = trueで検索
var should_debounce_dms = true
var statTime: Int = Int(Date().timeIntervalSince1970)


likesボタンを非表示にするには、
show_likeで検索して、(command + shift + f で検索)
return trueをreturn falseに変更



Homeに追加された時
func insert_home_event

Textが来た時
case .text:
handle_text_event(sub_id: sub_id, ev)

Homeに戻ってきたとき、
unsubscribing from thread

Textが来た時
func should_show_event(contacts: Contacts, ev: NostrEvent) -> Bool {
//return false //何も出ない

return last_event.created_at - 60 * 10



v0.1.3
8f0aeadabfeb310f69e58ac2499ee8bc6a4ee935

v0.1.3 の1ページ前の一番上(2ページ前の一番上はエラー)
cd9bd1b8926c48df746cbde116c50ce1cb9a81bd
GitHub - damus-io/damus at cd9bd1b8926c48df746cbde116c50ce1cb9a81bd

API Reference — Nostr v0.1.3

Nostrの読み書き




Nostrプロトコル(damus)を触ってみた #SNS - Qiita

nostterなどで他の人のnpubでログインして、その人になりきってタイムラインを見れる
nostter - Home を開き、npubを入力して、Login with npub
Segmentさんのnpub
npub1yg6m89jp5t3w64e8n2nyd8vezt3gc8c05jylleht9v0x30zlx8fqqsydgh

ログインしなくても、指定したユーザーのPostsは見れる
Segmentさん
nostter - ghost



Nostr Feeds
ログインしなくても最新投稿が見れる
Nozokimado



ログインしなくても、日本語の最新投稿が見れる。検索ができる。
Nostr検索ポータル



Generate keys
$ curl https://nostr-api.vercel.app/api/key/generate
GitHub - kawax/nostr-vercel-api
Snort, iris, Damus
Snortでログインして、別のユーザーのFollowing - Follow all
Damusでログインして、relayを同じに設定
NostrFluで自分をフォロー
NostrFlu - nostr




はじめてのNostr【はじめての方はこちら】 - nostr

会話形式。Nostr解説
stok - nostr

nostr

awesome-nostr-japanese - nostr

Damusで自動翻訳できた
iPhoneの設定の言語と地域で英語を削除
・Damus Ver 1.4.0
・Damusを起動して、左上のアイコンー設定で、翻訳サービスで、サービスはLibreTranslate、サーバーはtranslate.terraprint.co、AutomaticallyをON





Yuta-31/nostr-test
話題になりそうな Nostr 触ってみた
$ cd work
$ git clone https://github.com/Yuta-31/nostr-test
$ cd nostr-test
$ vi src/pages/Nostr/test.tsxして、npub1gdjc46gns2lw0harclpkpvf6tmyvygnrtu4j4tfaua0yhvsd4yrq38fkq3に変更。
$ vi src/pages/_app.tsxして、リレーを"wss://relay-jp.nostr.wirednet.jp",のみに変更("wss://nostr.h3z.jp",も追加してもいい)
$ yarn install
$ yarn dev
http://localhost:3000/Nostr/test を開き、1分くらい待つと(メッセージがPostされると)メッセージが表示される
since: nowになっているので、since: dateToUnix(now.current)-180,にすると、3分前からのPostから表示される。
use renderImageList use renderImageList. · hiroyuki12/nostr-web-client@35fe7c8 · GitHub
$ yarn add moment Add moment. · hiroyuki12/nostr-web-client@a27e100 · GitHub

Add avatar image Add image, authors. · hiroyuki12/nostr-web-client@f8ba71c · GitHub

Change background color black Add user image. change background black. · hiroyuki12/nostr-web-client@47aafdd · GitHub

Add index No Add index. · hiroyuki12/nostr-web-client@22bed49 · GitHub

Add Reply Add Reply. · hiroyuki12/nostr-web-client@044c5d4 · GitHub
==NIP-10 NIP-10 - nostr

custom emoji Add custom emoji igyo oyachemi. · hiroyuki12/nostr-web-client@4130fad · GitHub
==NIP-30 NIP-30 - nostr
==emoji nostr-render/src/components/NostrEvent.vue at main · imksoo/nostr-render · GitHub

Add repost Add repost, kind 6, NIP-18. · hiroyuki12/nostr-web-client@1209c3a · GitHub
==NIP-18 NIP-18 - nostr
==kind 6 イベントの種類 (kind) - nostr

テキスト投稿内における参照 NIP-27 nostr: NIP-27 - nostr
Add filter authors Add filter authors. · hiroyuki12/nostr-web-client@73065b8 · GitHub
==フォローしているユーザーによるタイムライン txt.murakmii.dev

Add multiple NostrEvents Commits · hiroyuki12/nostr-web-client · GitHub
==Example3 GitHub - sepehr-safari/nostr-hooks: React hooks for developing Nostr clients. It's simple yet intelligent.

Add reaction Add reaction kind 7 NIP-25. · hiroyuki12/nostr-web-client@03e3c4c · GitHub
==NIP-25 kind 7 NIP-25 - nostr

Add channel message Add channel message. · hiroyuki12/nostr-web-client@f35d145 · GitHub
==NIP-28 kind 42 NIP-28 - nostr

Add inline image Add inline image. · hiroyuki12/nostr-web-client@014f00b · GitHub
==split nostr-render/src/components/NostrEvent.vue at main · imksoo/nostr-render · GitHub

Filter following user post Add filter following. · hiroyuki12/nostr-web-client@906346a · GitHub

Add repost content Add repost content. Add tag filter. · hiroyuki12/nostr-web-client@a600ec6 · GitHub

Add content warning NIP-36 Add NIP-36 content-warning. When p tag skip npub. · hiroyuki12/nostr-web-client@e7b82cf · GitHub
==NIP-36 nips/36.md at master · nostr-protocol/nips · GitHub

NDKでNIP-07(YouTube) Building on Nostr: NDK Basics - YouTube

html-react-parser 【React】HTML文字列をHTMLに変換して表示する方法|Webエンジニア研究室

YouTube iframe Add youtube inline display · imksoo/nostr-global-viewer@41f9e17 · GitHub
はてなブログカードiframe 【はてなブログ】カード型埋め込みリンクのカスタマイズ方法 - (O+P)ut
ブログ記事内にカード型のリンクを貼る方法3選 | DevelopersIO

User Statuses
==NIP-38 nips/38.md at master · nostr-protocol/nips · GitHub

List Event mute(kind 10000,30000), bookmark(kind:30001)
==NIP-51 nips/51.md at master · nostr-protocol/nips · GitHub

nostr-toolsで、イベントID(hex)をnoteIdに変換する。noteId = nip19.noteEncode(eventId)

nostr-toolsで、イベントID(hex)をneventに変換する。nevent = nip19.neventEncode({id:eventId})
rabbit/src/components/EventLink.tsx at 754670008a0989049a94e199f29ca1a6a936130f · syusui-s/rabbit · GitHub

nak.nostr.com



Nextでnostr-reactを使う
話題になりそうな Nostr 触ってみた

nostr-test/src/pages/Nostr/test.tsx at main · Yuta-31/nostr-test · GitHub




rx-nostr
speakerdeck.com



Nostr playground
Nostr playground
relay:wss://relay-jp.nostr.wirednet.jp、Connect、REQを選択して、Send

nostr-playground/docs/main.js at 672e2f5b7db69c9998c23a94932ce894b7d0c69c · SnowCait/nostr-playground · GitHub

Nostr NIPs プロトコル仕様書斜め読み #SNS - Qiita



NIP
NIP - nostr


GitHub - Yuta-31/nostr-test

【分散型SNS】AT Protocol について勉強した

[入門] Flutter で SNSアプリを作ってみる(Nostrプロトコル)

GitHub - hiroyuki12/nostr-web-client

リレー設定 nostr-web-client/src/pages/_app.tsx at main · hiroyuki12/nostr-web-client · GitHub

ロジック  nostr-web-client/src/pages/Nostr/test.tsx at main · hiroyuki12/nostr-web-client · GitHub

GitHub - t4t5/nostr-react: React Hooks for Nostr 🦤

DartでNostrのTLを眺めるやつ · GitHub

HEXを鍵に変換(nip19.npubEncode)
const npub = nip19.npubEncode(pubkey) pubkeyがHEX, npubが鍵
nostr-react/src/useProfile.tsx at main · t4t5/nostr-react · GitHub

フォローリストの取得
DartでNostrのTLを眺めるやつ · GitHub

Nostr-basedなソフトウェアを書く際のコツ
txt.murakmii.dev

NIP - nostr

nosvelte
GitHub - akiomik/nosvelte: An experimental Svelte library for building Nostr apps easily

Unlicense
Unlicense · SnowCait/nostr-bots@26b89ee · GitHub







Nostr勉強会 #0
www.youtube.com

Nostr勉強会 #0 資料一覧
Nostr勉強会 #0 - 資料一覧 - connpass

Nostr勉強会 #1
www.youtube.com

Nostr勉強会 #1 [わいがや副音声]
www.youtube.com

Nostr勉強会 #1 資料一覧
Nostr勉強会 #1 - 資料一覧 - connpass

Nostr勉強会 #2
www.youtube.com

Nostr勉強会 #2 資料一覧
Nostr勉強会 #2 - 資料一覧 - connpass


Nostr勉強会 #3
www.youtube.com

Nostr勉強会 #3 [わいがや副音声]
www.youtube.com

Nostr勉強会 #3 資料一覧
Nostr勉強会 #3 - 資料一覧 - connpass


リレーサーバー
www.docswell.com


演習 ネタバレ注意
GitHub - koteitan/learn-nostr-by-crafting: Learn the Nostr protocol by crafting your own bots!







algia
nostr CLI client written in Go
GitHub - mattn/algia: A cli application for nostr

$ time brew install go
$ go install github.com/mattn/algia@latest
$ cd ~/.config/algia/
$ vi config.json
nostr.h3z.jp
$ algia tl
panic: runtime error: slice bounds out of range [:1000] with capacity 848



awesome-nostr | nostr.net - awesome-nostr is a collection of projects and resources built on nostr to help developers and users find new things

NostrをMacのターミナルでWebSocket直接でプロトコルのやり取りする方法 - kappaseijinの日記

URLSessionWebSocketTaskを使ってiOSのWebSocketクライアントを作る - VideoMarketクリエイターズブログ

自分用のnostrのまとめ - kappaseijinの日記

Nost page

分散型SNS「Damus」とそのベースプロトコル「Nostr」の解説 | TOKEN ECONOMIST

Search · SnowCait/nostter@a765c7d · GitHub

nostter/web at main · SnowCait/nostter · GitHub

nostter/web/src/routes/search/+page.svelte at a765c7d88aa485e70652f727c714abd128ab5da9 · SnowCait/nostter · GitHub

$ git checkout a765c7d88aa485e70652f727c714abd128ab5da9
Search · SnowCait/nostter@a765c7d · GitHub


$ npm install vite
$ cd nostter/web
$ npm run dev -- --open

http://127.0.0.1:5173/search

github.comで検索



DevToolsではじめる簡単Nostrプロトコル (Nostr勉強会 #0) - Speaker Deck


awesome-nostr
awesome-nostr | nostr.net - awesome-nostr is a collection of projects and resources built on nostr to help developers and users find new things


nostr.com
Nostr, a simple protocol for decentralizing social media that has a chance of working

mattn / mattn is on nostr

syusui_s / しゅうすい🐡 is on nostr






Nostr playground

GitHub - SnowCait/nostr-playground: JSON-based Nostr web client written in plain JavaScript.



Nostur (App Storeからインストール)
npubでログイン可能
初期リレー
wss://relay.nostr.band
wss://nos.lol
wss://nostr.wine
wss://nostr.mutinywallet.com
wss://purplepag.es
追加リレー
wss://relay-jp.nostr.wirednet.jp
リレーのダウンロード、アップロードのON/OFFが設定可能
リレーは個別設定(アカウントに紐つかない)


Plebstr (App Storeからインストール)
Plebstr — friendly Nostr client




nostr-bookmark-viewer3
nostr-bookmark-viewer

ローカルでもブックマークを表示できた
GitHub - TsukemonoGit/nostr-bookmark-viewer3
第三弾 SvelteKit と Skeleton と Nostr と Nosvelte と rx-nostr の勉強

$ cd work
$ git lone https://github.com/TsukemonoGit/nostr-bookmark-viewer3
($ git checkout 504be852b27d314a6c7e70938bba6249b2505189)
$ git nostr-bookmark-viewer3
$ npm install
$ npm run dev
http://127.0.0.1:5173



Nost stream
Testing nostr streaming (Will)
zap.stream

NIP-53. Live Chat Message
nips/53.md at b4cdc1a73d415c79c35655fa02f5e55cd1f2a60c · nostr-protocol/nips · GitHub

OGP確認
OGP確認:facebook、twitter、LINE、はてなのシェア時の画像・文章を表示 | ラッコツールズ🔧

nostr army knife (nak)
nostr army knife

.env
Hello Nostr! のす本の演習 おかわり編

【swift】swift+node.jsでWebSocket #Swift - Qiita