卡爾達諾鏈上程式碼背後的程式語言

文章來源:

在先前的文章中,我們討論了鏈上卡爾達諾區塊鏈開發人員的專門角色,負責為卡爾達諾 dApp 編寫鏈上程式碼,該程式碼部署到區塊鏈並由網路中的節點執行。 為了編寫這個鏈上程式碼,卡爾達諾開發人員可以使用不同的程式語言。

卡爾達諾網路具有多功能性和包容性。 它選擇 Haskell 作為其核心語言,但同時,它創建了開放網路以供任何替代語言的工具。 其目的是在確保相同級別的安全性的同時實現各種可能的解決方案。

這為卡爾達諾創建了一個非常特殊的生態系統,在這個生態系統中,有多種替代方案可以編寫鏈上程式碼,而不會影響區塊鏈的安全性。 這在其他協議上幾乎是聞所未聞的。

這些語言都是鏈上程式碼的替代方案,不會損害智能合約的安全性。 因此,使用哪一個只是偏好問題,而不是使它們彼此更好的屬性問題。

下面讓我們來看看卡爾達諾鏈上程式碼的不同程式語言。

卡爾達諾鏈上程式碼程式語言

PlutusTx

列表中的第一種語言是 PlutusTx。

這是 IOG 團隊支援的編寫鏈上程式碼的方法。 它是一種基於 Haskell 創建的特定領域語言,因此幾乎一比一地反映其母語言的語法。

PlutusTx 是 Cardano 核心實體支援的主要方法。 因此,它在卡爾達諾生態系統中的程式碼庫、資源、文件和教育材料方面擁有最多的支援。 在 Vasil 硬分叉和 PlutusV2 推出之後,它已經接受了重大修改。

未來,這種模式預計將持續下去。 核心開發人員將改進 Plutus 的功能,其他團隊將必須跟上他們的變化。 這就是為什麼建議每個想要進入卡爾達諾開發的人學習 Plutus。

Aiken

Aiken 是鏈上代號 PlutusTx 的替代品之一。

Aiken借用了 Rust 的一些語法,並將其合併到對卡爾達諾開發人員友好的工具中。 Aiken 背後的團隊 Txpipe 專注於創建一個易於使用的編譯器,該編譯器使用 Rust 的套件管理器來提供可讀的錯誤訊息,幫助更快、更輕鬆地解決問題。

這使得 Aiken 成為原始 PlutusTx 的非常受歡迎的替代品。 有相當多的開發人員了解函數式編程,但使用 Rust 的次數多於 Haskell。 Aiken允許他們使用自己選擇的語言進入卡爾達諾生態系統。

此外,Aiken也為交易規模帶來了一些收益。 費用金額決定於規模,因此該領域的任何收益都會促進交易,使 dApp 使用起來更便宜。

Helios

Helios 語言是 Cardano 上鍊上程式碼的 Javascript/Typescript SDK 替代方案。

它的創建是為了讓網頁開發人員加入卡爾達諾。 Javascript/Typescript 生態系統是程式設計師中最大的生態系統之一,Helios 對這些人來說是一個不錯的選擇。

Helios 工具包還具有同時適用於鏈上和鏈下程式碼的特點! Helios 的創建者為 Cardano dApp 的各個方面開發了一個版本。 因此,開發人員不再需要在鏈上使用一種語言,然後在鏈下使用另一種語言。

Helios語言也可用於在交易期間計算和管理卡爾達諾資產。 這使其成為卡爾達諾生態系統中適合所有背景的程式設計師最通用的替代方案之一。

Opshin

Opshin 是一種使用 100% 有效的 Python 程式碼來實作 Cardano 上鍊上邏輯的語言。

對於那些希望在網路上建立並具有 Python 背景的人來說,這是主要的選擇。 有一個來自 Python 的大型資料分析師社群可以從這個替代方案中受益。

對於熟悉 Python 的人來說,該語言很容易安裝並開始使用。 它支援命令式和函數式範例,而不影響卡爾達諾智能合約的核心設計。

Plu-ts

Harmonic Labs 開發的 Plu-ts 是鏈上程式碼的另一個 Typescript 替代品。

語言的實作也提供了編寫鏈外程式碼的工具,因此它允許開發人員能夠對 Cardano dApp 的兩個部分使用相同的語法。

此外,Plu-ts 旨在讓開發人員更好地控制編譯後的程式碼。 這意味著可以優化智慧合約的大小,以降低用戶的成本。 這意味著 dApp 開發人員可以進一步推動 Plu-ts,使他們的平台使用起來更便宜。

Plutarch

Plutarch 是另一種特定領域的語言,儘管僅適用於基於 Haskell 的鏈上程式碼。 它被認為是一種低級語言。 如果我們將 PlutusTx + Haskell 與 C/C++ 等通用程式語言進行比較,那麼 Plutarch 可以被視為類似於 Cardano 生態系統中的組合語言。

其主要目標是優化驗證器的大小,以使交易盡可能便宜。 目前,Plutarch 是證明 Cardano dApp 最小驗證器的語言。

這使得 Plutarch 成為想要盡可能優化費用的 dApp 的首選。 對於精通 Haskell 的開發人員來說,這是一個高級選項,因為它比其他替代方案更依賴其母語言的核心功能。 因此,它對初學者不太友好,但對於 Haskell 資深人士來說無疑是一個可行的選擇。

在那裡,我們幾乎全面地列出了在卡爾達諾上編寫鏈上程式碼的所有不同方法。 除PlutusTx外,所有其他項目均由社區創建並獲得獨立團隊的支持。

它們都共享相同的核心安全屬性,並且不會以任何方式損害卡爾達諾。 這意味著選擇使用哪一個取決於開發團隊的經驗。 所有選擇都是 100% 可行的,卡爾達諾社區正在不斷改進每個選擇。