Redian新闻
>
DAML:区块链中智能合约的编程语言 | Linux 中国

DAML:区块链中智能合约的编程语言 | Linux 中国

科技
 
导读:DAML 智能合约语言是一种专门设计的特定领域语言domain specific language(DSL),用于编码应用的共享业务逻辑。它用于区块链环境中分布式应用的开发和部署。
本文字数:2268,阅读时长大约:3分钟

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

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

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

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

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

区块链的用例和应用是:

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

根据 Statista.com🔗 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🔗 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 可以通过在终端执行以下内容来完成:

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

安装 DAML 后,可以创建基于区块链的新应用,如图 4 和 5 所示。

Figure 4: Creating a new app

在另一个终端中,新的应用被导航并安装了项目的依赖:

Figure 5: Running DAML

  1. WorkingDirectory>cd myapp/ui
  2. WorkingDirectory>npm install
  3. 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中国 荣誉推出


LCTT 译者 :geekpi
💎💎💎💎
翻译: 1695.5 篇
|
贡献: 3136 天
2013-10-25
2022-05-27
https://linux.cn/lctt/geekpi
欢迎遵照 CC-BY-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
为爱鼓掌如何成了区块链致富之道?【夏日的蓝色海岸】(3)蓝色海岸不止中本聪,区块链“鼻祖”其实是位深藏功与名的神秘华人Nushell: 一个让你更清楚地了解错误信息的跨平台 Shell | Linux 中国Want to be a better beekeeper?区块链炒房?伦敦首个房地产代币化项目来了!背后是香港知名家族...放几张刚过去的秋冬小照腾讯裁撤NFT交易平台幻核?关于NFT、区块链、Web3.0、元宇宙,我把我知道的,一次性都告诉你。上一个说“丼”不读jǐng的人,已经被我骂哭了从「提升效率」到「促进公平可持续」,微众区块链有了新使命馬來西亞國民早餐?【半生熟蛋】实测 Linux Mint 升级工具 | Linux 中国区块链+供应链:共建全国统一大市场Linux 中国开通播客频道:“开源朗读者”和“硬核观察” | Linux 中国数字藏品平台「元物之门」完成数百万元天使轮融资,依托区块链技术传承传统文化|早起看早期在 Linux 上学习 C 语言的五种方式 | Linux 中国欧科云链副总裁张超:区块链终将服务于实体经济的方方面面丨甲子引力韩国人整崩区块链:Luna币史诗级暴跌,韩游戏公司股价集体大跌如何在 Linux 桌面中启用 “激活 Linux” 水印通知 | Linux 中国我如何在 Linux 上扫描家庭照片 | Linux 中国区块链技术会如何影响招聘流程?硬核观察 #680 互联网之父想要去中心化的互联网,但不要区块链一个为数字藏品行业而生的 “智能合约钱包”一门备受争议却又曾风靡学术界的编程语言书单 | 摩根大通发布2022年夏季书单,NFT、区块链等话题上榜嫁接区块链隐形功能:偷税明星和贪官的克星移动版 GNOME Shell:希望之始,期望满满 | Linux 中国Animoca CEO萧逸谈区块链游戏:发展阻力在西方,要为玩家创造价值Archinstall 新的菜单系统让安装 Arch Linux 更容易了 | Linux 中国不同编程语言是如何完成同一件事 | Linux 中国建议孙宇晨给拍一部《区块链之狼》如何在 Linux 和 Windows 电脑之间共享文件 | Linux 中国案例 | Paxos:受监管的区块链基础设施提供商硬核观察 #645 JavaScript 和 Python 继续统治编程语言,但 Rust 在崛起
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。