1. Home
  2. bloXroute Documentation
  3. Cloud-API
  4. Overview

Overview

Starting with version 1.7, the BDN supports sending Ethereum transactions and subscribing to Transaction Streaming using the Cloud-API. This allows bloXroute accounts to access the BDN without a Gateway.

In order to work with the bloXroute Cloud-API you must register an account on the bloXroute website and use a paid tier.

During the registration process, a certificate, private key, and secret-hash will be generated for your account. The certificate and key will be used to authenticate your account by the bloXroute Cloud-API.

Step-by-Step Working With bloXroute Cloud-API

 

1. Register an account.

2. Download the artifacts and unzip the contents.

3. Save the certificate and private key to a folder.

For example:

/usr/bloxroute/certificate

4. Prepare the authorization header using the account-id and secret hash from the account registration.

For example:

import base64
base64.b64encode(f"{account_id}:{secret_hash}".encode("utf-8")).decode("utf-8")

Example account-id from Customer Portal:

5. For Sending Transactions use the authorization header you created in step 3.

The easiest way to test your account ID / secret key is to  fetch your quota usage using this request..

curl http://api.blxrbdn.com:443 --data '{"method": "quota_usage", "id": "1", "params": null}' --header "Content-Type:text/plain"  --header "Authorization:

You should get a response that looks like this:

"{\"jsonrpc\": \"2.0\", \"id\": \"1\", \"result\": {\"account_id\": \"\", \"quota_filled\": 0, \"quota_limit\": 500}}"

6. For Transaction Streaming via the Cloud-API, use the certificate and private key you saved in step 3.

 

Sending a Message to the Cloud-API Using Direct HTTP Request

 
The interface to the bloXroute Cloud-API is based on RPC. Use http://api.blxrbdn.com:443 to send requests to the Cloud-API. This domain will resolve to the nearest available Cloud-API provider.

Each request must have the following headers:

  • Content-Type: text/plain
  • Authorization: should be base64 encoding of combination of account_id:secret_hash

 
secret_hash is the api key you received during the account registration.

Python code example:

import base64
base64.b64encode(f"{account_id}:{secret_hash}".encode("utf-8")).decode("utf-8")

The data must be in a json format and should include the following fields:

  • method: blxr_tx / quota_usage
  • id: request-id
  • params: extra parameters depends on the method