CosmWasm 宣布正式启动

原文链接:https://blog.cosmos.network/announcing-the-launch-of-cosmwasm-cc426ab88e12
原文作者:Michelle Leech

Cosmos SDK是基于某些设计考虑用Golang编写以允许自定义模块。然而,扩展为多种编程语言对于提高被开发人员采用至关重要。其最终目的是让区块链互联网,即“跨链”,能够支持通过跨链通信协议(IBC)连接的大量实现和功能。

2019年6月,首个Cosmos HackAtom 在柏林召开,标志了CosmWasm的开始。此次黑客马拉松的目标是为有兴趣在Cosmos网络上构建的开发人员扩展工具。CosmWasm是一个在Cosmos SDK中启用WebAssembly(WASM)虚拟机(VM)的项目,是许多最终从Interchain基金会获得资助的开发工具类项目之一。

在Cosmos SDK中启用WASM虚拟机:

Confio的Ethan Frey(他也是Regen Network的首席工程师)设计了在Cosmos SDK应用程序之上运行的第一个WASM虚拟机实现。我们很高兴地宣布,它现已可用于Cosmos社区!如果你是Rust开发人员,则可以轻松编写智能合约,这些合约可以上传到任何包含CosmWasm模块的基于Cosmos SDK的链。你可以在以下链接中找到有关该技术的更多信息:

将WebAssembly添加到Cosmos SDK可以让使用多种语言编写的软件在区块链上安全运行。WASM是一种中间语言,可将开发人员选择的语言编译为便携式虚拟机。这意味着你可以将一个简单,安全,快速的虚拟机设置为沙盒,或者对应用程序的操作进行分区,以实现更好的测试,安全性,性能和速度。

新的编程语言进入Cosmos网络对整个开发生态系统有许多好处:

首先,该产品允许开发人员使用Rust编写与Cosmos SDK无缝集成的模块,因此他们在开发主要基于Rust的自定义应用程序逻辑时,可以利用经过主网验证的Cosmos-SDK模块和BPoS Tendermint共识算法。

其次,能够在交易中上载代码而不是重新启动链,可以更快地部署新功能。仅仅在更改核心逻辑时,才需要Cosmos Hub升级。这使应用专有链可以冻结质押逻辑,并通过自定义智能合约快速迭代其核心价值定位。

尤其是,如果它们将合约部署限制在治理范围内,可以为链提供一种简便的方法来快速交付代码。如果我们启动了默认情况下无需许可上载智能合约的链,则可以在Tendermint上构建以太坊替代方案。

构建智能合约时,一个重要的性能考虑因素是数据包的大小。WebAssembly自然比Ethereum字节码大,因为它提供了更多通用性。Rust没有垃圾收集器,并且可以从构建中排除标准库,这意味着最小的简单托管合约需要大约50kB(压缩的为16kB)。Golang或Haskell是替代方案,但可能会产生数百kB的合约。基于这种考虑,以及Rust在区块链生态系统中的流行,促使Tendermint团队将其用作Cosmos SDK中WebAssembly合约的第一种实现语言。

虽然生态系统仍处于新生阶段,但CosmWasm中的智能合约环境已经图灵完备。这意味着你可以执行任何可以在以太坊中实现的逻辑,并可以在Cosmos SDK中执行它,而无需修改基础区块链。CosmWasm模块包括成熟的构建和测试环境,并由于Rust的原生编程功能而带有集成开发环境(IDE)。有关“CosmWasm入门”的详细指南,请访问产品的文档:

如果你是将Cosmos SDK结合进CosmWasm使用的Rust开发人员,则意味着:

  • 你只需要极少的Golang知识。
  • 你可以开始在Cosmos SDK上构建并轻松集成到现有Cosmos网络中。
  • 可以以最小的开销将你现有的链或应用程序扩展到Cosmos链。

如果你是同时将CosmWasm结合进Cosmos SDK的Go开发人员,好处包括:

  • 仅需极少的Rust知识,因为CosmWasm工具设计地很好。
  • 在Cosmos SDK中添加Rust编程逻辑就可以进行实时升级或自定义合约,从而增强应用程序的自定义和执行能力。
  • 你可以使用Rust的类型安全性和测试,以及Rust中相对常见的编码和加密签名——这对于开发在DeFi中使用的高度安全的区块链应用程序是非常理想的选择。

本博客文章中表达的观点属于All In Bits Inc(dba Tendermint Inc),并不一定代表Interchain Foundation的观点或行为。

2 Likes