EpicChain-CPP-Engine is the C++ core engine for the EpicChain blockchain platform. It provides a foundational implementation of the blockchain's core functionalities and is designed to work seamlessly with the EpicChain ecosystem, including integrations with JavaScript-based tools and libraries.
To get started, clone the repository and initialize submodules:
git clone https://github.com/epicchain/EpicChain-CPP-Engine.git
cd EpicChain-CPP-Engine
git submodule update --init --recursive
git submodule update --recursive
EpicChain-CPP-Engine is in the prototype stage but is already quite advanced. To build and test the C++ and JavaScript implementations:
-
For C++ Implementation:
- Build the project by running:
make
- Run the built application:
./build/app_main
- Build the project by running:
-
For JavaScript Implementation:
- Build and run the tests by executing:
make jstest
- This command will build everything and run
node_test.js
.
- Build and run the tests by executing:
EpicChain-CPP-Engine relies on several key external libraries:
-
BigInteger Library:
- C++: Uses csBigInteger-cpp, which depends on GNU MP (GMP) or optionally Mono BigInteger.
- JavaScript: Utilizes csBigInteger.js, which uses bn.js.
-
Cryptography Library:
- C++: Incorporates libcrypton, which uses OpenSSL or optionally Crypto++ from Wei Dai.
- JavaScript: Employs crypto-js for SHA256 and may use elliptic for elliptic curve operations.
Contributions are welcome! Please refer to the Contribution Guidelines for details on how to contribute to the project.
This project is licensed under the MIT License.
For questions or further information, please reach out to us at support@epic-chain.org.