Your Christmas Gift: a DIY guide of MultiVAC

Image for post
Image for post

Merry Christmas!

After the serval documents, you must be eager to know how to run MultiVAC now, let’s enjoy it with Santa Claus!

Note: the example is about to run a testnet by yourself.

Compile and upload to server

1、Enter the MultiVAC directory

$ cd $GOPATH/src/

2、Switch to the branch you want to go with

If there is no such branch, run:

$ git checkout -b local branch name origin/remote branch name

If there is the branch, run:

$ git checkout local branch name && git pull

3、Check the following configuration parameters

Dns seed
MultiVAC/model/chaincfg/params.go line: 232, Host
Probability of re-fragmentation
MultiVAC/configs/params/params.go line: 18, SecurityLevel
Number of re-fragmentation rounds
MultiVAC/configs/params/params.go line: 22, ReshardRoundThreshold
Number of preparation rounds for the re-sharding
MultiVAC/configs/params/params.go line: 25, ReshardPrepareRoundThreshold
Heartbeat interval
MultiVAC/configs/params/params.go line:42, SendHeartbeatIntervalS
Minimum online time
MultiVAC/configs/params/params.go line:36, OnlineTimeS

4、Set the time point when the first batch of nodes start sending heartbeats

This time point is the time when the first batch of miners automatically start sending heartbeats after deployment, and a future time point needs to be set.

replace the second time value in MultiVAC/btcd.go line:104

5、Cross compile

$ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go install

After successful execution, the executable file MultiVAC will be generated in the $GOPATH/bin/linux_amd64/ directory.


Upload the executable file to the server

$ scp $GOPATH/bin/linux_amd64/MultiVAC  xxx@xx.xx.xx.xx:/xxx/xxx/

Log in to server and deploy nodes

1、Log in to the server

$ ssh xxx@xx.xx.xx.xx

2、Configure the number of instances (how many miners, storage nodes)

The configuration is in /home/mac/gcpsupport.json

The instance type InstanceType includes miner, monitor, storageclient, txgenerator

ThisInstanceNum is the number of instances of this type of node

MinerNum is the number of miners running under this instance

StorageNum is the number of storage nodes running under the instance

For example:

Start 100 miners on 20 instances, and run 5 in each instance. The configuration is as follows:

Image for post
Image for post

3、Configure hardware for several types of instances (number of CPU cores, memory, hard disk)

The configuration is in /home/mac/typeDefine.json

For example:

Miner instance 10 core cpu, 10g memory, 10g hard disk

Image for post
Image for post

Note: These resources are shared by all miners running under this miner instance, and it can be understood as being equally divided.

4、Instance initialization

$ ./testing-tools gcpsupport.json

Then input “init”, it will start to configure the instance.

5、Upload and deploy MultiVAC

ansible all -m shell -a"ls" -u xx -i ./inventory.yaml

When the IP of the machine turns green, enter “start” and press Enter to start uploading and deploying MultiVAC.

Image for post
Image for post

Note: please remember the IP of storage node, such as

6、Monitor heartbeat and send RPC command

If you want to see log, then you can choose one sever (should not be storage node)and then log in it and run:

$ tail -f test/miner-0/logs/mainnet/btcd.log | grep online

After the previous time point we set, the terminal will print a batch of heartbeat information at each heartbeat interval.

After the number of online miners to be printed reaches the number of all miners deployed in the first batch, we can start another terminal that has compiled and execute the startup command(use the IP of storage node):

$ testnet --notls -s -u mtvac -P mtvac startnet

Then the first batch of miners will start mining.

Image for post
Image for post


MultiVAC is a high-throughput flexible blockchain platform based all-dimensional sharding. It’s a next-generation public blockchain platform built for integration with large-scale decentralized applications (dApps). MultiVAC is developing the first solution in the world characterized by speediness, efficiency, and all-dimensional sharding to expand its capacity in computation, transmission, and storage. It realizes the maximum throughput while maintaining decentralization and without sacrificing security.



Technical Whitepaper:

Technical Yellowpaper:

Technical Purplepaper:

Telegram Group 2020:

Telegram Channel:


A High-Throughput and Flexible Blockchain Platform Based on Trusted Sharding Computing

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store