【摘要】 很高兴和大家分享一条好消息,我们终于发布了 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)