DAML:区块链中智能合约的编程语言
创始人
2024-03-02 11:20:21
0

DAML 智能合约语言是一种专门设计的 特定领域语言 domain specific language (DSL),用于编码应用的共享业务逻辑。它用于区块链环境中分布式应用的开发和部署。

区块链技术是一种安全机制,以一种使人难以或不可能修改或入侵的方式来跟踪信息。区块链整合了交易的数字账本,它被复制并发送至其网络上的每台计算机。在链的每个区块中,都有一些交易。当区块链上发生新的交易时,该交易的记录就会被添加到属于该链的每个人的账簿中。

区块链使用 分布式账本技术 distributed ledger technology (DLT),其中数据库并不保存在一个服务器或节点中。在区块链中,交易被记录在一个被称为 哈希 hash 的不可改变的加密符号中。这意味着,如果一个通道或链上的一个区块被改变,黑客将很难改变链上的那个区块,因为他们必须对外面的每一个版本的链都要这样做。区块链,如比特币和以太坊,随着新的区块被添加到链上而不断增长,这使得账本更加安全。

随着区块链中智能合约的实施,在没有任何人工干预的情况下,有了自动执行的场景。智能合约技术使得执行最高级别的安全、隐私和反黑客实施成为可能。

Figure 1: Market size of blockchain technology (Source: Statista.com)

区块链的用例和应用是:

  • 加密货币
  • 智能合约
  • 安全的个人信息
  • 数字健康记录
  • 电子政务
  • 不可伪造的代币(NFT)
  • 游戏
  • 跨境金融交易
  • 数字投票
  • 供应链管理

根据 Statista.com,自过去几年以来,区块链技术市场的规模正在以非常快的速度增长,预计到 2025 年将达到 400 亿美元。

区块链的编程语言和工具箱

有许多编程语言和开发工具包可用于分布式应用和智能合约。区块链的编程和脚本语言包括 Solidity、Java、Vyper、Serpent、Python、JavaScript、GoLang、PHP、C++、Ruby、Rust、Erlang 等,并根据实施场景和用例进行使用。

选择一个合适的平台来开发和部署区块链,取决于一系列因素,包括对安全、隐私、交易速度和可扩展性的需求(图 2)。

Figure 2: Factors to look at when selecting a blockchain platform

开发区块链的主要平台有:

  • 以太坊
  • XDC Network
  • Tezos
  • Stellar
  • Hyperledger
  • Ripple
  • Hedera Hashgraph
  • Quorum
  • Corda
  • NEO
  • OpenChain
  • EOS
  • Dragonchain
  • Monero

DAML:一种高性能的编程语言

数字资产建模语言 Digital Asset Modeling Language ,即 DAML(daml.com),是一种高性能的编程语言,用于开发和部署区块链环境中的分布式应用。它是一个轻量级和简洁的平台,用于快速应用开发。

Figure 3: Official portal of DAML

DAML 的主要特点是:

  • 细粒度的权限
  • 基于场景的测试
  • 数据模型
  • 业务逻辑
  • 确定性的执行
  • 存储抽象化
  • 无重复开销
  • 负责任的跟踪
  • 原子的可组合性
  • 授权检查
  • 需要知道的隐私

安装和使用 DAML

DAML SDK 可以安装在 Linux、macOS 或 Windows 上。在多个操作系统上安装 DAML 的详细说明可访问 https://docs.daml.com/getting-started/installation.html

你必须具备以下条件才能使用 DAML:

  • Visual Studio Code
  • Java 开发套件(JDK)

DAML 可以通过下载并运行可执行的安装程序在 Windows 上安装,你可访问 https://github.com/digital-asset/daml/releases/download/v1.18.1/daml-sdk-1.18.1-windows.exe

在 Linux 或 Mac 上安装 DAML 可以通过在终端执行以下内容来完成:

$ curl -sSL https://get.daml.com/ | sh

安装 DAML 后,可以创建基于区块链的新应用,如图 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

研究和开发的范围

区块链技术为不同类别的应用提供了广泛的开发平台和框架。其中许多平台是免费和开源的,可以下载和部署以用于基于研究的实现。研究学者、从业者和专家们可以使用这些平台为众多应用提出和实施他们的算法。


via: https://www.opensourceforu.com/2022/05/daml-the-programming-language-for-smart-contracts-in-a-blockchain/

作者:Dr Kumar Gaurav 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

区块链技术之分布式存储
随着互联网技术应用技术的普遍使用,所有行业的数据量指...
2025-06-01 18:55:48
蚂蚁数科开源虚拟机DTVM...
4 月 24 日,一款名为 DTVM(DeTerministic ...
2025-04-24 18:47:57
狮腾控股:推出首个融合De...
【财华社讯】狮腾控股(02562.HK)公布,与盟拓数字科技达成独...
2025-03-06 11:21:41
狮腾控股推出“Geene”...
狮腾控股(02562)发布公告,与一家拥有300多名人工智能及技术...
2025-03-06 09:21:49
狮腾控股:推出融合Deep...
每经AI快讯,3月6日,狮腾控股在港交所公告,公司与一家拥有300...
2025-03-06 08:50:16
狮腾控股(02562)推出...
智通财经APP讯,狮腾控股(02562)发布公告,与一家拥有300...
2025-03-06 08:18:29

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...