A general purpose blockchain highly compatible with Ethereum's ecosystem.
This is the first implementation written in golang.
Thor requires Go 1.10+ and C compiler to build. To install Go, follow this link.
Clone the Thor repo:
git clone https://github.com/vechain/thor.git
cd thor
Simply run:
make dep
To manually install dependencies, choices are
dep, Golang's official dependency management tool
dep ensure -vendor-only
(Note that to make dep work, you should put the source code at $GOPATH/src/github.com/vechain/thor)
git submodule
git submodule update --init
To build the main app thor, just run
make
or build the full suite:
make all
If no error reported, all built executable binaries will appear in folder bin.
Connect to VeChain's mainnet:
bin/thor --network main
Connect to VeChain's testnet:
bin/thor --network test
To find out usages of all command line options:
bin/thor -h
--network value the network to join (main|test)--data-dir value directory for block-chain databases--beneficiary value address for block rewards--api-addr value API service listening address (default: "localhost:8669")--api-cors value comma separated list of domains from which to accept cross origin requests to API--verbosity value log verbosity (0-9) (default: 3)--max-peers value maximum number of P2P network peers (P2P network disabled if set to 0) (default: 25)--p2p-port value P2P network listening port (default: 11235)--nat value port mapping mechanism (any|none|upnp|pmp|extip:) (default: "none")--help, -h show help--version, -v print the versionsolo client runs in solo mode for test & devbin/thor solo --on-demand # create new block when there is pending transaction
bin/thor solo --persist # save blockchain data to disk(default to memory)
bin/thor solo --persist --on-demand # two options can work together
master-key import and export master key# export master key to keystore
bin/thor master-key --export > keystore.json
# import master key from keystore
cat keystore.json | bin/thor master-key --import
Docker is one quick way for running a vechain node:
docker run -d\
-v {path-to-your-data-directory}/.org.vechain.thor:/root/.org.vechain.thor\
-p 127.0.0.1:8669:8669 -p 11235:11235 -p 11235:11235/udp\
--name thor-node vechain/thor --network test
Do not forget to add the --api-addr 0.0.0.0:8669 flag if you want other containers and/or hosts to have access to the RESTful API. Thorbinds to localhost by default and it will not accept requests outside the container itself without the flag.
The Dockerfile is designed to build the last release of the source code and will publish docker images to dockerhub by release, feel free to fork and build Dockerfile for your own purpose.
Awesome explorers built by the community:
curl -X POST -d '{"to":"Your_Address"}' -H "Content-Type: application/json" https://faucet.outofgas.io/requests
Once thor started, online OpenAPI doc can be accessed in your browser. e.g. http://localhost:8669/ by default.
A Special shout out to following projects:
Thanks you so much for considering to help out with the source code! We welcome contributions from anyone on the internet, and are grateful for even the smallest of fixes!
Please fork, fix, commit and send a pull request for the maintainers to review and merge into the main code base.
When you "Fork" the project, GitHub will make a copy of the project that is entirely yours; it lives in your namespace, and you can push to it.
Please check the following:
VeChain Thor is licensed under the GNU Lesser General Public License v3.0, also included in LICENSE file in repository.
Content type
Image
Digest
Size
11 MB
Last updated
almost 8 years ago
docker pull petronem/thor