mirror of
https://github.com/EvernodeXRPL/hpcore.git
synced 2026-04-29 15:37:59 +00:00
81f7cceb8aa5de5a0e51e40aa97e8e72315f2e02
Hot Pocket Consensus Engine
What's here?
In development
A C++ version of hotpocket designed for production envrionments, original prototype here: https://github.com/codetsunami/hotpocket
Libraries
- Crypto - Libsodium https://github.com/jedisct1/libsodium
- Websockets - Boost|Beast https://github.com/boostorg/beast
- RapidJSON - http://rapidjson.org
- Protocol - https://github.com/protocolbuffers/protobuf
Steps to setup Hot Pocket
Install Boost
Following Instructions are based on Boost getting started
- Download and extract boost 1.71 package from here.
- Navigate to the extracted boost directory in a terminal.
- Run
./bootstrap.sh - Run
sudo ./b2 install(This will compile and install boost libraries into your/usr/local/lib)
Install RapidJSON
- Download and extract RapidJSON 1.1 source from here.
- Navigate to the extracted directory.
- Run
sudo cp -r include/rapidjson /usr/local/include/
Run ldconfig
- Run
sudo ldconfig
This will update your library cache and avoid potential issues when running your compiled C++ program which links to newly installed libraries.
Build and run Hot Pocket
- navigate to hotpocket repo root.
- Run
make - Run
./build/hpcore new ~/mycontract. This will initialize a new contract directorymycontractin your home directory. - Take a look at
~/mycontract/cfg/hp.cfg. This is your new contract config file. You can modify it according to your contract hosting requirements. - Run
./build/hpcore rekey ~/mycontractto generate new public/private key pair. - Run
./build/hpcore run ~/mycontractto run your smart contract (to do).
Description
Languages
C++
92.9%
Shell
4.5%
JavaScript
2%
CMake
0.4%
C
0.1%