探索 ErgoScript:Ergo 的原生脚本语言

This page is machine-translated.
Ergo Platform

2024年3月26日

区块链编程语言

计算机编程的世界展示了广泛而多样的编码语言。没有一种语言适合所有人,每种语言都有不同程度的优缺点。如果你熟悉编码,毫无疑问你听说过 JavaScript、Python、Java、C#、C++、Solidity、Rust 等等。

在区块链设计方面,这些语言中的几种已被用于构建著名的加密货币网络。

Снимок экрана 2024-03-27 в 21.36.36.png

Ergo 平台:脚本和工作量证明区块链的新范式

当 Alex Chepurnoy(又名 kushti)和 Dmitry Meshkov 开始设计一个新的第三代智能合约区块链时,他们希望创建一个结合比特币的工作量证明和 UTXO 设计与表达性智能合约的网络。基本上,目标是将比特币经过时间考验的模型与以太坊生成智能合约和去中心化应用程序的能力结合起来。在这一努力的核心是希望为每个人构建一个区块链。一个优先考虑改善普通公民生活的产品。从这一努力中,他们创建并推出了 Ergo 平台。

为了构建 Ergo,他们需要创建一种满足其独特需求的编程语言。kushti 和 Meshkov 一起开发了一种新的脚本语言 ErgoScript,以便他们能够在 Ergo 平台上编写灵活且安全的智能合约。

什么是 ErgoScript?

ErgoScript 是用于在 Ergo 区块链上编写智能合约的编程语言。它特别以能够创建高级金融工具和去中心化应用程序(dApps)而闻名,重点关注安全性和可扩展性。其设计源自 Scala,这是一种多范式编程语言,旨在以简洁、优雅和类型安全的方式表达常见的编程模式。根据 Ergo 白皮书,ErgoScript 被描述为:

“…一种强大且协议友好的加密货币脚本语言。ErgoScript 中的程序用于指定货币可以被花费的条件。该语言支持一种称为 Σ(Sigma)协议的非交互式零知识证明,并且足够灵活,允许环签名、多重签名、多种货币、原子交换、自我复制脚本和长期计算。”

ErgoScript 的主要特性包括:

  1. 基于 Sigma 协议:ErgoScript 建立在 Sigma 协议(或 Σ 协议)之上,这是一种加密协议。这一基础允许创建灵活且高度安全的智能合约。
  2. 声明式方法:与描述如何做某事的命令式语言不同,在 ErgoScript 中,你描述必须满足的条件。这是一种声明式语言,区块链的状态决定脚本是否有效。
  3. 链外代码:Ergo 允许在链外执行复杂操作,减少区块链的负担。ErgoScript 用于确保这些操作在提交到区块链时遵循约定的规则。
  4. 灵活性和安全性:该语言旨在提供高度的灵活性以创建合约,同时确保强大的安全性。这在 Ergo 平台的金融合约和去中心化金融(DeFi)应用程序的背景下尤为重要。
  5. 成本效益:Ergo 的设计结合 ErgoScript,旨在最小化智能合约的计算成本。这对于维护可扩展和高效的区块链系统至关重要。
  6. 与 Ergo 特性的集成:ErgoScript 利用 Ergo 的独特特性,如箱存储模型,其中数据和代币存储在区块链上的“箱子”中,并且可以设置关于如何转换和使用这些箱子的复杂条件。

ErgoScript 代码:示例

以下脚本包含花费交易输出的条件:

{
val condition = HEIGHT > 1000 && OUTPUTS(0).propositionBytes == fromBase64("yourBase64EncodedPublicKey")
sigmaProp(condition)
}

  1. HEIGHT > 1000:这检查区块链的当前区块高度是否大于 1000。HEIGHT 指的是交易时区块链的高度。此条件确保输出只能在区块链达到某一高度后才能被花费,有效地创建了时间锁。

  2. OUTPUTS(0).propositionBytes == fromBase64("yourBase64EncodedPublicKey"):脚本的这一部分检查交易的第一个输出(OUTPUTS(0))是否具有特定的公钥。公钥在脚本中以 Base64 格式编码。此条件确保输出只能由发送到你指定的地址(或公钥)的交易花费。

  3. sigmaProp(condition):这是 ErgoScript 表达条件必须为真以满足脚本的方式。sigmaProp 是一个将布尔表达式转换为 Sigma 命题的函数。

当此脚本附加到 Ergo 区块链上的未花费交易输出(UTXO)时,它施加了区块链必须超过区块高度 1000 的条件,并且输出必须发送到指定的公钥才能被花费。这种类型的脚本可用于时间锁合约或确保资金仅发送给特定接收者。

如果你是开发者,并且对 Ergo 平台如何适合你想要构建的产品感到好奇,建议你探索 入门 部分的 Ergo 文档。

