官方数据快照使用

数据快照

为了方便开发者部署的节点能够尽快的追赶区块到最新高度与整个vision 网络保持一致。 vision 官方会定期提供vision 网络底层数据库的镜像供开发者下载。

📘

vision 网络底层的数据库镜像根据节点的类型和所使用的的数据库存储系统大致分为以下几个类型:

A. 全量数据(也就是部署FullNode所需要的数据), 根据使用的数据库系统类型分为

  1. rocksdb 全量数据
    包含智能合约内部交易的rocksdb全量数据
    不包含智能合约内部交易的rocksdb全量数据
  2. leveldb 全量数据
    包含智能合约内部交易的leveldb全量数据
    不包含智能合约内部交易的leveldb全量数据

B. 轻量数据 (部署LiteNode所需要的数据)

  1. rocksdb 轻量数据
  2. leveldb 轻量数据

提示:内部交易指的是在只能合约中额外执行的一些交易, 比如 call、transfer 等操作。FullNode 节点可以配置是否保存内部交易。

🚧

注意: 无论是全量数据还是轻量数据都可以用来部署 FV 节点。

资源下载

vpioneer 测试链数据镜像

  • 全量数据
  • 轻量数据

vision 主网数据镜像

❗️

不允许混用不同数据库类型的数据镜像

LevelDB 和 RocksDB 的数据是不允许混用的。 可以通过配置文件中的 db.engine 配置项来指定要使用的数据库系统类型. 可选值为 LEVELDB 和 ROCKSDB.

🚧

选择好自己需要的数据镜像

上面提供了两个 vision 网络环境中数据镜像,一个是vpioneer测试链环境的数据镜像, 另外一个是 vision 主网环境中的数据镜像。 vpioneer 的数据镜像每一个星期更新一次, vision 主网的数据镜像是每天更新一次。 大家请根据自己部署的节点所处的网络环境来选择相应的数据镜像。

轻量数据的说明

轻量数据保存的是 vision 网络底层的世界状态信息和一些决定网络特性的必要历史数据。 它是全量数据的一个子集。 可以用轻量数据来启动一个 vision 网络节点,我们称之为轻节点。 轻节点也可以进行产块。 所以轻节点也可以是 FV节点。 由于轻量数据中几乎不包含 vision 网络中历史区块的信息(只包含部分特殊区块的信息)。所以一些关于历史查询的接口是不适用于使用轻量数据部署起来的轻节点的。

数据快照使用

(1)根据自己的需求选择下载相应的数据库镜像类型。

(2)将下载到的数据和相对应提供的md5码进行校验。检查数据是否一致。

(3)然后将下载到的数据库镜像文件解压到我们自己节点对应的数据库存放目录。 节点默认读取执行命令同级目录下的
output-directory 目录。

(4)启动节点即可。

Docker 部署中使用数据镜像

这里以 vision主网为例演示 在docker镜像部署节点中使用数据快照。

假设我们使用如下命令来运行我们的 vision 主网节点

docker run -itd
-v "/data/mainnet:/data/vision"
-p 7080:7080
-p 7081:7081
-p 7082:7082
-p 16666:16666
-p 60061:60061
-p 60071:60071
-p 60081:60081
--name vision-mainnet
maintainers/vision-mainnet:latest

此时我们使用 -v 选项指定了我们docker容器的外部挂载卷为 /data/mainnet.

此时我们只需要把下载下来的数据镜像在通过md5码校验后, 使用tar 命令解压放置到/data/mainnet/ 目录中

tar -zxvf XXXXXX.tar.gz -C /data/mainnet/

然后使用上述命令启动节点即可。

此时, 数据镜像在系统文件系统中的存在路径为 /data/mainnet/output-directory。

注意: 请将XXXXXX.tar.gz替换为自己下载下来的数据镜像的文件名。