技术干货 | Starport 发布新版本 v0.16,引入 Keplr 钱包,提供更好的 IBC 支持

本文由 Cosmos China 中文技术社区翻译,原文作者为 Denis Fadeev,原文链接为:

https://medium.com/tendermint/starport-v0-16-bring…

Starport v0.16 版本正式发布!开发者构建区块链将更为便捷。如果您的区块链项目正考虑使用一款高扩展性、交互性、环保型的 Cosmos 技术,那么一定不要错过这次更新。想要了解更多关于此次重大更新的信息,以及如何在几分钟内轻松部署您的区块链吗?继续阅读吧!

Starport v0.16:
https://github.com/tendermint/starport/

Starport v0.16 版本

目前,有越来越多的人通过 Starport 搭建区块链并尝试使用 Cosmos 提供的前沿技术,因此我们决定降低 Starport 的使用门槛。v0.16 版本发布后,使用者只需敲击一下键盘即可完成 Starport 安装,此外,您还可以体验升级后的构建能力,并通过我们开创性的跨链通信协议(IBC)连接到其他区块链上。

跨链通信协议 IBC:
https://ibcprotocol.org/

这次 Starport v0.16 的一大主要特点就是将所有的依赖包(dependencies)以二进制的形式进行绑定。这就意味着开发者在安装 Starport 后,只需通过简单的命令行便可开始区块链的搭建工作。不仅如此,我们还对脚手架命令行进行了功能扩展,通过智能检测占位符的方式使构建区块链更加可靠。另外,我们为不是通过 Starport 构建的 Cosmos 项目也提供了搭建脚手架模块,可以让开发者具有更多的开发灵活性。

最新的 Vue 前端集成了 Keplr 钱包功能,可以通过直观的 UI 界面更轻松地与终端用户连接。同时会有一个专门的中继器(relayer)让你的区块链连接到 Cosmos Hub 或其他基于 IBC 协议的区块链上,让你的项目加入如今不断成长的跨链生态中。新的 network 功能增强了对启动新区块链过程的控制,您甚至可以传输自定义初始创世 genesis 文件并手动发送「创建验证人」交易。

构建测试、查询和模块

Starport 最吸引区块链开发人员的核心功能之一是能够搭建代码以引导开发过程。因此,在 v0.16 版本中,我们进一步提高了搭建过程的可靠性,并添加了可用于搭建的新组件。

CRUD 脚手架只需敲入命令行就可以立即生成一整套测试,使得开发者具有绝佳的体验,并帮助您更好地理解如何为 Cosmos SDK 区块链编写测试。所有单元测试和集成测试都是自动生成的。只需输入一些命令行,运行 go test./… 即可。

CRUD 脚手架可以通过一行命令行为你的区块链增添新的功能。有了运行 test 的能力之后,开发者管理生成代码便更加容易。需要注意的是,逻辑中的 types 更新通过手动更新时,不需要传递 messages。这也就是说添加 –no-message flag 后缀即可。

为了使搭建过程更加具有弹性,我们为查询功能添加了 starport query 命令行。例如:

<code><span class=”code-snippet_outer”>starport query sellOrderBook orderID –response amountDenom,priceDenom</span>

开发者只需指定请求字段(requery fields)作为后缀参数,通过–response 或 (-r) flag 指定响应内容(响应字段通过逗号分开)。开发者也可以添加–desc flag 获取当前命令行的详情,对于大量数据的查询可以通过添加 –paginated flag 实现分页功能。

为了使得脚手架命令行更加健壮,我们增加了最新的占位符追踪(placeholder tracking)功能,防止所需占位符不存在时终止搭建的特殊情况。这个功能可以确保 Starport 生成的代码能够被成功编译,且避免产生与构建相关的错误。

另一个很棒的新功能是无论该区块链是否通过 Starport 搭建,都可以让开发者搭建 Cosmos SDK 模块。例如,像是 Gaia 这样的区块链可以通过自定义模块进行扩展,types,messages 和 queries 都可以简单地通过脚手架进行构建。


视频地址:
https://youtu.be/-AuExRijtrA

在新版本中,Starport 会为您的区块链 API 生成标准、导入和自定义 Cosmos SDK 模块的 OpenAPI 文档。默认情况下,OpenAPI 文档会生成在 docs 目录下。该文档将在网络上发布并嵌入到节点的二进制文件中。在运行 starport serve 命令时,您可以通过一个简单的 Swagger 界面轻松查看可用的 API 端点和发出 HTTP 请求。与 v0.16 版本中的所有功能一样,我们在每一个阶段都考虑到了易用性和配置的优化。

