• Stars
    star
    818
  • Rank 55,733 (Top 2 %)
  • Language
    Go
  • License
    GNU Lesser Genera...
  • Created about 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Official repository for the Matic Blockchain

Bor Overview

Bor is the Official Golang implementation of the Matic protocol. It is a fork of Go Ethereum - https://github.com/ethereum/go-ethereum and EVM compatible.

Forks Stars Languages Issues PRs MIT License contributors size lines Discord Twitter Follow

How to contribute

Contribution Guidelines

We believe one of the things that makes Polygon special is its coherent design and we seek to retain this defining characteristic. From the outset we defined some guidelines to ensure new contributions only ever enhance the project:

  • Quality: Code in the Polygon project should meet the style guidelines, with sufficient test-cases, descriptive commit messages, evidence that the contribution does not break any compatibility commitments or cause adverse feature interactions, and evidence of high-quality peer-review
  • Size: The Polygon project’s culture is one of small pull-requests, regularly submitted. The larger a pull-request, the more likely it is that you will be asked to resubmit as a series of self-contained and individually reviewable smaller PRs
  • Maintainability: If the feature will require ongoing maintenance (eg support for a particular brand of database), we may ask you to accept responsibility for maintaining this feature

Submit an issue

  • Create a new issue
  • Comment on the issue (if you'd like to be assigned to it) - that way our team can assign the issue to you.
  • If you do not have a specific contribution in mind, you can also browse the issues labelled as help wanted
  • Issues that additionally have the good first issue label are considered ideal for first-timers

Fork the repository (repo)

  • If you're not sure, here's how to fork the repo

  • If this is your first time forking our repo, this is all you need to do for this step:

    $ git clone [email protected]:[your_github_handle]/bor
    
  • If you've already forked the repo, you'll want to ensure your fork is configured and that it's up to date. This will save you the headache of potential merge conflicts.

  • To configure your fork:

    $ git remote add upstream https://github.com/maticnetwork/bor
    
  • To sync your fork with the latest changes:

    $ git checkout master
    $ git fetch upstream
    $ git merge upstream/master
    

Building the source

  • Building bor requires both a Go (version 1.19 or later) and a C compiler. You can install them using your favourite package manager. Once the dependencies are installed, run

    $ make bor

Make awesome changes!

  1. Create new branch for your changes

    $ git checkout -b new_branch_name
    
  2. Commit and prepare for pull request (PR). In your PR commit message, reference the issue it resolves (see how to link a commit message to an issue using a keyword.

    Checkout our Git-Rules

    $ git commit -m "brief description of changes [Fixes #1234]"
    
  3. Push to your GitHub account

    $ git push
    

Submit your PR

  • After your changes are commited to your GitHub fork, submit a pull request (PR) to the master branch of the maticnetwork/bor repo
  • In your PR description, reference the issue it resolves (see linking a pull request to an issue using a keyword)
    • ex. Updates out of date content [Fixes #1234]
  • Why not say hi and draw attention to your PR in our discord server?

Wait for review

  • The team reviews every PR
  • Acceptable PRs will be approved & merged into the master branch

Release


License

The go-ethereum 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 go-ethereum binaries (i.e. all code inside of the cmd directory) is licensed under the GNU General Public License v3.0, also included in our repository in the COPYING file.


Join our Discord server

Join Polygon community – share your ideas or just say hi over on Discord.

More Repositories

1

contracts

Smart contracts comprising the business logic of the Matic Network
JavaScript
957
star
2

matic.js

Javascript developer library to interact with Matic Network
TypeScript
543
star
3

pos-portal

Smart contracts that powers the PoS (proof-of-stake) based bridge mechanism for Matic Network
Solidity
270
star
4

dagger.js

Simple library to connect with dagger server and manage subscriptions for Ethereum Blockchain.
JavaScript
217
star
5

whitepaper

Matic whitepaper
CSS
194
star
6

heimdall

Validator node for Matic PoS layer
Go
189
star
7

node-ansible

Ansible scripts to setup Matic validator node
Shell
82
star
8

Polygon-Improvement-Proposals

Polygon Improvement Proposals (PIP)
81
star
9

launch

Matic network mainnet v1 launch
Shell
68
star
10

polygon-token-list

JavaScript
60
star
11

avail

Smarty
49
star
12

matic-cli

A CLI to setup Matic network
JavaScript
45
star
13

subgraphs

Subgraph for Matic contracts
TypeScript
43
star
14

ethindia-workshop

Vue
38
star
15

data-availability

TeX
36
star
16

eth-decoder

Simple library to decode ethereum transaction and logs
TypeScript
33
star
17

terraform-polygon-supernets

HCL
31
star
18

genesis-contracts

Bor genesis contracts
JavaScript
29
star
19

sol-trace

Trace runtime failures for solidity
JavaScript
28
star
20

dapp-react-example

Matic DApp example using React
JavaScript
23
star
21

maticjs-web3

web3.js plugin for matic.js
TypeScript
22
star
22

nightfall-sdk

Software Development Kit for interacting with Polygon Nightfall
TypeScript
22
star
23

avail-light

Rust
19
star
24

zkevm-docs

The official documentation for Polygon zkEVM.
CSS
19
star
25

eth-dagger-examples

Examples for eth-dagger
JavaScript
17
star
26

pos-plasma-tutorial

JavaScript
14
star
27

metamask-provider

Metamask provider to run multiple networks without changing Metamask network
JavaScript
14
star
28

matic-design-system

Design System for Matic products
Vue
12
star
29

maticjs-ethers

ethers plugin for matic.js
TypeScript
11
star
30

install

Shell
10
star
31

testnet-token-contracts

Solidity
9
star
32

polygonmesh

👋 PolygonMesh will help you build beautiful websites in no time. It is an open-source design system crafted meticulously by the designers and developer at Polygon Technology.
SCSS
8
star
33

public-testnets

Public testnet configrations for Counter Stake event
Shell
8
star
34

da-light-client

Rust
8
star
35

walletconnect-provider

WalletConnect provider to connect Matic Network
TypeScript
7
star
36

maticjs-plasma

Plasma bridge plugin for maticjs. It provides PlasmaClient to interact with plasma bridge.
TypeScript
7
star
37

tokenized-pos

Tokenized proof-of-stake
Solidity
7
star
38

maticjs-staking

TypeScript
7
star
39

polygon-rosetta

Rosetta API Integration for Polygon
Go
6
star
40

turbo-bor

Go
6
star
41

avail-core

Rust
6
star
42

node-prometheus

Validator node monitoring scripts
6
star
43

polygon-token-assets

All token icons on Polygon
6
star
44

nightfall-explorer

Polygon Nightfall Blockchain Explorer
TypeScript
5
star
45

polyproto

Makefile
5
star
46

matic-kotlin

Kotlin developer library for interacting with Matic Network
Java
5
star
47

ethstats-backend

Ethstats Backend collects ethstats data from Bor and stores important metrics in postgresDB. Comes bundled with Hasura for better querying capabilities.
Go
5
star
48

pos-commit-poc

BLS proof of concept for PoS in Layer 2
Solidity
4
star
49

bridge-helper

Go
4
star
50

avail-srs

Rust
4
star
51

wallet-web-integration-app

JavaScript
4
star
52

mint-backend

JavaScript
3
star
53

mint-unity-sdk

C#
3
star
54

code-guideline

3
star
55

reddit-bakeoff-poc

JavaScript
3
star
56

dagger-kotlin-sdk

Dagger client for Kotlin
Kotlin
3
star
57

predict

Test suite, scripts for the prediction markets app on Matic.
TypeScript
3
star
58

polygon-otel-collector

Polygon OpenTelemetry Collector distribution
Go
3
star
59

wallet-widget-example

JavaScript
3
star
60

governance-contracts

Governance contracts repository for Polygon
TypeScript
2
star
61

nightfall_phase2ceremony

JavaScript
2
star
62

plasma-core

TypeScript
2
star
63

libp2p-gossip-bench

Go
2
star
64

Policy-at-Polygon

Polygon Labs' Core Policy Principles
2
star
65

maticgasstation

JavaScript
2
star
66

matic-mm-plugin

HTML
2
star
67

reorgs-frontend

JavaScript
2
star
68

node-benchmarking

Matic node benchmarking scripts
Go
2
star
69

gaming-recipes

2
star
70

pos-wrappers

Solidity
1
star
71

v3-monorepo

v3-monorepo
Solidity
1
star
72

v3-scale-testbench

HCL
1
star
73

go-loadbot

Go
1
star
74

cookbook

1
star
75

dagger-swift-sdk

Swift
1
star
76

check-txns

Go
1
star
77

open-api-mock-server

TypeScript
1
star
78

avail_missed_blocks

This repository is going to help the avail blockchain track missed blocks that happened due to best block stuck
TypeScript
1
star