EON peer core source code.
EON is a decentralized blockchain based-platform that provides an infrastructure for the Exscudo Ecosystem services. The architecture of the platform is built on a simple core that realizes a mathematical model and services that provide additional functionality.
The core forms the decentralized part of the system that consists of a variety of peers and executes the functionality of support on user account and financial operations.
This repository contains the implementation of the peer.
git clone --branch <name> https://github.com/EonTechnology/server.git
cd ./server
The 'master' branch is used for the Main network, the 'test3' - for Test3 network.
There are 2 ways to run node - Jetty (embedded server) and Docker. Below you will find two separate descriptions for each way. EON_NETWORK environment variable must be specified for select network (dev/test3/main).
Follows the standard Maven building procedure (see https://maven.apache.org/).
mvn package
Run embedded server:
mvn jetty:run
Run with setting generation account and network:
EON_NETWORK=... mvn jetty:run -DSECRET_SEED=...
Build and run docker-image
docker build -t eon/peer .
docker run -d -v $(pwd)/db:/app/db -p 9443:9443 -e EON_NETWORK=... -e SECRET_SEED=... eon/peer
Clears the database from the side blockchain and unused items in the state tree. Disabled by default.
To enable:
mvn jetty:run -Dblockchain.clean=true ...
docker run ... -e CLEAN_BLOCKCHAIN=true ...
A weekly block history is stored. Fast initial synchronization is used. Disabled by default.
Database clearing should be enabled.
To enable:
mvn jetty:run -Dblockchain.full=false ...
docker run ... -e FULL_BLOCKCHAIN=false ...
peer-core - Core of the node without binding to the organization of data storage and the implementation of the transport.
peer-crypto - Crypto library with the implementation of the crypto interface.
peer-eon - EON-specific code. Contains implementation of transaction handlers.
peer-eon-app - Implementation of simple bot API and JSON-RPC transport.
peer-eon-tx-builders - Transaction builders for all supported transaction types (used only for test scope).
json-rpc - Simple implementation of the JRPC protocol.
Project is issued under GNU LESSER GENERAL PUBLIC LICENSE version 3.0
Uses the library under MIT License ( https://github.com/InstantWebP2P/tweetnacl-java/blob/master/LICENSE ).