Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Nostrでウェブサイトをホスティングできる仕組みを作った(新時代の分散型SNS勉強会 2023/12/09)
Search
kaiji
December 08, 2023
0
210
Nostrでウェブサイトをホスティングできる仕組みを作った(新時代の分散型SNS勉強会 2023/12/09)
kaiji
December 08, 2023
Tweet
Share
More Decks by kaiji
See All by kaiji
Hostr - Decentralized Web Hosting Solution on Nostr
studiokaiji
0
160
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
19k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
117
18k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
6
3.4k
Building Your Own Lightsaber
phodgson
100
5.7k
What's new in Ruby 2.0
geeforr
337
31k
Designing with Data
zakiwarfel
96
4.8k
GraphQLとの向き合い方2022年版
quramy
33
12k
Testing 201, or: Great Expectations
jmmastey
29
6.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
22
1.6k
YesSQL, Process and Tooling at Scale
rocio
165
13k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
Adopting Sorbet at Scale
ufuk
69
8.6k
Transcript
Nostrでウェブサイトをホスティングできる仕組みを作った Hostr Written By: kaiji 2023/12/08
kaiji
[email protected]
@studiokaiji @studiokaiji 自己紹介
01 Hostrとは?
Hostrとは? Nostrを使った分散型のウェブホスティングソリューション WebサイトをNostrのリレー上に記録し、ホスティングができる仕組みi HTML、CSS、JS等のウェブサイトの基本ファイルに加え、SVGやJSONといったテキスト ファイルをEventとして記録するi この仕組みを使いやすくするためのコマンドラインツール「Hostr CLI」もリリース済み。
02 Hostr・Hostr CLIの機能
Hostr・Hostr CLIの機能 1コマンドで、すぐにデプロイ $ hostr deploy --path=/BUILT/SPA/DIR/PATH --identifier=hostr-lp ビルド済みのウェブサイトの データのパス
サイトの識別子 (replaceable events用)
Hostr・Hostr CLIの機能 今すぐ利用できるリレー・ウェブサーバー ウェブホスティングのために構築された公開リレーとウェブサーバーで、誰でも今すぐ分散型ウェブホスティ ングが可能に。 リレー wss://r.hostr.cc ウェブサーバー [npub] https://h.hostr.cc,
https:// .hostr.cc
Hostr・Hostr CLIの機能 セキュアアクセス localstorageやNIP-07などを利用している、ドメインに依存したウェブサイトでも、npubをサブドメインに することで、安全にHostrサイトを利用可能。 通常イベント https://h.hostr.cc/e/[nevent] セキュアアクセスイベント https:// .hostr.cc/e/
[npub] [nevent]
03 アーキテクチャ
アーキテクチャ フロー 開発者 リレー サーバー ユーザー SPAを記録した Eventを送信 Eventを返却 サイトの
データを返す サイトとして 読み取り可能な データに変換 ウェブサイトへの 取得リクエスト Eventを取得
仕様(NIP-106 PR ベース) 識別子 通常イベンB 7 nevent *ただしHostrのサーバーでは 通常のevent
idもサポート 置き換え可能なイベンB 7 dタグ 通常イベンB HTML: 539 CSS: 539x JS: 539 Others: 1064,1065 置き換え可能なイベンB HTML: 3539 CSS: 3539x JS: 3539 Others: 30064,30065 kind アーキテクチャ
04 パフォーマンス
パフォーマンス 初回読み込み Hostr + nostr-rs-relay Express.js サーバー IPFS(Kubo) 0 500
1500 3500 5000 4.12 s 622 ms 412 ms Server, Relay: Client: Tokyo Fukushima IPFS ノードと Nostr リレーは、それぞれのゲートウェイおよびサーバーとは別のインスタンス上で実行され、 インターネット経由で接続されますr IPFS は DHT を使用して検索を実行するため、数値はかなり変化します。あくまでも一例としてご覧ください。
05 これから実装・応用したいこと
これから実装・応用したいこと セキュアイベント u 現在のHostrでは、セキュアルートでのアクセスをサイト作成者が強制できないf u Nostrクライアントをはじめとした、セキュアルートでのアクセスが必須なサイトの実装には不向きf u eventのタグに onlySecure 属性を付け、値が
true だった場合、セキュアルート(npubがサブドメインのルート)にリ ダイレクトするf u セキュアイベントに対応していないウェブサーバーの場合はHTTPリクエストエラーを返す。
これから実装・応用したいこと Nostr CMS Nostr上で動くWordPressのようなCMSs 長文投稿とアプリケーション固有データを管理s 柔軟な書き込みルールを備えた公開データベースs
Hostrサイトをノーコードで構築可能s Nostr上で全て動作。
Ready to Use Relay Nostr Native Hostable Any SPA Secure
Access Faster than IPFS*1 660% Hostr nostr-webhost Replaceable Event Built-in Web Server *1. 開発者の環境での計測