Code Monkey home page Code Monkey logo

bxgateway's Introduction

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.

bxgateway's People

Contributors

0x-2a avatar avrahamblx avatar daniellemachpud avatar eyalmarkovich avatar fmhall avatar itagtachian0 avatar juliette-grantham avatar sasha00123 avatar sergeyi23 avatar shanevc avatar skwp avatar soumyabasu avatar uri-margalit-bloxroute avatar y3sh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.