+
Skip to content

RPCs not compliant with the JSON-RPC spec #369

@josepot

Description

@josepot

Dear Robonomics Team,

I hope this message finds you well. My name is Josep, and I'm the technical lead of the Polkadot-API (PAPI) team.

In case you're not familiar with Polkadot-API, it's a modern library designed to replace PolkadotJS, built on top of a properly specified and standardized JSON-RPC API for Polkadot-based networks. The modern JSON-RPC APIs offer many advantages over the legacy ones; you can read more about it here and here.

We've noticed that there are no available public Robonomics RPCs that expose the modern JSON-RPC API. At least, the only one that we are aware of (wss://polkadot.rpc.robonomics.network/) doesn't expose it. Thankfully, it's still possible to use PAPI with Robonomics thanks to the light-client provider, using the following chainspec with smoldot:

{
  "name": "Robonomics Polkadot",
  "id": "robonomics",
  "chainType": "Live",
  "bootNodes": [
    "/dns/1.polkadot.robonomics.network/tcp/30333/p2p/12D3KooWBnKAQhucAaR3vqqSNryFwXmkQptjDDzWbbJEuH2JnHKi",
    "/dns/1.polkadot.robonomics.network/tcp/30332/ws/p2p/12D3KooWBnKAQhucAaR3vqqSNryFwXmkQptjDDzWbbJEuH2JnHKi",
    "/dns/1.polkadot.robonomics.network/tcp/443/wss/p2p/12D3KooWBnKAQhucAaR3vqqSNryFwXmkQptjDDzWbbJEuH2JnHKi",
    "/dns/2.polkadot.robonomics.network/tcp/30333/p2p/12D3KooWMWaB3b92rMDQUxYofGMBGCzFRwwrHpoPmK7CpQwUXMKM",
    "/dns/2.polkadot.robonomics.network/tcp/30332/ws/p2p/12D3KooWMWaB3b92rMDQUxYofGMBGCzFRwwrHpoPmK7CpQwUXMKM",
    "/dns/2.polkadot.robonomics.network/tcp/443/wss/p2p/12D3KooWMWaB3b92rMDQUxYofGMBGCzFRwwrHpoPmK7CpQwUXMKM",
    "/dns/3.polkadot.robonomics.network/tcp/30333/p2p/12D3KooWRbiTKu5UxvJxwLpFJKU8kc9GLqAhQACiqwpirKTiHYiy",
    "/dns/3.polkadot.robonomics.network/tcp/30332/ws/p2p/12D3KooWRbiTKu5UxvJxwLpFJKU8kc9GLqAhQACiqwpirKTiHYiy",
    "/dns/3.polkadot.robonomics.network/tcp/443/wss/p2p/12D3KooWRbiTKu5UxvJxwLpFJKU8kc9GLqAhQACiqwpirKTiHYiy"
  ],
  "telemetryEndpoints": [],
  "protocolId": "pdex",
  "properties": {
    "tokenDecimals": 9,
    "tokenSymbol": "XRT"
  },
  "relay_chain": "polkadot",
  "para_id": 3388,
  "codeSubstitutes": {},
  "genesis": {
    "stateRootHash": "0xf602506f613b88fac67a5fd8d73e702cb2ee49e4eb970a5a2a2ce39f14e8dc1e"
  }
}

However, not all consumers can utilize the light-client.

Our team has developed a middleware solution to ensure that Polkadot-API can function seamlessly with chains running older versions of the Polkadot-SDK node. Unfortunately, it appears that the RPC providers for Robonomics are using an even older version, which the middleware does not support.

We kindly request that you consider working with your RPC providers to upgrade the PolkadotSDK node to a more modern version that supports the new JSON-RPC API. This upgrade would enable DApp developers to easily interact with your chain using PAPI, unlocking benefits such as improved performance, reduced resource usage, out-of-the-box strong type generation for your chain, and the ability for developers to handle runtime upgrades on the fly.

Thank you for your time and consideration.

Best regards,

Josep

PS: It's nice to see that the runtime of your chain is already using Metadata V15! Usually chains that use old PolkadotSDK nodes are still on Metadata V14. This clearly hints to us that your chain's runtime is being kept up to date 🙂.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载