Used to check for browser translation.
用于检测浏览器翻译。
ブラウザの翻訳を検出する

ArcBlock SDK 1.0 新特性概览

ArcBlock
2019年11月13日 · edited
B
Blogs
cover

作者: 张镇强(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

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

create chain

启动链

$ forge start beijing

ps1

多条链节点进程展示

ps2

停止链#

$ forge stop [chainName]

Blocklet#

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

更详细的内容可以查看 Forge CLI 手册

链的软升级#

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

forge upgrade

更详细的内容可以查看 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

2.1.4