The bloXroute Gateway is a blockchain client that attaches to blockchain nodes and acts as an entrypoint to bloXroute's BDN.
bloXroute is a blockchain scalability solution that allows all cryptocurrencies and blockchains to scale to thousands of transactions per second (TPS) on-chain, without any protocol changes.
bloXroute solves the scalability bottleneck by addressing the substantial time required for all nodes to synchronize when handling large volumes of TPS. Most importantly, bloXroute does this in a provably neutral way.
For more information, you can read our white paper.
You can choose either to either install via pip or Docker (recommended). Refer to
our technical documentation for full usage instructions.
Ensure you have Python 3.6+ installed. Again, we recommend that you use a virtualenv
for bxgateway
development.
Clone the bxcommon
repo, which contains abstract interfaces for the gateway node's event loop, connection management,
and message classes that are shared with other bloXroute nodes.
git clone https://github.com/bloXroute-Labs/bxcommon.git
Make sure bxcommon/src
is in your PYTHONPATH
and export some environment variables (you can also add this to your
~/.bash_profile
, or however you prefer to manage your environment).
export PYTHONPATH=$PYTHONPATH:$(pwd)/bxcommon/src
export DYLD_LIBRARY_PATH="/usr/local/opt/openssl@1.1/lib" # for OpenSSL dependencies
Install dependencies:
pip install -r bxcommon/requirements.txt
pip install -r bxcommon/requirements-dev.txt
pip install -r bxgateway/requirements.txt
pip install -r bxgateway/requirements-dev.txt
Run unit and integration tests:
cd bxgateway/test
python -m unittest discover
Run bxgateway
from source:
cd bxgateway/src/bxgateway
python main.py --blockchain-network [blockchain-network] --blockchain-protocol [blockchain-protocol]
bxgateway
has references to C++ extensions for faster performance on CPU intensive operations. To make use of this,
clone the bxextensions
repository, build the source files, and add the entire bxextensions
folder to your
PYTHONPATH
.
git clone --recursive https://github.com/bloXroute-Labs/bxextensions.git
Refer to bxextensions for information on building the C++ extensions.
You can find our full technical documentation and architecture on our website.
Contact us at support@bloxroute.com for further questions.