在卡爾達諾中,區塊鏈開發人員扮演著專門的角色,他們可以專注於鏈上、鏈下、前端、後端等。 在先前的卡爾達諾開發者路線圖系列部落格中,我們討論了這些角色。
在本部落格中,我們討論卡爾達諾後端開發人員的角色。 後端是去中心化應用程式或 dApp 的複雜部分,因為它涉及與應用程式整個架構相關的方面。
該角色還涉及打包一段程式碼,以便可以在其他機器上重複使用。 構成 dApp 的所有不同依賴項都很複雜,在另一台電腦中複製它們可能具有挑戰性。 通常,現有程式碼庫的維護也可以是開發活動的主要部分。 在這裡,後端開發人員可以發揮重要作用。
區塊鏈後端開發人員也是傳統產業開發人員進入區塊鏈的另一條職業路徑。 它並不像 Web 開發那麼常見,但仍然有許多人找到了遵循這條路線的方法。
讓我們來討論一下後端開發人員的細節。
dApp 的後端
dApp 由許多部分組成。 就卡爾達諾而言,我們有鏈上驗證器、鏈下程式碼、網站,也許還有資料庫。 後端開發人員必須承擔所有這些不同的部分並使它們正常運作。
當 dApp 處於開發階段時,大多數程式碼在編寫和測試時都會位於本機系統中。 一旦 dApp 準備好投入生產,所有程式碼都需要進入伺服器,以便它可以 24/7 接受請求。
這意味著整合我們之前討論的所有部分並將它們部署在新環境中。 這可能是一項非常複雜的任務,因為它需要管理 dApp 每個部分所需的依賴項。 在實現此目的的不同方法中,在 Cardano 生態系統中,我們通常使用 Docker 和/或 NixOS:
Docker
在傳統開發產業,Docker是一個非常熟悉的工具。 這是一種建立程式容器的方法,其中包含所有必要的依賴項,因此可以輕鬆地在新環境中部署。
Cardano 中使用 Docker 作為將 dApp 程式碼從測試環境轉移到生產環境的一種手段。 這是許多專案需要的角色,也是整個產業所需要的角色。
NixOS
還有另一種程式打包方式,那就是NixOS。 這是一個更雄心勃勃的項目,因為它的目標是成為一個使用函數式程式設計原理工作的作業系統,因此它的應用遠遠超出了創建容器的範圍。
然而,作為一個函數式程式作業系統,NixOS 在為專案創建容器的方式方面取得了成功。 在 Cardano 生態系統中,NixOS 擁有許多用戶,因為編譯 Plutus 程式碼的常規方式是使用它。
任何想要將 NixOS 知識應用到實際環境的人都會在 Cardano 中找到很多工作。 NixOS 已成為生態系統不可或缺的一部分,許多人採用 NixOS 的目的不僅僅是編譯 Plutus 程式碼。
NixOS 作為一種創建容器的方式,是後端程式設計師的重要工具。 因此,它成為 NixOS 和 Cardano 之間分享函數式程式設計知識的橋樑。 這可能是進入這兩個生態系統的絕佳機會。
管理去中心化存儲
另一項任務不是後端開發人員特有的,但通常落在他們身上,因為它與資料庫共享一些概念,那就是去中心化儲存。 自從去中心化區塊鏈技術開始以來,許多專案都希望利用其原理來開放網路並擺脫大型雲端運算壟斷。
現在許多技術都圍繞著這個想法創建了解決方案,例如 IPFS、Arweave、SiaTech 以及許多其他提供去中心化儲存和網路託管解決方案的技術。
許多 dApp 都需要此類服務,尤其是在不可替代代幣 (NFT) 領域。 NFT 是一種資產類別,其中有一段由代幣在鏈上表示的媒體。 該媒體位於區塊鏈分類帳本身之外,在大多數情況下,它將位於去中心化儲存供應商之一上。
為了將儲存中的每個 NFT 與網路上鑄造的每個代幣配對,必須設定本地資料庫管理系統,或者可以使用第 3 方 IPFS 固定服務。 當我們使用驗證器按需鑄造 NFT 時,這一點更為重要。
NFT 在用戶鑄造之前並不存在,但圖像(或其他類型的媒體)必須在鑄造事件發生時做好準備。 因此,必須提前創建一個系統,從去中心化儲存中獲取一張圖像並將其與最近創建的 NFT 配對。
在大多數情況下,這需要一個管理此關係的資料庫。 在這裡,後端開發人員擁有傳統開發的經驗,並且可以擁有為 NFT 專案提供解決方案所需的知識。