介紹星球

Livid
·
·
IPFS
·
開源的macOS 原生App,幫助你基於IPFS + ENS 搭建完全去中心化的網站dWeb

Planet是一個開源的macOS 原生App,讓你可以直接從自己的電腦上發布一個網站或者博客到IPFS,並且這個網站或者博客可以綁定到一個ENS 域名(比如.eth 結尾)上。因為IPFS 和ENS 都是去中心化的,所以你發布的這個網站也是去中心化的,你的域名和內容都不會被任何一家商業公司所控制。其他人可以通過這個App 來follow 你最新的更新,你的更新可以直接到達你的觀眾,不用依賴一個中心化的雲。

目前這個App 還處在一個非常早期的階段,還有細節需要完善。我們會在持續更新。如果你之前玩過IPFS 或者ENS,那麼你可能會想要試試這個完全的GUI 體驗的發布方案。

開始使用

點擊主界面下方的加號,就可以創建自己的Planet。在創建並寫了第一個篇文章之後,你的Planet 就會被發佈為一個IPNS。右鍵點擊側欄裡你的網站,選擇Copy IPNS。然後你就會在剪貼板中獲得類似這樣的一串東西:

k51qzi5uqu5dgbfw2poynnynor8h9kqqoxmzdrxy4h4wnzx1x5p4n40ijtosxk

然後你把這串IPNS 發給其他Planet 用戶,他們就可以收到來自你的更新了。

你用Planet 發布的網站,也可能可以通過各種Public Gateway 訪問,比如這是你當前正在閱讀的這篇文章在各個Gateway 上的地址(URL 拼接規則是Public Gateway 域名+ /ipns/ + Planet.ipns + / + Article.UUID):

綁定ENS

你可以把Planet 發佈出來的IPNS 設置為你的ENS 域名的Content Hash。這類似於在傳統DNS 中設置一條A 記錄。

打開app.ens.domains 然後在Content 處填入你剛才獲得的IPNS,記得在前面加上協議ipns:// ,就像下面截圖中這樣:

Set contenthash for Your ENS

注意因為設定Content Hash 會是一個ENS 合約上的操作,所以這一步會有gas 費。但是之後你在Planet 裡發布新的內容,你的IPNS 不會發生改變,也不會再有gas 費的問題。

在完成了ENS 綁定之後,也可以直接用類似下面這樣的地址通過Public Gateway 打開你的ENS:

在原生支持IPFS 的Brave瀏覽器裡,你甚至可以用ipns://olivida.eth 這樣的地址直接打開你用Planet 發布的網站。

記得在Brave 設置中將Method to resolve IPFS resources 設置為Brave local IPFS node,這樣你才可以通過真正的去中心化方式訪問。

因為目前Planet 還處在一些非常大的變化中,因此時不時備份你的IPNS key 是非常有必要的。在0.8+ 版本中備份的操作方式是側欄中選中自己的Planet,然後從右鍵菜單中點擊Export Planet。

下面這裡是一些使用Planet 搭建的網站,點擊界面左下角的+ 號按Follow Planet 然後就可以直接follow 更新了:

也可以使用Public Gateway 公共網關訪問IPFS 網絡上的內容,只要在.eth 後面加上.link 或者.limo 就好,比如:

olivida.eth -> https://olivida.eth.limo

一些已知問題

由於IPFS 的DHT 本質,雖然你用Planet 發佈出來的IPNS 可以通過IPFS 的Public Gateway 訪問,但是第一次的速度可能會非常緩慢,甚至打不開。

當你把IPNS 發給其他人,讓其他人follow 你時,你的App 必須處於打開狀態,否則別人無法獲得內容。當然,如果你熟悉IPFS 的特性,那麼你可以用Pin 的方式加速和解決這個問題。關於Pin 的優化,我們會在之後的文檔中詳細解釋。每一個follower 的獲取更新時,也會做一個pin 操作。因此如果一個內容的訪問者越多,那麼在IPFS 網絡中的性能也就會越好。

你的網站內容每次更新時,所有follow 你的人在獲得更新時大概會是一個分鐘級別的延遲。

目前Planet 裡有一些地方允許你用Public Gateway 去測試打開你發布的內容。我們目前使用的Public Gateway 是cloudflare-ipfs.com,之後這個地方會變成一個可以更改的選項。

另外值得說明的是,由於IPFS 的DHT 本質,所以是可以看到一條內容可以通過哪些IP 提供服務。就像你通過BitTorrent 下載時,你的IP 也會被其他節點看到。

開源及下載

Planet 的最新版本會在planetable.xyz 的首頁或者我們的GitHub 項目首頁提供。

如果你遇到了什麼問題,或者是想要新功能,可以在GitHub 上以創建discussion/issue 的方式提給我們。

或者加入我們在Telegram 上的中文用戶群:

https://t.me/+5bl7FIsxeChlOWIz

CC BY-NC-ND 2.0 授權

喜歡我的作品嗎?別忘了給予支持與讚賞,讓我知道在創作的路上有你陪伴,一起延續這份熱忱!