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_HOME
env variable to point onjdk
folder, SetPATH
env variable to point onjdk/bin
folder. - 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
master
branch. - Clone tendermint core repository from tendermint repo
- Install go from the official site
- Check your go installation by executing
go version
Sample 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 tools
thenmake install
themake 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
dapos
root 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!