← Robinhood Chain overview

Robinhood Chain · eth

eth_sendRawTransaction

Submits a raw transaction. You can create and sign a transaction externally using a library such as [web3.js](https://web3js.readthedocs.io/) or [ethers.js](https://docs.ethers.org/). For [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) transactions, the raw form must be the network form. This means it includes the blobs, KZG commitments, and KZG proofs. For [EIP-7594](https://eips.ethereum.org/EIPS/eip-7594) transactions, the raw format must be the network form. This means it includes the blobs, KZG commitments, and cell proofs. The logic for handling the new transaction during fork boundaries are 1. When receiving an encoded transaction with cell proofs before the PeerDAS fork activates, we reject it. Only blob proofs are accepted into the pool. 2. At the time of fork activation, the implementer could (not mandatory) - Drop all old-format transactions - Convert old proofs to new format (computationally expensive) - Convert only when including in a locally produced block 3. After the fork has activated, only txs with cell proofs are accepted via p2p relay. 4. On RPC (eth_sendRawTransaction), txs with blob proofs may still be accepted and will be auto-converted by the node. At implementer discretion, this facility can be deprecated later when users have switched to new client libraries that can create cell proofs.

Parameters

  • Transaction required
    Schema
    {
      "type": "string",
      "title": "hex encoded bytes",
      "pattern": "^0x[0-9a-f]*$"
    }

cURL

Endpoint: https://rh-mainnet.eu1.azxa.io/<api-key> — replace <api-key> with your API key from the Azxa app .

Terminal
curl -X POST https://rh-mainnet.eu1.azxa.io/<api-key> \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_sendRawTransaction","params":["0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833"]}'

Example request

JSON-RPC
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "eth_sendRawTransaction",
  "params": [
    "0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833"
  ]
}

Result

Transaction hash

Example response
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
}
Schema
{
  "type": "string",
  "title": "32 byte hex value",
  "pattern": "^0x[0-9a-f]{64}$"
}

Test fixture

Fixture: send-access-list-transaction

Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "eth_sendRawTransaction",
  "params": [
    "0x01f8cc870c72dd9d5e883e028401a2158b83015f90947dcd17433742f4c0ca53122ab541d0ba67…8866b3fbbbda6033fa0b"
  ]
}
Response
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x2a47fd29365246f5bc1ba9209d2f8c27ba501f78a2e697d470448ddf799a98d4"
}