Skip to content

vechain/thor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 



Thor: The VeChainThor Client

Thor is the official Golang client for VeChainThor, the public blockchain powering the VeChain ecosystem. VeChainThor is designed for real-world adoption, enabling scalable, low-cost, and sustainable applications.

VeChainThor is currently up-to-date with the EVM's shanghai hardfork. Set evmVersion to shanghai if you are using Solidity compiler version 0.8.25 or above.

Hardware Requirements

Resource Validator Public Full Node
CPU 4 Core 8 Core
RAM 16 GB 64 GB
Bandwidth 20 Mbit 20 Mbit
Disk 500 GB NVMe SSD 1 TB SSD

Minimum of 45,000 IOPS required for an approximate 30 hour sync time.

Sync Time

Sync time from genesis to the latest mainnet block depends on hardware, configuration, and bandwidth. As at August 2025.

Validator

Build Sync Time AWS SKU
4 CPU, 32 GB, 10 Mbit, 937 NVMe SSD, 10K IOPS 54 Hours, 08 Minutes I4g.xlarge
2 CPU, 16 GB, 10 Mbit, 468 NVMe SSD, 35K IOPS 38 Hours, 41 Minutes I8g.large
4 CPU, 32 GB, 10 Mbit, 937 NVMe SSD, 45K IOPS 30 Hours, 00 Minutes I8g.xlarge

Note: The build used the --skip-logs command.

Public Full Node

Build Sync Time AWS SKU
8 CPU, 64 GB, 12 Mbit, 1875 NVMe SSD, 15K IOPS 59 Hours, 04 Minutes I4g.2xlarge
8 CPU, 64 GB, 12 Mbit, 1875 NVMe SSD, 42K IOPS 32 Hours, 17 Minutes I8g.2xlarge

Note: The build used the -disable-pruner command.

Installation

Use either the source or Docker instructions below to start a mainnet full node with the logs and pruner enabled. Becoming a validator requires additional steps, meeting the endorsement criteria and being voted in. See Becoming a Validator for more details.

For more configuration options, see Command Line Arguments, and for a full description of the nodes types, see Node Types.

Build and Run from Source

Prerequisites

Thor requires Go 1.19+ and a C compiler to build. Install them using your preferred package manager before continuing.

Commands

Clone the Thor repo:

git clone https://github.com/vechain/thor.git

Enter the Thor directory:

cd thor

Checkout the latest stable release:

git checkout $(git describe --tags `git rev-list --tags --max-count=1`)

Build Thor:

make

Run Thor:

bin/thor --network main

Thor will begin syncing the mainnet and can be accessed at http://localhost:8669/.

Build and Run with Docker

Docker CLI

docker run -d\
  -v {path-to-your-data-directory}/.org.vechain.thor:/home/thor/.org.vechain.thor\
  --api-addr 0.0.0.0:8669 -p 127.0.0.1:8669:8669 -p 11235:11235 -p 11235:11235/udp\
  --name thor-node vechain/thor --network main

Thor will begin syncing the mainnet and can be accessed at http://localhost:8669/.

Docker Compose

Use the provided docker-compose.yml to launch a node with the same configuration:

version: '3'

services:
  thor-node:
    image: vechain/thor
    container_name: thor-node
    command: --network main --api-addr 0.0.0.0:8669
    volumes:
      - thor-data:/home/thor
    ports:
      - "8669:8669"
      - "11235:11235"
      - "11235:11235/udp"

volumes:
  thor-data:

Thor will begin syncing the mainnet and can be accessed at http://localhost:8669/.

Documentation

Contributing

Contributions are welcome and appreciated!

Please review our Contribution Guidelines before submitting a PR.

Security

If you discover a security vulnerability, please report it according to our Security Policy.

Acknowledgements

Special thanks to the following projects:

License

VeChainThor is licensed under the GNU Lesser General Public License v3.0, also available in the LICENSE file in this repository.

About

A general-purpose blockchain that is highly compatible with the Ethereum ecosystem

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages