Official Public DB Image

Use data snapshots to speed up node synchronization

Data Snapshot

In order to facilitate developers to deploy nodes to catch up with blocks to the latest height as soon as possible to keep in line with the entire vision network. vision will regularly provide images of the vision network's underlying database for developers to download.

๐Ÿ“˜

The vision network's underlying database images are broadly classified according to the type of node and the database storage system used, as follows.

A. Full data (i.e., the data needed to deploy FullNode) is classified according to the type of database system used

  1. rocksdb Full data
    rocksdb full volume data with internal transactions of smart contracts
    rocksdb full data without internal transactions of smart contracts
  2. leveldb full data
    leveldb full data with internal transactions of smart contracts
    leveldb full data without smart contract internal transactions

B. Light data (data needed to deploy LiteNode)

  1. rocksdb light data
  2. leveldb light data

Hint: Internal transactions refer to some additional transactions that can
only be executed in the contract, such as call, transfer, and other
operations.The FullNode node can be configured to store internal transactions
or not.

๐Ÿšง

Note: Both Full data and Light data can be used to deploy FV nodes.

Resources Download

Vpioneer Test Chain Data Mirror

  • Full data
  • Light data

Vision Main network Data Mirror

โ—๏ธ

LevelDB and RocksDB data are not allowed to be mixed. The type of database system to be used can be specified via the db.engine configuration item in the configuration file. The optional values are LEVELDB and ROCKSDB.

LiteNode data snapshot

The Vision-core also supports LiteNode nodes. Compared with normal FullNode nodes, LiteNode nodes only need state data and a small amount of necessary historical data (such as genesis block data) to start. Vision Network also provides a snapshot of LiteNode data.

Use of the data snapshots

(1) Download the corresponding compressed backup database according to your needs

(2) Uncompress the database compressed file to the original output-directory directory (for LiteNode, unzip it directly to the output-directory directory), or uncompress it to the corresponding directory according to your own settings.

(3) Start the node. The node reads the output-directory directory by default. If you need to specify another directory, we need to add the -d parameter when the node is started.

๐Ÿšง

Notes
(1) What is Internal trading
Internal transactions refer to transactions executed through smart contracts. The default configuration of FullNode nodes generally does not save internal transaction data. If you need to save internal transaction data, we can set savaInternalTx = true in the configuration file.

(2) LEVELDB and ROCKSDB
The data of LEVELD and ROCKSDB are not allowed to be mixed. FullNode can make it through the db.engine configuration item in the configuration file. The optional value is LEVELDB, ROCKSDB. choose one of the two.

Using Data Images in Docker Deployments

Here is an example of vision master network using data snapshots in a docker image deployment node.

Suppose we run our vision master node with the following command

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

At this point we use the -v option to specify the external mount volume of our docker container as /data/mainnet.

At this point we just need to unpack the downloaded data image into the /data/mainnet/ directory using the tar command after passing the md5 code verification

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

Then just start the node with the above command.

At this point, the path of the data image in the system file system is /data/mainnet/output-directory.

Note: Please replace XXXXXXX.tar.gz with the file name of the data image you downloaded.