DAML:區(qū)塊鏈中智能合約的編程語言
DAML 智能合約語言是一種專門設計的特定領域語言domain specific language(DSL),用于編碼應用的共享業(yè)務邏輯。它用于區(qū)塊鏈環(huán)境中分布式應用的開發(fā)和部署。
區(qū)塊鏈技術是一種安全機制,以一種使人難以或不可能修改或入侵的方式來跟蹤信息。區(qū)塊鏈整合了交易的數(shù)字賬本,它被復制并發(fā)送至其網(wǎng)絡上的每臺計算機。在鏈的每個區(qū)塊中,都有一些交易。當區(qū)塊鏈上發(fā)生新的交易時,該交易的記錄就會被添加到屬于該鏈的每個人的賬簿中。
區(qū)塊鏈使用分布式賬本技術distributed ledger technology(DLT),其中數(shù)據(jù)庫并不保存在一個服務器或節(jié)點中。在區(qū)塊鏈中,交易被記錄在一個被稱為哈希hash的不可改變的加密符號中。這意味著,如果一個通道或鏈上的一個區(qū)塊被改變,黑客將很難改變鏈上的那個區(qū)塊,因為他們必須對外面的每一個版本的鏈都要這樣做。區(qū)塊鏈,如比特幣和以太坊,隨著新的區(qū)塊被添加到鏈上而不斷增長,這使得賬本更加安全。
隨著區(qū)塊鏈中智能合約的實施,在沒有任何人工干預的情況下,有了自動執(zhí)行的場景。智能合約技術使得執(zhí)行最高級別的安全、隱私和反黑客實施成為可能。
Figure 1: Market size of blockchain technology (Source: Statista.com)
區(qū)塊鏈的用例和應用是:
- 加密貨幣
- 智能合約
- 安全的個人信息
- 數(shù)字健康記錄
- 電子政務
- 不可偽造的代幣(NFT)
- 游戲
- 跨境金融交易
- 數(shù)字投票
- 供應鏈管理
根據(jù) Statista.com,自過去幾年以來,區(qū)塊鏈技術市場的規(guī)模正在以非常快的速度增長,預計到 2025 年將達到 400 億美元。
區(qū)塊鏈的編程語言和工具箱
有許多編程語言和開發(fā)工具包可用于分布式應用和智能合約。區(qū)塊鏈的編程和腳本語言包括
Solidity、Java、Vyper、Serpent、Python、JavaScript、GoLang、PHP、C++、Ruby、Rust、Erlang 等,并根據(jù)實施場景和用例進行使用。
選擇一個合適的平臺來開發(fā)和部署區(qū)塊鏈,取決于一系列因素,包括對安全、隱私、交易速度和可擴展性的需求(圖 2)。
Figure 2: Factors to look at when selecting a blockchain platform
開發(fā)區(qū)塊鏈的主要平臺有:
- 以太坊
- XDC Network
- Tezos
- Stellar
- Hyperledger
- Ripple
- Hedera Hashgraph
- Quorum
- Corda
- NEO
- OpenChain
- EOS
- Dragonchain
- Monero
DAML:一種高性能的編程語言
數(shù)字資產(chǎn)建模語言Digital Asset Modeling Language,即 DAML(daml.com),是一種高性能的編程語言,用于開發(fā)和部署區(qū)塊鏈環(huán)境中的分布式應用。它是一個輕量級和簡潔的平臺,用于快速應用開發(fā)。
Figure 3: Official portal of DAML
DAML 的主要特點是:
- 細粒度的權限
- 基于場景的測試
- 數(shù)據(jù)模型
- 業(yè)務邏輯
- 確定性的執(zhí)行
- 存儲抽象化
- 無重復開銷
- 負責任的跟蹤
- 原子的可組合性
- 授權檢查
- 需要知道的隱私
安裝和使用 DAML
DAML SDK 可以安裝在 Linux、macOS 或 Windows 上。在多個操作系統(tǒng)上安裝 DAML 的詳細說明可訪問 https://docs.daml.com/getting-started/installation.html 。
你必須具備以下條件才能使用 DAML:
- Visual Studio Code
- Java 開發(fā)套件(JDK)
DAML 可以通過下載并運行可執(zhí)行的安裝程序在 Windows 上安裝,你可訪問
https://github.com/digital-asset/daml/releases/download/v1.18.1/daml-sdk-1.18.1-windows.exe 。
在 Linux 或 Mac 上安裝 DAML 可以通過在終端執(zhí)行以下內(nèi)容來完成:
$ curl -sSL https://get.daml.com/ | sh
安裝 DAML 后,可以創(chuàng)建基于區(qū)塊鏈的新應用,如圖 4 和 5 所示。
Figure 4: Creating a new app
在另一個終端中,新的應用被導航并安裝了項目的依賴:
Figure 5: Running DAML
WorkingDirectory>cd myapp/ui
WorkingDirectory>npm install
WorkingDirectory>npm start
這樣啟動了 WebUI,該應用可在 Web 瀏覽器上通過 URL http://localhost:3000/ 訪問。
Figure 6: Login panel in DAML app
研究和開發(fā)的范圍
區(qū)塊鏈技術為不同類別的應用提供了廣泛的開發(fā)平臺和框架。其中許多平臺是免費和開源的,可以下載和部署以用于基于研究的實現(xiàn)。研究學者、從業(yè)者和專家們可以使用這些平臺為眾多應用提出和實施他們的算法。