iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0

IPFS

全名為Interplanetary File System,由Protocol Labs打造,是用於分散式文件存儲和檢索的協議和網絡。目標是創建一個全球性的、點對點的文件系統,以一般HTTP的文件是儲存在中心化的伺服器,藉由網址來找搜索圖片,而IPFS是使用內容本身所產生Hash值來儲存文件,文件會分散在不同的節點,而搜索時會尋找最近的節點來提高速度,也因爲Hash加密保證了文件有高度的正確性。而整個IPFS網路中的節點是使用DAG(有向無環圖)這樣的結構來做關聯,可以高效的執行文件追溯及相互關聯。在IPFS中為了使節點可以更多,因此成為節點的門檻是相對低的,而Protocol Labs也結合了區塊鏈打造了Filecoin,讓成為節點也能獲得獎勵,而使用儲存空間的人也相對要付出Filecoin作為費用。IPFS主要是打造一個開放式的文件系統,因Hash都是儲存於節點中因此任何節點都可以由Hash找到其文件,因此對於一些較機密的文件則相對不適合。

DAG


有向無環圖,其每個區塊並不是一對一的接續,而是可以連接著前面幾個區塊,接著可能再去連接後面幾個區塊,而過程中是單一方向並不會產生循環,DAG也用於如Machine Learning等領域。而在IPFS中可以分散文件儲存的範圍,也可以將文件如一部影片分割成幾個部分儲存在不同節點,而下載時可以同時下載多個節點,藉此提升文件獲取的速度。

RPC

RPC (Remote Procedure Call) 是以太坊上使用與節點進行交互的API通信協議。它允許開發人員通過發送請求來查詢以太坊區塊鏈的狀態或執行交易。RPC常用於分布式系統, 其所採用的一種遠程程序調用概念。在用戶端來看就像是調用了遠端伺服器的function。

在傳輸過程中主要分成3層

  • 用戶和伺服器層面

    用戶界面處理與用戶互動的事物,而伺服器處理背後的業務邏輯。

  • Stub存根

    是客戶端或伺服器端用於處理 RPC 請求和響應的程式碼,它們根據約定好的協議封裝和解析數據。存根存在於客戶端和伺服器端,負責處理通信。

  • RPC RunTime

    RPC Runtime 負責最底層的網路傳輸,負責接收及響應。

在 JavaScript 中,您可以使用 JSON-RPC API 來處理遠程過程調用。Web3.js 和 ethers.js 則是兩個流行的 JavaScript 函式庫,提供了更高級的介面,用於與以太坊全節點進行互動。它們包含用於創建交易、與智能合約互動等功能。


上一篇
錢包與帳戶
下一篇
節點 & 智能合約
系列文
Web3新手初探筆記32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言