Decreasing Latency in Bor Using Bloxroute BDN

Hey Validators,

As our network is scaling and more and more DApps are trusting Polygon and sending transactions at an all-time high, we are working towards providing the best user and developer experience. One of the key factors we need to keep track of is the propagation time for blocks, given that we offer a 2 sec block time. We are happy to announce that we are working with bloXroute (https://bloxroute.com/), whose infra (the BDN) would help us in lowering the propagation time. For this, we would need your support in connecting your nodes to bloXroute’s gateways, which would make the BDN very effective.

Before you can connect to bloXroute’s gateways, they would first need to commission subsidiary nodes in the same region (or closest region available) as your node. For this, they would require some details of your sentry nodes - Enode ID and the Geographical Location/Region of the machine/server. This information will be used by the bloXroute team to then create a subsidiary node (called a gateway) dedicated for your machine in the closest region and add your sentry node as a trusted peer. You will then be able to add this gateway as a static (trusted) peer/node on your sentry node as well. If you are having any apprehensions about divulging the enode and region of your sentry node, you can rest assured that this information will be only shared with the bloXroute team and will be safe with them like what they do with other users and networks too.

Each validator is entitled to connect one node to the bloXroute network for which the Polygon foundation has already paid. If you want to connect more nodes, you can discuss it directly with bloXroute (support@bloxroute.com).

Below are the steps to connect to the BDN:

Step 1: Create an account at bloXroute user portal and subscribe to the Introductory Plan (free of charge).

Step 2: Fill this Google Form. Please note that all the information in this form will only be accessible to Polygon and BloXroute team.

Form: https://forms.gle/WFU7Xyno8u8epetC7

Once the form is filled, please wait till the BloXroute team sets up a gateway node for you. BloXroute team will also upgrade your account to the Elite plan.

Step 3: Once BloXroute team creates a trusted peer specifically for your node you will receive the hosted gateway information (enode public key). To add this enode as a trusted peer in your sentry node, follow these steps:

  1. Create the file vim ~/node/bor/bor_config.toml with following contents:

    [Node.P2P]
    TrustedNodes = ["enode://<node_id_of_gateway_provided_by_bloxroute>"]
    

    This is also a good time to move the list of static nodes you had configured earlier in ~/.bor/data/bor/static-nodes.json as this file is being deprecated in the upcoming version of bor. You will need to add your enode from static-nodes.json file to your bor_config.toml in the below-mentioned format. Basically, whatever is in your Sentry static-nodes.json file should be moved to the bor_config.toml. So your ~/node/bor/bor_config.toml file should look like this:

    [Node.P2P]
    StaticNodes = ["enode://static_node_enode1@ip:port", "enode://static_node_enode2@ip:port", ... ]
    TrustedNodes = ["enode://<enode_id_of_gateway_provided_by_bloxroute>"]
    
  2. In ~/node/bor/start.sh, add the following line in the bor command, along with the remaining flags that are already present:

    --config ~/node/bor/bor_config.toml \
    

    Please note the \ at the end of the line if this is not the last line of the bor command.

  3. Now restart bor: sudo service bor restart

Step 4: Inform the Polygon team on the discord channel #mainnet-validator-queries once you are done adding the trusted peer. bloXroute will activate the hosted gateway and confirm the success of the connection within the next 24 hours.

Do let us know if you need any help. The BloXroute team and the Polygon team will be available at all times to help you out.

Thanks!