了解

認識Acurast。探索Acurast的故事、深入技術文件,並看看生態系中有哪些合作夥伴。

Glowing lime-green storage crates stacked above a smartphone, illustrating Garage S3-compatible object storage deployed on the Acurast decentralized compute network with Cargo

如何在去中心化運算上執行Garage S3相容物件儲存

發光的萊姆綠儲存箱堆疊在智慧型手機上方,示意透過Cargo部署在Acurast去中心化運算網路上的Garage S3相容物件儲存

 

 

物件儲存無所不在。應用程式用它來存放圖片、備份、文件、應用程式資產、資料集,以及幾乎任何需要存放在應用程式本身之外的檔案。

 

對許多開發者來說,這意味著直接選用在雲端執行的S3相容儲存服務。

 

但S3是一種介面,而不是一個地點。S3相容儲存實作了與Amazon S3相同的API,因此為S3打造的應用程式與工具,不論底層儲存位於何處,都能與它互動。這一點很重要,因為這樣就能沿用熟悉的S3工具,同時讓儲存本身在去中心化基礎設施上執行。

 

本指南將把Garage(一款開源的S3相容物件儲存解決方案)部署到Acurast去中心化Processor網路上。內容包括設定部署、使用Cargo啟動Garage、連線到產生的S3相容端點,並上傳第一個檔案。

 

完成後,您將擁有一個在Acurast Processor上執行的S3相容儲存執行個體。

 

儲存也是一種運算工作負載

 

說到去中心化運算,儲存或許不是第一個想到的工作負載。但物件儲存伺服器說到底也是軟體。

 

它需要執行環境、網路連線、運算資源,以及存放資料的地方。只要提供合適的Linux環境,它就能在許多不同的地方執行。

 

這正是Codename Cargo派上用場的地方。

 

Cargo支援完整的Linux工作負載,讓Acurast不再侷限於先前的Node.js執行環境。開發者可以部署以Python、Go、Rust、C++及其他可在Linux上執行的技術所開發的應用程式。如此一來,就能把現有軟體直接帶到Acurast網路上執行,而不必為了受限的執行環境特別重新開發。Garage就是一個實用的例子。

 

不必為去中心化基礎設施打造自訂的儲存協定,而是可以直接部署已實作熟悉S3 API的軟體。

 

結果就是一個現有S3相容工具與應用程式都能與之溝通的物件儲存服務。

 

在Acurast上部署Garage

 

Acurast Example Apps儲存庫中有一個Garage範例,大部分的底層設定都已處理完成。部署指令碼會下載Garage、設定服務、建立必要的通道,並提供連線所需的資訊。

 

因此,在啟動之前只需要進行相對少量的設定。

 

步驟1:開啟Garage範例應用程式

 

首先,請取得Acurast Example Apps儲存庫。

 

前往App Cargo Garage資料夾。

 

您會在其中找到部署所需的所有檔案。其中大部分是設定檔,不需要修改。它們負責下載Garage二進位檔、準備環境,以及建立讓服務可供存取的通道等工作。

 

主要需要編輯的設定是環境檔案。

 

步驟2:設定部署

 

第一個需要的值是Acurast助記詞。這個帳戶用於授權部署並支付部署費用。為了安全起見,請勿使用與主要錢包相關聯的助記詞,而是另外產生一組專供部署使用的助記詞,並只轉入工作負載所需的資金。敏感的錢包憑證絕不應在本機設定或CLI環境中遭到不必要的暴露。

 

接著,設定回呼URL。Acurast在準備部署時,會產生用來存取Garage的專屬URL。這些URL需要一個接收的地方。範例的做法是向您提供的回呼URL發送POST請求,因此您可以使用任何能接收POST請求並顯示其內容的服務。本教學使用的是webhook.watch。建立一個個人端點,複製其URL,並將它加入設定中。

 

部署就緒後,您就會看到部署資訊送達該端點。

 

步驟3:設定SSH與網路

 

您還需要設定SSH密碼。如果一切正常,平時運作並不需要SSH存取。它主要是作為備用手段,讓您在需要除錯或疑難排解時能直接連線到Processor。

 

請使用安全的密碼。部署網路建議選擇主網,因為它能提供更大的可用Processor池。

 

您也會看到網域後綴的設定。在撰寫本教學時,您需要自備網域並設定相應的DNS記錄。這個流程預計會變得更加自動化,因此具體要求可能會隨著Cargo的發展而改變。

 

最後,設定儲存貯體名稱。基本部署可以直接保留預設值。

 

檢查acurast.json

 

部署之前,請先查看acurast.json檔案。其中包含控制工作負載執行方式的其他設定。

 

