Skip to content
You are reading Codefi Orchestrate development version documentation and some displayed features may not be available in the stable release. You can switch to stable version using the version box at screen bottom.

How to use the chain proxy

When you register a new chain, Orchestrate automatically creates a proxy to the Blockchain node, through which all the node’s JSON-RPC methods are available.

Tip

See the API Methods Reference of Hyperledger Besu for details of all RPC methods.

Execute a JSON-RPC request through the Chain proxy

Prerequisites

Query the node using the Orchestrate Gateway API by sending a POST request to the proxy/chains/{CHAIN_UUID}, where {CHAIN_UUID} is the uuid of the registered chain.

Example

curl --location --request POST 'http://chain-registry:8081/{chain-UUID}' --header 'Content-Type: application/json' --data-raw '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["0x1", false],"id":1}'
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
        "number": "0x1",
        "hash": "0xa2e37d81e60c2dec4b37cd2669257bf713f83d95869a0f961c095a045bb02369",
        "mixHash": "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365",
        "parentHash": "0x154417f9675a4d7b3c14376b89fbd3b1c938b795d1d422d982ca9e5e0af8e88f",
        "nonce": "0x0000000000000000",
        "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
        "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
        "transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
        "stateRoot": "0xf412434fb37f1aaa68cc3c9ef0185e342e8afd805630ffedcc65f6257eeda1a7",
        "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
        "miner": "0xa46f0935de4176ffeccdeecaf3c6e3ca03e31b22",
        "difficulty": "0x1",
        "totalDifficulty": "0x2",
        "extraData": "0xf8f0a00000000000000000000000000000000000000000000000000000000000000000f83f94866b0df7138daf807300ed9204de733c1eb6d600949c2106cca920c09cfeca24d4dd5323f0a97ba00c94a46f0935de4176ffeccdeecaf3c6e3ca03e31b22808400000002f886b841700eb6e6b8263326393917c328e3f29fde5e46e2c1845d27d96fbbb3bbf3dfaa68d9f3a98c801c2be635720a6880d19f52228d792f8577f6aac25bfa8192874d00b841b76a150ba7eb23f66a194fa6a5effb5023848f732a30ca4fbc801cd9655dac3073cf1f307b34de2973897f18afaf9f0a880467c927505ce8c230a1380312fd4801",
        "size": "0x2f3",
        "gasLimit": "0x1fffffffffffff",
        "gasUsed": "0x0",
        "timestamp": "0x6019cbad",
        "uncles": [],
        "transactions": []
    }
}

How to use the chain proxy cache

Use the chain proxy cache to reduce the amount of calls to the same RPC endpoints. The cache is useful if you have multiple tenants and chains pointing to the same RPC endpoints. Read more on how to configure it here.

The cache covers calls to the following RPC methods:

  • eth_getBlockByNumber
  • eth_getTransactionReceipt

To skip the cache when making requests to the chain proxy, append the X-Cache-Control=no-cache header as follows:

curl -X POST -H "Content-Type: application/json"  -H "X-Cache-Control=no-cache" --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params": ....}' /
ConsenSys has acquired Quorum from J.P. Morgan. Please read the FAQ.
Questions or feedback? You can obtain paid professional support by Consensys at orchestrate@consensys.net