區塊鏈
挖礦,比特幣,EOS,以太坊

IPFS開發教程丨IPFS Desktop:IPFS節點桌面管理App

273

一、應用簡介
IPFS Desktop?是一個由IPFS官方應用社區(?IPFS-Shipyard?)孵化出來的應用項目。 Ta是一個通過Node.js編寫的桌面管理軟件,比上篇提過的??IPFS Companion?功能更加豐富,可以幫助用戶在本地更好的運行、管理自己的節點,并隨時查看IPFS節點的資源信息。

二、特性

2.1 服務自啟動

  • 點開應用,自動創建本地Web服務
  • 省去了命令行啟動節點服務的操作

2.2 節點信息查詢

  • 共享數據量
  • 節點ID
  • 節點位置
  • 所用帶寬總量
  • 上行速度
  • 下行速度
  • IP端口映射地址

2.3 文件資源上傳、管理

  • 資源上傳控制面板
  • IPFS鏈接復制
  • 文件資料管理

2.4 Pinned 節點Hash記錄

有點類似Imtoken添加聯系人錢包賬戶的功能

  • Pin 節點Hash記錄值添加
  • Pin 節點備注
  • 已Pin節點Hash值查詢

2.5 查看已連接節點
Pinned 節點Hash記錄

查看已連接節點

2.6 偏好設置

  • 快捷鍵下載Hash資源
  • 截屏自動上傳
  • 主題背景色


三、安裝

3.1 安裝包下載:穩定版本:

  • release版本

如果有興趣對官方的ipfs desktop進行二次開發,可以下載整個資源包:

  • Open Reource

3.2 成功在Mac OS 上安裝成功后,會出現在Lanuchpad上:


四、二次開發(適合開發者)
官方已將這個應用項目開源,對開發者而言,可以clone所有資源,根據自己的業務、企業需求進行二次迭代開發以及自定義應用開發:官方已將這個應用項目開源,對開發者而言,可以clone所有資源,根據自己的業務、企業需求進行二次迭代開發以及自定義應用開發:

4.1開發者指引需要提前安裝依賴環境:

  • Node.js >=6.0.0
  • npm >=3.0 installed.

如果是Mac OS系統,需要提前安裝Xcode Command line tool工具:

xcode-select?–install
sudo?xcode-select?–switch?/Library/Developer/CommandLineTools

Clone資源,安裝依賴,編譯資源包

git?clone?https://github.com/ipfs-shipyard/ipfs-desktop.git
cd?ipfs-desktop
npm?install
npm?start

IPFS Desktop 就會出現在系統應用菜單欄

4.2 源碼工程結構所有重要的資源文件全都在?src?文件夾中, 文件樹結構和職能如下:

├───controls
├───fonts?????????????靜態字體資源
├───img???????????????靜態圖片資源
├───js
│???├───components
│???│???├───logic?????可復用的組件,具有狀態追蹤特性
│???│???└───view??????無狀態函數、可復用的組件
│???|───panes?????????窗口組件
|???└───screens???????屏幕組件
├───styles????????????管理LESS格式的樣式文件
├───utils?????????????工具類和函數
|───views?????????????HTML視圖文件
└───index.js??????????應用入口

4.3 如何開發新的窗口使用以下的引導內容,在./src/js/panes里創建一個新的文件,如果想了解每一個依賴文件,可以在?./src/js/components/view/header.js和./src/js/components/view/footer.js?文件中進行查詢微信圖片_20180702115035.png然后,你需要導入一個文件并且在./src/js/screens/menu.js中創建一個panes?條目,類似下方的數組形式:

{
id:?‘my-pane-id’,???????//?A?simple?slug?to?identify?your?pane.
title:?‘Title’,?????????//?To?be?shown?in?the?menu.
icon:?‘ipfs’????????????//?A?themify?icon?ID?(themify.me/themify-icons)
}

現在,已經創建了pane,并創建了它的菜單項。雖然,你點擊它,你可能會得到一個錯誤信息,因為你沒有真正路由到它。在同一個文件上,轉到_getRouteScreen函數,并在switch中添加一個case。該值必須與你在菜單項上輸入的“id”相同。

4.4 組件開發組件是用駝峰命名法來創建類,相應的文件有關聯的類名和連字符分隔的單詞。
例如,simple-stat.js導出了一個名為SimpleStat的類。

無狀態組件、視圖./src/js/components/view

  • Button?文字按鈕組件
  • CheckboxBlock?復選框組件
  • FileBlock?文件列表中使用按鈕來復制鏈接的組件
  • Footer?窗口頁腳組件
  • Header?窗口頭組件
  • Heartbeat?IPFS Logo心跳動畫。
  • IconButton?帶圖標的按鈕組件
  • IconDropdownList?帶圖標的下拉列表組件
  • Icon?顯示圖標組件
  • InfoBlock?顯示一個信息塊(用于節點信息窗格)。
  • KeyCombo?組合鍵組件
  • Key?公鑰組件
  • MenuOption?在菜單欄中選擇選項組件
  • PinnedHash?固定Hash的組件.

狀態組件./src/js/components/logic

  • NewPinnedHash?一個新的固定Hash的組件

五、使用QA和Bug提交
官方在Github上提供了專門的issue討論區,大家在使用過程中遇到問題可以在這查詢解決方案:?https://github.com/ipfs-shipyard/ipfs-desktop/issues.

轉載聲明:特別鳴謝天一哥(飛向未來 IPFS指南公眾號作者)與ipfser.org早期在IPFS大量的布道工作,才有了博主致力于IPFS應用實踐的想法,期望更多和我們一樣對這個領域感興趣的朋友能加入進來。本文章版權歸博主daijiale.cn所有,若想轉載請聯系作者授權,未經授權,禁止轉載,如若發現,將通過個人律師以侵犯《中華人民共和國著作權法》起訴(奉陪到底),授權轉載也請注明原出處。

六、參考文獻

  • Github ipfs-shipyard/ipfs-desktop

作者簡介:戴嘉樂( Mr.Maple ) | 前百度高級研發工程師 | IPFS應用實踐者&布道師|
個人網站:https://www.daijiale.cn
聯系方式:微信號:daijiale6239

** 微信聯系方式如下:**http://career-pic.oss-cn-beijing.aliyuncs.com/my-certificate/wechat-qrcode.jpeg** 也歡迎加入知識星球: **提供更多詳細的提問回復IPFS應用和開發方面的實踐信息享受個人舉辦的一些IPFS線下活動的福利和權益

贊(1)

評論 搶沙發

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址
p3试机号99