Bor is the official Golang implementation of the Polygon PoS blockchain. It is a fork of geth and is EVM compatible (upto London fork).
The easiest way to get started with bor is to install the packages using the command below. Please take a look at the releases section to find the latest stable version of bor.
curl -L https://raw.githubusercontent.com/0xPolygon/install/main/bor.sh | bash -s -- v2.0.0 <network> <node_type>
The network accepts mainnet, or amoy and the node type accepts validator or sentry or archive. The installation script does the following things:
- Create a new user named bor.
- Install the bor binary at /usr/bin/bor.
- Dump the suitable config file (based on the network and node type provided) at /var/lib/bor and use it as the home dir.
- Create a systemd service named bor at /lib/systemd/system/bor.service which starts bor using the config file as bor user.
The releases supports both the networks i.e. Polygon Mainnet, and Amoy (Testnet) unless explicitly specified. Before the stable release for mainnet, pre-releases will be available marked with beta tag for deploying on Amoy (testnet). On sufficient testing, stable release for mainnet will be announced with a forum post.
shell
make borpackaging folder.
shell
./build/bin/bor server --config ./packaging/templates/mainnet-v1/sentry/sentry/bor/config.tomlshell
make allshell
make test && make test-integrationPost v0.3.0 release, bor uses a new command line interface (cli). The new-cli (located at internal/cli) has been built while keeping the flag usage similar to old-cli (located at cmd/geth) with a few notable changes. Please refer to docs section for the flag usage guide and example.
For the latest canonical TOML config options, refer to:
Thank you for considering helping out with the source code! We welcome contributions from anyone on the internet, and are grateful for even the smallest of fixes! If you'd like to contribute to bor, please fork, fix, commit, and send a pull request for the maintainers to review and merge into the main code base.
From the outset, we defined some guidelines to ensure new contributions only ever enhance the project:
make test and to run integration tests, run make test-integration.develop branch.Minimum:
Recommended:
The Bor library (i.e. all code outside of the cmd directory) is licensed under the
GNU Lesser General Public License v3.0,
also included in our repository in the COPYING.LESSER file.
The Bor binaries (i.e. all code inside of the cmd directory) are licensed under the
GNU General Public License v3.0, also
included in our repository in the COPYING file.
Join Polygon community – share your ideas or just say hi over on Polygon Community Discord or on Polygon R&D Discord.