Skip to content

Latest commit

 

History

History
108 lines (81 loc) · 3.97 KB

README.md

File metadata and controls

108 lines (81 loc) · 3.97 KB

bxgateway is released under the MIT license. PRs welcome! Pypi version Python Discord Twitter Follow

bloXroute Gateway

The bloXroute Gateway is a blockchain client that attaches to blockchain nodes and acts as an entrypoint to bloXroute's BDN.

What is bloXroute?

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.

Quick start

You can choose either to either install via pip or Docker (recommended). Refer to
our technical documentation for full usage instructions.

Development

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/[email protected]/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]

Extensions

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.

Documentation

You can find our full technical documentation and architecture on our website.

Troubleshooting

Contact us at [email protected] for further questions.