原文链接:
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虚拟机:
https://medium.com/@interchain_io/virtual-machines-take-off-in-the-cosmos-3d11bd6ae942
Confio的Ethan Frey(他也是Regen Network的首席工程师)设计了在Cosmos SDK应用程序之上运行的第一个WASM虚拟机实现。我们很高兴地宣布,它现已可用于Cosmos社区!如果你是Rust开发人员,则可以轻松编写智能合约,这些合约可以上传到任何包含CosmWasm模块的基于Cosmos SDK的链。你可以在以下链接中找到有关该技术的更多信息:
- 文档网站:https://www.cosmwasm.com/
- Github代码库:https://github.com/confio/cosmwasm
- 开发人员博客文章:https://www.cosmwasm.com/blog/
- 即将推出:在CosmWasm上重建Cosmos名称服务应用程序的教程——访问Github代码库讨论和支持开发
将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的观点或行为。
来源:COSMOS
本文由用户:跳舞精灵 发布,不代表网站的立场,转转请注明出处:http://www.maiyaotop.com/hangye/67314.html