Welcome! This repository store DPoS blockchain system running on Tendermint Core written in Java utilizing grpc interface.
Software Specs:
- Db engine: Jetbrains Xodus
- Main Framework: Spring Boot
- Web server: Tomcat Embedded
- Type of api: REST
Features (planned, in-development):
- Multisignature accounts/transactions
- Four types of accounts (bitcoin|ethereum-compatible, validator and custom ed25519 addresses)
- Delegation/unbonding of stakes
- Smart contracts on JS
- Zero-fee transactions (Fee providers)
- Encrypted messaging
- Assets tokenization (currencies)
- Multisend transactions
- Scaled by height blockchain config (different block time, tps, block size and block max gas)
- Install java 11 from official java site. Set
JAVA_HOMEenv variable to point onjdkfolder, SetPATHenv variable to point onjdk/binfolder. - Check your java installed:
java -version. Sample output:openjdk version "11.0.6" 2020-01-14 OpenJDK Runtime Environment GraalVM CE 19.3.1 (build 11.0.6+9-jvmci-19.3-b07) 4OpenJDK 64-Bit Server VM GraalVM CE 19.3.1 (build 11.0.6+9-jvmci-19.3-b07, mixed mode, sharing) - Clone this repository
masterbranch. - Clone tendermint core repository from tendermint repo
- Install go from the official site
- Check your go installation by executing
go versionSample output:go version go1.14 linux/amd64 - Install
make, for Ubuntusudo apt-get install make - Go to the tendermint root directory and perform
git checkout v0.32.8- last stable version, which works with java grpc. - Then execute
make toolsthenmake installthemake build - Execute
tendermint version. Output MUST BE:0.32.8-14e04f76, reinstall tendermint in other cases, do not proceed, since project will not be operational. - Go to the
daposroot directory and execute./gradlew bootRun - Init tendermint and start node:
tendermint init, thentendermint node --abci grpc --proxy_app tcp://127.0.0.1:26658 - You've done. Enjoy!