IBC 中继器

中继器(relayer)在互联区块链网络中发挥着关键作用。在 Starport 过往版本中,我们添加了 Go 语言的中继(relayer) 功能,以简化 IBC 模块的开发过程,并使您能够快速轻松地连接到本地和远程的其他链。

在 v0.16 版本中,我们使用更为健壮的 TypeScript 中继器作为我们的 CLI 命令行。尽管 starport relayer configure 和 connect 高级命令的接口没有发生变化,但现在连接到 Cosmos Hub 等主网链的过程变得更加稳固。

通过使用 TypeScript 中继器,我们还能够将中继器功能添加到 Vue 前端。这也意味着您可以通过直观的图形界面在浏览器中连接到链。

Keplr 集成

Keplr 是 Cosmos 生态中最受欢迎的钱包插件。Keplr 安装便捷、使用方便,还能够支持 IBC 协议。因此,大多数开发人员希望在他们的区块链 UI 界面中集成 Keplr,以便使终端用户能够直接通过扩展功能查看其通证余额并完成签名。

通过版本更新,Starport 的 Vue 前端与 Keplr 实现了无缝集成,拉近了终端用户与区块链之间的距离。如果要尝试 Keplr 功能,您可以搭建一条新链或使用独立的 Vue 模板。

独立的 Vue 模板:
https://github.com/tendermint/vue/tree/develop/pac…

通过自定义 Genesis 文件启动一条区块链

在 Starport v0.16 版本中,我们扩展了 network 命令集,让开发者可以通过自定义genesis文件启动区块链。简单的将自定义的 genesis.json 文件的 URL 添加到 –genesis flag 之后即可。

<code><span class=”code-snippet_outer”>starport network chain create [chainID] –genesis <<a href=”https://example.org/genesis.json”>https://example.org/genesis.json</a>></span>

join 命令现在有了新的可选 flag:–gentx 和 –peer。前者用于传输「创建验证人」交易文件(gentx.json),后者则用于传输验证人节点服务器的 peer 地址。

show 命令行现在可以输出flag –genesis 的 genesis 文件或带有 –peers flag 的 peers 节点列表。

所有 starport network 命令行都具有有 –nightly flag,该 flag 需通过 develop 分支搭建的 Starport CLI 共同使用。默认情况下,来自 Starport 的请求会转到以下测试网:

https://rpc.alpha.starport.network

带有 –nightly 请求则将被发送至以下测试网:

https://rpc.nightly.starport.network

以上所有新增功能都可以帮助您轻松发布自己的测试网,并在安全的环境中尝试引入您的验证人。我们的下一步计划是推出 Starport Network,以降低验证人加入门槛,并提高其可用性。

Starport Network 正在积极开发中。更多相关信息将在今年晚些时候发布,请务必保持关注。当前版本中的 starport network 命令旨在为后续的新功能提供一个小小的「剧透」。

新版本中的其他变化

新版本不再支持 Cosmos SDK v0.39 Launchpad

starport serve 不再用于启动 vue 目录下的 web 应用。使用者需要通过 npm 手动启动
默认搭建工具不再包含遗留的 REST API 终端
我们修复了当代码库名称中带有下划线时无法搭建区块链的错误

开始使用 Starport

您准备好使用 Starport v0.16 版本了吗?

安装 Starport CLI:

<code><span class=”code-snippet_outer”>curl <<a href=”https://get.starport.network/starport”>https://get.starport.network/starport</a>>! | bash</span>

Starport CLI:
https://github.com/tendermint/starport/

点击下方链接了解更多有关搭建区块链的信息:https://tutorials.cosmos.network
点击下方链接阅读 Starport 相关文档:
https://docs.starport.network

还有其他问题?欢迎加入 Discord 频道:

https://discord.gg/vcExX9T

大量 Starport 用户与开发人员会为您答疑解惑,让您轻轻松松启用 Cosmos 区块链,并连接到 Cosmos 生态。

您可以通过以下方式找到 Cosmos:


官网:https://cosmos.network

论坛:https://forum.cosmos.network

微信公众号:cosmosnetwork

英文电报群:https://t.me/cosmosproject

推特(中文):https://twitter.com/cosmoschina

推特(英文):https://twitter.com/cosmos

Medium:https://blog.cosmos.network

Discord #cosmos-china:

https://discord.gg/bmhu9F9xbX