结论

虽然 ErgoScript 提供了几个优势,但重要的是要注意,构建区块链的“最佳”语言可能会因项目的具体需求和目标而异。然而,ErgoScript 特别适合需要高安全性、高级合约功能和交易处理效率的项目。随着时间的推移,它已被证明是开发者在 Ergo 生态系统中工作的重要工具,为构建各种去中心化解决方案提供了强大的框架。

Share post

Ergo基础设施DAO:去中心化Ergo生态系统的支柱

Ergo基础设施DAO:去中心化Ergo生态系统的支柱

Ergo的使命一直根植于去中心化,不仅在共识层面,而是在整个技术栈中。随着Ergo基础设施DAO (InfraDAO)的推出,这一愿景正在扩展到每天为生态系统提供动力的服务和基础设施。 InfraDAO现在在Paideia上正式上线,经过成功的治理投票。最初.

Ergo Platform

2025年8月13日

Mew Finance:一个为Ergo生态系统提供的有趣DeFi工具包

Mew Finance:一个为Ergo生态系统提供的有趣DeFi工具包

Mew Finance是一个基于Ergo区块链的去中心化应用套件。该项目于2024年10月启动,将DeFi、数字资产和跨链功能整合到一个统一的平台中。长期社区开发者HQΣr和Aco Šmrkas领导该项目。设计上偏向模块化、易用性和深度生态系统集成。 本文是.

Ergo Platform

2025年8月12日

Lithos:通过链上矿池实现去中心化挖矿

Lithos:通过链上矿池实现去中心化挖矿

Lithos是一个新协议,旨在通过将矿池转移到链上来彻底改革矿池的运作方式,使矿工完全控制,并消除对中心化矿池运营商的需求。与之前大多数去中心化挖矿的尝试不同,Lithos旨在高效、可扩展和安全。 什么是Lithos? Lithos是一个去中心化的矿池协议.

Ergo Platform

2025年7月24日

Sigma 6.0:更智能、更灵活的Ergo

Sigma 6.0:更智能、更灵活的Ergo

Sigma 6.

Ergo Platform

2025年7月23日

塑造Rosen的未来:关于五项关键财政提案的社区呼吁

塑造Rosen的未来:关于五项关键财政提案的社区呼吁

Rosen的联合创始人Armeanio已向Rosen财政提交了五项新提案。这些提案概述了Rosen Bridge的增长、实用性和可扩展性的战略愿景,这是Ergo互操作性基础设施的核心组成部分。 这是Ergo社区审查和讨论这一重要跨链服务未来方向的关键时刻。以.

Ergo Platform

2025年7月9日

Ergo的扩展UTXO与人工经济智能的崛起

Ergo的扩展UTXO与人工经济智能的崛起

自主经济代理的实用愿景 Ergo区块链上的自主经济代理在真实的数字经济中执行有用的工作。它们通过创建内容和提供数据分析、模式识别等服务来产生收入。它们利用收入支付运营费用,如托管费和服务器成本,并使用现代工具,如SSH和加密友好的托管服务提供商。当有额外资金.

Ergo Platform

2025年5月12日

ErgoHACK X:在Ergo区块链上的人工智能

ErgoHACK X:在Ergo区块链上的人工智能

庆祝去中心化创新的十年 加入第十届ErgoHACK,站在Ergo区块链AI革命的最前沿!释放你的创造力,与其他创新者合作,共同构建去中心化AI的未来。 关于ErgoHack ErgoHACK,旗舰社区黑客马拉松,庆祝其十周年!这一里程碑事件是Ergo生态系统.

Ergo Platform

2025年4月10日

ERG正式上线Kucoin(库币)交易所

ERG正式上线Kucoin(库币)交易所

据Kucoin官方通告,Ergo平台原生代币ERG于8月3日正式上线Kucoin(库币)交易所。目前支持的交易对是ERG/USDT。现已开放充值;2021年8月5日UTC时间上午10:00开放交易;2021年8月6日UTC时间上午10:00开放提币。 .

Ergo Foundation

2021年8月3日

Ergo两周年纪念——早期采用者应了解的核心知识

Ergo两周年纪念——早期采用者应了解的核心知识

Normal 0 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.

root7Z

2021年7月5日

关于Ergo启用官方QQ频道的公告

关于Ergo启用官方QQ频道的公告

由于Ergo官方微信号暂无法使用,Ergo官方现新增Ergo官方QQ频道:796039547。全球中文用户可通过扫描下面的二维码加入Ergo中文社区,及时了解Ergo最新官方动态. .

Eva Qing

2021年6月30日

Ergo首届黑客松大赛ERGOHACK圆满结束

