作者: 张镇强(ArcBlock 前端工程师)
很高兴和大家分享一条好消息,我们终于发布了 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 手册。
智能合约#
增加了几个内置的智能合约(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
- 不再集成 ipfsIPFS
升级 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,同时 CLI 添加了创建 Blocklet
、使用 Blocklet
等功能的支持。
更详细的内容可以查看 Forge CLI 手册。
链的软升级#
CLI 添加了对链的软升级功能,如果本地已经下载好了需要升级的 Forge 版本,执行 forge upgrade
命令,然后选择相应的 Forge 版本以及块高,CLI 就会自动完成整个升级过程:
更详细的内容可以查看 Forge CLI 手册。
全局配置#
CLI 添加了全局配置的功能,这样可以很方便的将某些配置应用到每一个相关的命令,比如设置 mirror, npmRegistry
等等。
可以使用 forge config
命令来管理全局配置。
更详细的内容可以查看 Forge CLI 手册。
增强管理智能合约功能#
CLI 添加了创建智能合约
骨架的命令,以及 activate/deactivate
智能合约的的命令:
- 创建智能合约骨架:
forge contract:create
- 激活智能合约:
forge contract:activate
- 停用智能合约:
forge contract:deactivate
代码统计数据#
- 提交: 203 次
- 解决 Issue: 149 个
- 发布版本: 88 个
截止至 2019-11-12 18:00:00