npm 包 @arkecosystem/core-snapshots 使用教程

阅读时长 5 分钟读完

简介

在 Ark Ecosystem 中,每个区块链节点都需要同步最新的区块数据。但是,如果节点需要从创世区块开始同步,需要花费大量时间和资源。为了解决这个问题,Ark Ecosystem 推出了 @arkecosystem/core-snapshots npm 包,该包可以快速创建和管理区块链快照,使节点快速同步最新的区块链数据。

本文将介绍如何使用 @arkecosystem/core-snapshots npm 包以及关注该包中的一些重要细节和注意事项。

前置条件

在本教程中,我们将使用 Ubuntu 18.04 操作系统,确保您已经安装了以下软件:

  • Node.js: v10.15.1 或更高版本
  • Git: v2.24.1 或更高版本

安装

您可以像安装其他 NPM 包一样安装 @arkecosystem/core-snapshots.

如何使用

@arkecosystem/core-snapshots 不仅仅可以用来创建、管理和应用区块链快照,也可以用来压缩和解压缩快照。下面将介绍如何使用每个函数。

createSnapshot 函数

创建一个区块链快照。

-- -------------------- ---- -------
----- - -------------- - - ----------------------------------------

----- -------- -------- -
    --- -
        ----- ------------------------------- ---------------- -----------
    - ----- ------- -
        ---------------------
    -
-

---------

第一个参数是将快照保存到的路径,第二个参数是数据库路径,第三个参数是网络名称。快照文件具有以下名称格式: blocks_last_height_{{HEIGHT}}.gz,其中 {{HEIGHT}} 表示块的高度。

manager 对象

这是一个带有以下函数的对象,可以用来管理区块链快照。

manager.load

从从路径中加载快照。

-- -------------------- ---- -------
----- - ------- - - ----------------------------------------

----- -------- ------ -
    --- -
        ----- ------------------------------
    - ----- ------- -
        ---------------------
    -
-

-------

此函数将快照解压缩并导入到数据库中。

manager.delete

从磁盘删除快照。

-- -------------------- ---- -------
----- - ------- - - ----------------------------------------

----- -------- -------- -
    --- -
        ----- --------------------------------------------------------------
    - ----- ------- -
        ---------------------
    -
-

---------

manager.rollback

从指定高度回滚。

-- -------------------- ---- -------
----- - ------- - - ----------------------------------------

----- -------- ---------- -
    --- -
        ----- --------------------------
    - ----- ------- -
        ---------------------
    -
-

-----------

compressSnapshot 函数

压缩一个快照。

-- -------------------- ---- -------
----- - ---------------- - - ----------------------------------------

----- -------- ---------- -
    --- -
        ----- -------------------------------------------------------------
    - ----- ------- -
        ---------------------
    -
-

-----------

快照文件将被压缩,并在同一目录下创建带有 .gz 扩展名的新文件。

extractSnapshot 函数

解压缩一个快照。

-- -------------------- ---- -------
----- - --------------- - - ----------------------------------------

----- -------- --------- -
    --- -
        ----- ---------------------------------------------------------------
    - ----- ------- -
        ---------------------
    -
-

----------

快照文件将被解压缩,并在同一目录下创建没有 .gz 扩展名的新文件。

总结

在本教程中,我们介绍了如何安装和使用 @arkecosystem/core-snapshots npm 包,并解释了每个函数的用途。值得注意的是,使用快照时必须小心,因为恶意的快照可能会导致节点被攻击,并损害该节点所在的整个网络。

我们希望本文将有助于用户快速而安全地创建和管理区块链快照。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/152240