Ergo首届黑客松大赛ERGOHACK圆满结束

Ergo首届黑客松大赛已经圆满结束,它正如计划那样:规模小而富有实验性,但依然收到了一些很棒的作品提交。Kushti以他的开场视频拉开了活动的序幕,然后我们总共有六个团队,其中来自anon_real(AuctionHouse、SigmaUSD UI等项目的创建.

Curia Regis Crypto

2021年6月29日

关于举办首届Ergo中国社区驱动践行活动的公告

关于举办首届Ergo中国社区驱动践行活动的公告

为了进一步提高Ergo公链平台在中国的知名度,让更多用户深入了解Ergo,同时为了践行Ergo社区驱动的理念,Ergo中国社区现特别举办“首届Ergo中国社区驱动践行活动”。活动参与者积极向新用户布道Ergo并将其引至Ergo官方指定社群,将有机会赢取ERG奖.

Eva Qing

2021年6月4日

比特币的前进之路是努力追赶Ergo ——Ergo率先实现扩展UTXO智能合约

比特币的前进之路是努力追赶Ergo ——Ergo率先实现扩展UTXO智能合约

比特币 比特币是一头野兽。是的,其底层软件需要认真升级。它真的太慢了。但是,您也必须承认它的优势,网络效应是非常强大的------比特币是加密货币之王。在全球范围内,比特币正成为一个常见、被理解和被采用的术语。大型信托、投资巨头和对冲基金经理,都被比特币的主.

Curia Regis Crypto

2021年5月23日

关于Ergo基金会任命谭声情先生担任中国区大使的公告

关于Ergo基金会任命谭声情先生担任中国区大使的公告

经Ergo基金会批准,现任命谭声情先生(英文名:Tango)担任Ergo中国区大使。 为了提升Ergo在中国的知名度与影响力,Ergo基金会现授权谭声情先生以Ergo中国区大使身份进行Ergo在中国的品牌宣传、商务洽谈、社区活动、主题推广等事宜。 此任命自.

Ergo Team

2021年5月16日

硬分叉事后说明

硬分叉事后说明

英文链接: 应@kushti的请求,我现在给大家说明一下今天在硬分叉升级期间发生的事情。有一些BUG导致矿工无法出块,现已修补好这些BUG,矿工可以出块。 version2ActivationDifficultyHex中出现往返编码失败(Round-T.

Eva Qing

2021年2月3日

硬分叉升级后Ergo挖矿须知

硬分叉升级后Ergo挖矿须知

Ergo将在区块#417,792上进行硬分叉协议升级。此次升级会引入重大更改,包括将关闭不可外包功能(Non-Outsourceability)。经过此次硬分叉之后,新的PoW(被称为Autolykos v2.

Eva Qing

2021年2月1日

如何设置和配置Ergo全节点

如何设置和配置Ergo全节点

如何设置和配置Ergo全节点 本教程说明了如何安装和运行Ergo全节点,不涵盖挖矿。  Windows用户还可以观看视频教程。 如何在Windows上设置和配置Ergo全节点 视频链接: 节点安全 这里是节点使用的一些重要方面,您的钱包及代币是否安全.

Eva Qing

2021年1月21日

既想享受乐趣,又想赚取利润? ——那就赶紧来挖ERG

既想享受乐趣,又想赚取利润? ——那就赶紧来挖ERG

Ergo GPU挖矿 本文将帮助您开始使用GPU挖矿Ergo原生代币ERG。 Ergo挖矿基于Autolykos,即一种工作量证明(PoW)算法,被设计为阻碍ASIC矿机和矿池。矿工须执行存储困难的计算(需要至少4 GB的内存,但是当前最有效的实现使用的是.

Eva Qing

2021年1月21日

适用于AMD GPU的Autolykos v2(Ergo)的OpenCL挖矿软件

适用于AMD GPU的Autolykos v2(Ergo)的OpenCL挖矿软件

适用于ergoplatform.

Eva Qing

2021年1月19日

适用于Nvidia GPU的Autolykos v2(Ergo)用Cuda挖矿软件

适用于Nvidia GPU的Autolykos v2(Ergo)用Cuda挖矿软件

用于ergoplatform.

Eva Qing

2021年1月19日

尔格基金会为主要去中心化应用(dApp)基础设施提供资助

尔格基金会为主要去中心化应用(dApp)基础设施提供资助

尔格基金会将考虑支持重大生态系统开发项目提供资助的建议。 尔格是一个面向社区的项目,该生态系统的方方面面都有许多贡献者。尔格基金会会拿出一部分资金资助此项工作,这对于构建用户所需的日常产品与服务以及更多样化的金融去中心化应用至关重要。该基金会正在积极寻求.

Guy Brandon

2020年11月17日