其中一個重要參數是部署時長。在這個範例中,Garage將執行四小時。這足以用於測試,但您可以依開發需求延長時長。

 

您也可以在這裡設定網路,不過這裡維持使用主網。同時請確認目標Android版本符合要求。較舊的Processor環境可能不支援Garage部署所需的所有功能。

 

完成後,就可以啟動儲存服務了。

 

啟動Garage

 

在Garage範例目錄中執行:acurast deploy

 

Acurast CLI會引導您完成部署流程。送出部署之前,會顯示相應的費用。如果設定的費用高於所需,您可以改用建議的數值。

 

確認部署後,接下來就交給Acurast處理。部署會完成註冊、Processor會完成準備,所需的服務也會自動啟動。

 

幾分鐘後,您應該會開始看到請求送達先前設定的回呼端點。

 

驗證部署

 

回呼請求能讓您清楚了解Processor上正在發生的事。首先,您會看到顯示環境正在啟動的日誌。

 

接著,Processor會安裝SSH伺服器、下載Garage並建立通道。

 

最後,您會收到期待已久的資訊:存取Garage部署所需的URL與憑證。

 

接著,日誌會確認Garage已完全部署並上線。現在,一個S3相容儲存服務已經在Acurast Processor上執行。

 

接下來就連線看看。

 

連線到您的S3相容儲存

 

在這個範例中,會使用一個為了示範連線而製作的簡易介面。

 

要連線,需要從部署中取得四項資訊:

 

  • 產生的端點URL
  • 存取金鑰ID
  • 私密存取金鑰
  • 儲存貯體名稱

 

將這些值輸入用戶端並點選Connect。用戶端現在已與在您的Acurast Processor上執行的Garage執行個體進行通訊。

 

由於Garage提供S3相容介面,您不必侷限於示範用的介面。任何相容的S3用戶端,只要設定適當的端點與憑證,都能與此部署互動。

 

上傳您的第一個檔案

 

現在,來確認儲存是否真的可以運作。選擇一個測試檔案(圖片就很合適),然後透過介面上傳。

 

上傳完成後,檔案就會出現在儲存貯體中。接著,您可以取得它的URL、分享、下載或刪除。這只是一個簡單的示範,但這也正是重點所在。從用戶端的角度來看,操作的就是熟悉的S3相容物件儲存。不尋常的是這個儲存在哪裡執行。

 

Garage並不是部署在傳統的雲端執行個體上,而是正在Acurast Processor上執行。

 

單一Processor不等於備份策略

 

在將這套設定當作正式環境儲存之前,有一個重要的限制需要了解。

 

在這個範例中,您的資料存放在單一Processor上。如果該Processor無法使用、遭到清除,或Acurast部署到期,儲存在上面的資料可能會永久消失。對於實驗、開發與測試而言,這完全夠用;但對於正式環境儲存,這還不夠。正式環境的架構需要備援。其中一種做法是在不同的Processor上部署多個Garage執行個體,並在它們之間設定複寫。如此一來,即使某個Processor離線,資料仍有另一份副本可用。這項區別很重要,因為提供S3相容API與提供持久的物件儲存,是兩個不同的問題。

 

這個範例解決了第一個問題。正式環境的架構還必須解決第二個。

 

Acurast正在探索未來不再需要依賴單一Processor的解決方案。

 

不只是S3相容伺服器

 

Garage展現了Cargo為Acurast帶來的更廣泛意義。這並不是專為去中心化運算打造的全新儲存系統,而是讓現有的Linux軟體有了新的執行場所。這是一個重要的區別。

 

S3相容性也意味著應用程式不一定需要了解底層發生了什麼事。即使底層基礎設施改變,它們仍能繼續透過熟悉的API互動。

 

而Garage只是其中一個例子。同樣的做法也能延伸到資料庫、後端服務、API、開發者基礎設施、遊戲伺服器、AI代理以及其他Linux工作負載。

 

問題不再只是:

 

「可以為去中心化基礎設施開發什麼?」

 

而越來越是:

 

「有哪些現有的基礎設施可以搬到那裡執行?」

 

有了Cargo,這份清單會變得長得多。

 

觀看完整影片教學

 

本指南涵蓋了在Acurast上部署Garage的主要步驟,而隨附的影片導覽則會從頭到尾示範整個過程。

 

您將看到如何設定Garage範例應用程式、使用Acurast CLI啟動、追蹤部署日誌、取得產生的憑證、連線S3相容用戶端,並上傳檔案。

 

這也很好地示範了Cargo背後更宏觀的理念:現有的Linux應用程式不一定需要傳統雲端基礎設施才能執行。

 

從一個S3相容儲存貯體開始,再看看還有哪些可以搬過來。