Go implementation of the Ethereum protocol
Find a file
Manav Darji 9859f2d43a
core, miner: add sub-spans for tracing (#753)
* core, miner: add sub-spans for tracing

* fix linters

* core: add logs for debugging

* core: add more logs to print tdd while reorg

* fix linters

* core: minor fix

* core: remove debug logs

* core: use different span for write block and set head
2023-02-23 18:20:03 +05:30
.circleci chg: Update README 2020-11-14 14:30:47 +05:30
.github Updating packager as binutils changed version so that apt-get installs current versions 2022-12-14 11:06:17 -06:00
accounts Use atomic pointer in go 1.19 (#446) 2022-08-09 22:11:09 +03:00
build V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
builder/files Merge qa to master (#750) 2023-02-20 18:37:21 +05:30
cmd Merge qa to master (#750) 2023-02-20 18:37:21 +05:30
common Mining Analysis (#429) 2022-09-30 13:40:18 +05:30
consensus Merge qa to master (#750) 2023-02-20 18:37:21 +05:30
console V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
contracts/checkpointoracle accounts/abi/bind: fix bounded contracts and sim backend for 1559 (#23038) 2021-06-15 13:56:14 +03:00
core core, miner: add sub-spans for tracing (#753) 2023-02-23 18:20:03 +05:30
crypto V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
docs Merge qa to master (#750) 2023-02-20 18:37:21 +05:30
eth Merge qa to master (#750) 2023-02-20 18:37:21 +05:30
ethclient fix linters caused by previous merge (#526) 2022-09-23 08:30:31 +05:30
ethdb add : mock database in eth/filters 2022-07-19 17:21:11 +05:30
ethstats Added arbitray data Ethstats 2022-01-25 12:52:25 +00:00
event event: add ResubscribeErr (#22191) 2021-01-21 13:47:38 +01:00
graphql V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
integration-tests fix: incorrect condition 2022-11-18 18:58:52 +05:30
internal Merge qa to master (#750) 2023-02-20 18:37:21 +05:30
les Merge qa to master (#750) 2023-02-20 18:37:21 +05:30
light RFC35/Common Ancestor: Modifying the forkchoice rule (#425) 2022-07-15 10:37:35 +05:30
log Use atomic pointer in go 1.19 (#446) 2022-08-09 22:11:09 +03:00
metrics metrics: handle nil telemetry config (#601) 2022-11-26 01:54:50 +05:30
miner core, miner: add sub-spans for tracing (#753) 2023-02-23 18:20:03 +05:30
mobile V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
node Merge qa to master (#750) 2023-02-20 18:37:21 +05:30
p2p Use atomic pointer in go 1.19 (#446) 2022-08-09 22:11:09 +03:00
packaging Merge qa to master (#750) 2023-02-20 18:37:21 +05:30
params Merge qa to master (#750) 2023-02-20 18:37:21 +05:30
rlp V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
rpc Merge qa to master (#750) 2023-02-20 18:37:21 +05:30
scripts Add support for new flags in new config.toml, which were present in old config.toml (#612) 2022-12-05 19:21:33 +05:30
signer V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
swarm swarm: code cleanup, move to ethersphere/swarm (#19661) 2019-06-04 16:35:36 +03:00
tests Merge qa to master (#750) 2023-02-20 18:37:21 +05:30
trie Prepare Bor package for testing (#416) 2022-06-08 16:39:30 +03:00
.dockerignore cmd, internal/build, docker: advertise commit date in unstable build versions (#19522) 2019-05-08 16:44:28 +03:00
.gitattributes .gitattributes: enable solidity highlighting on github (#16425) 2018-04-03 15:21:24 +02:00
.gitignore merge develop 2022-11-13 19:05:26 +05:30
.gitmodules new: dev: pos-398 remove duplicate git submodule 2022-07-12 17:37:44 +02:00
.golangci.yml Use atomic pointer in go 1.19 (#446) 2022-08-09 22:11:09 +03:00
.goreleaser.yml Merge branch 'qa' of https://github.com/maticnetwork/bor into djpolygon/v0.3.0packaging 2022-11-24 00:03:41 +05:30
.mailmap all: update license information (#16089) 2018-02-14 13:49:11 +01:00
.travis.yml V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
appveyor.yml V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
AUTHORS Update Bor to geth-v1.9.16 (#78) 2020-07-24 19:01:41 +05:30
circle.yml use go-ethereum for better forked-bor release 2020-11-13 09:21:48 +05:30
COPYING use go-ethereum for better forked-bor release 2020-11-13 09:21:48 +05:30
COPYING.LESSER all: update license information 2015-07-07 14:12:44 +02:00
Dockerfile rollback bor user and use root 2022-11-23 14:16:36 -07:00
Dockerfile.alltools change bor_dir and add bor user for v0.3.0 release 2022-11-23 09:43:34 -07:00
Dockerfile.release rollback bor user and use root 2022-11-23 14:16:36 -07:00
fuzzbuzz.yaml Update Bor to geth-v1.9.16 (#78) 2020-07-24 19:01:41 +05:30
go.mod Merge qa to master (#750) 2023-02-20 18:37:21 +05:30
go.sum Merge qa to master (#750) 2023-02-20 18:37:21 +05:30
interfaces.go handle future chain import and skip peer drop (#650) 2023-01-07 11:58:03 +05:30
Makefile Fix docker publish authentication issue 2022-12-05 20:14:27 -08:00
oss-fuzz.sh V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
README.md typo: README (#463) 2022-07-22 11:36:41 +05:30
RETESTBOR.md new: dev: pos-398 update retesteth readme 2022-07-07 12:14:55 +02:00
SECURITY.md V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00

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 projects 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 git@github.com:[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.14 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.