Forge 1.0发布 实现同构链的原子互换机制

2019-11-20 13:00:02
来源: 新浪

  【摘要】 很高兴和大家分享一条好消息,我们终于发布了 Forge 1 0 ! 经过最近几个月的努力,我们终于将 Forge 以及 Forge CLI 带到了一个稳定的阶段。Forg

很高兴和大家分享一条好消息,我们终于发布了 Forge 1.0 ! 经过最近几个月的努力,我们终于将 Forge 以及 Forge CLI 带到了一个稳定的阶段。Forge 1.0 和 Forge CLI 1.0 中包含了许多重要的更新,本文将会逐一介绍。

Forge 1.0

在 Forge 1.0 中,除了保持 Forge 的健壮外,我们还增加了一些新的功能,比如支持跨链、更方便的升级链等等。

跨链支持

为了更大程度的支持链上资产在不同链上的流通,我们为 Forge 设计并实现了同构链的原子互换机制。

所有用 Forge 启动的链都可以认为是同构链,区块链应用开发者可以根据需要方便的在任意两条 Forge 启动的链上做通证(Fungible Token)或者非标资产(Non-Fungible Token)的互换,用来完成原子互换的智能合约有:SetupSwap、RetrieveSwap、RevokeSwap。目前同构链的原子互换能力已经内置在 Forge 发行版之中供开发者使用。

链升级

Forge 1.0 中增加了更新补丁(Patch Version)的功能,Patch 版本之间版本的切换不需要发送 upgrade_node transaction。

更详细的升级规则可以查看 Forge CLI 手册[1]。

智能合约

增加了几个内置的智能合约(Smart Contract):

•激活/停止 智能合约:activate, deactivate

•Delegate 相关:delegate, revoke_delegate

•Token Swap 相关:deposit_token, withdraw_token, revoke_withdraw, approve_withdraw

不再支持的功能

•废弃钱包相关的 RPC 接口 新版中,Forge 将不再支持钱包(wallet)的管理,同时废弃了钱包相关的 RPC 接口:create_wallet, load_wallet, recover_wallet, list_wallet, remove_wallet, create_tx, multisig

•不再集成 IPFS

升级 OTP & Elixir & Consensus Engine

•OTP:v22.0

•Elixir:v1.9.0

•Consensus Engine(Tendermint):v0.32.7

重构

区块索引数据库:新版中,Forge 索引器将从 state db 拉取数据,而不再是在执行 forge transaction 时接收推送数据。这样可以避免在创建索引时引发的许多 Bug;同时,如果当前的索引数据不满足需求或者 Schema 发生了更改,还可以随时重新创建索引。

Bug 修复

当然,我们也修复了一些 Bug,解决了许多已知的问题。

代码统计数据

•提交:592 次

•解决 Issue:429 个

•发布版本:188 个

(截止至 2019-11-12 18:00:00)

Forge CLI 1.0

Forge CLI 1.0 除了对最新的 Forge 支持外,CLI 自身也对易用性做了许多改进。

创建、管理多条链

在本地开发时,可能需要多条链的支持,使用最新版的 CLI 可以方便的在本地创建并启动多条链:

$ forge chain:create beijing

经过简单的交互命令后,就完成了一条链的创建:

启动链

$ forge start beijing

多条链节点进程展示

停止链

$ forge stop [chainName]

Blocklet

我们在 9 月份发布了 Blocklet[2],同时 CLI 添加了创建 Blocklet、使用 Blocklet等功能的支持。

更详细的内容可以查看 Forge CLI 手册[3]。

链的软升级

CLI 添加了对链的软升级功能,如果本地已经下载好了需要升级的 Forge 版本,执行 forge upgrade 命令,然后选择相应的 Forge 版本以及块高,CLI 就会自动完成整个升级过程:

全局配置

CLI 添加了全局配置的功能,这样可以很方便的将某些配置应用到每一个相关的命令,比如设置 mirror, npmRegistry 等等。(张镇强)

可以使用 forge config 命令来管理全局配置。

更详细的内容可以查看 Forge CLI 手册[5]。

增强管理智能合约功能

CLI 添加了创建智能合约骨架的命令,以及 activate/deactivate 智能合约的的命令:

•创建智能合约骨架: forge contract:create

•激活智能合约: forge contract:activate

•停用智能合约: forge contract:deactivate

代码统计数据

•提交: 203 次

•解决 Issue: 149 个

•发布版本: 88 个

(截止至 2019-11-12 18:00:00)