VeChain recently released Version 1.0.7 of their VeChain Thor Client. With this update it is now possible to run a seperate version of the VeChain Thor Mainnet. This includes private Authority Nodes and private Thor Node Server. But this also means that the custom chain is not connected to the Main- nor the Testnet. This is awesome for testing the limits of VeChain.
So I did exactly that: I tested the technical limits of the VeChain Thor Network. Of course I was not able to rebuild the exact Mainnet structure and that was not my goal. I will run you through all steps I have done, to give you an easy start if you want to try yourself. I also had to tweak some settings of the VeChain Thor Client — compared to the Mainnet — to get results faster. And those results are awesome! It’s a BFC — Big Fu*king Chain.
Why testing in a private Network?
VeChain already has two very smooth running Blockchains: The and the . Obviously, testing in Mainnet is pricy, because you actually need to buy VTHOR. Testing in Testnet is a valid option but the Testnet currently has a 16 Million GAS Limit per Block. And we want to go beyond that. FAR beyond!
Tweakting the Client
As mentioned above, I did some changes on the software to enable me to test faster. You can look through my GIT Repo and clone it yourself but I will also walk you through the changes.
- : I change the maximum size of transactions in the TX-Pool vom 64KB to 256KB. This is to be able to send bigger transactions.
- : I changed the maximum site of the Requestbody from 200KB to 1MB. This also is to be able to send bigger transactions.
- : On the normal Mainnet, a unique sender could “only” have 16 transactions in the TX Pool. This is plenty for real users, even for big Players. But I needed more, so I increased that amount from 16 to 64 and the maximal age of a transation from 20 to 80 minutes.
Thats it. Although there are more changes in the GIT Repo, they are not related to the features of the chain.
How to setup a custom network?
To be able to run a custom VeChain network, you need to set up at least to (Software) Nodes and start the Thor Client with some special settings. VeChain already described the process here:
So lets start with the Server: We need at least two Server running the Thor client and at least one of them has to sign blocks. So I set up two Debian 9 VPS at my favorite Hoster . The VPS are from the 10$ plan with 1 CPU, 2GB RAM and 25GB SSD. Keep those numbers in mind!
Now we need to install the Vechain Thor Client. You can do this by following this (tested with Debian 9). The last line in the script will pull the for my custom network. This config sets the GAS Limit to 500 Million and the relation of Gas to VTHOR vom 1.000 to 10.000, so a transaction only costs 2,1 VTHOR instead of 21. This can do some BIG Blocks. This also sets the Authority Nodes to Adresses wich private Keys I own. To be able to sign blocks, at least one Node needs to have a private Key put in /home/thor-node/.org.vechain.thor/master.key.
WARNING: This script will install a modified Vechain Client, not appoved by VeChain. Only use the for testing!
Also: This network and the coins in it are not worth any money.
When done installing the two mashines, you can fire up your own VeChain network by starting the Client like this.
/home/thor-node/go/src/VeChain/thor/bin/thor — network /home/thor-node/go/src/VeChain/thor/genesis/MiRei.json — api-addr 0.0.0.0:8669
Now some VeChain magic happens and after a few minutes the clients should be able to see seach other and start syncing and signing blocks.
Connect to the CustomNetwork
Now that I have my own network running, I need to connect and interact with it; and I want other people to be able to connect (and interact) with it, too. So I setup a nice hostname:
The play API is of course not very fancy to use but VeChain has already released and I can add CustomNetworks to Sync! All I need to do is to click on the green “Main”, say “Add Node” and enter the settings as shown below.:
Browsing the CustomNetwork
Sync is already a BlockExplorer that is almost as powerful as Veforge and it is an absolute charm to use it on a my own Network. As you can see below, my very own Genesis Block on a VeChain Custom Network!
The BFC Stuff!
So, a private Chain with nothing in it. Boring!!!! I need to change that; and change it really good! So I wrote myself a litte something. As you can see on the there are six addresses in total containing VET and VTHOR. We will focus on the last five (yea, I used some GPU power to get these addresses 😀 ):
- 0x000000007b5001b903c318d7c3ea08c2122f3cc5
- 0x00000000dd4c260a48dd4cee9ce0ed886b2c885a
- 0x0000000026734229f89cf4510a6c032af9aa44b3
- 0x000000002f119af6efe941a0c82dfa2d0b2c29e7
- 0x000000005dff479885f529f3a7e0a7029e83f74e
To be able to have more sender/recipients, I wrote a basic “Wallet Management and Distribution System” and added 20.000 Adresses to it. And with a maximum GAS Limit of 500.000.000 per Block I can distribute VET/VTHO to those addresses really quick.
In the Video below I send 800.000 VET and 20.000 VTHOR to 20.000 Addresses each in a total of 40 transactions. And I did that again for VTHOR from another , so every address has 800.000 VET and at least 40.000 VTHOR.
Now I have 20.000 Addresses to send and reviece from… that will be fun.
Thats it for part 1. But there will be more.
Published at Wed, 20 Mar 2019 23:19:36 +0000