Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RPCs not compliant with the JSON-RPC spec #173

Closed
josepot opened this issue Oct 16, 2024 · 3 comments
Closed

RPCs not compliant with the JSON-RPC spec #173

josepot opened this issue Oct 16, 2024 · 3 comments

Comments

@josepot
Copy link

josepot commented Oct 16, 2024

Dear Invarch 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 Invarch RPCs that expose the modern JSON-RPC API. At least, the only one that we are aware of (wss://invarch-rpc.dwellir.com) doesn't expose it. Thankfully, it's still possible to use PAPI with Invarch thanks to the light-client provider, using the following chainspec with smoldot:

{
  "name": "InvArch Network",
  "id": "invarch_polkadot",
  "chainType": "Live",
  "bootNodes": [
    "/dns/invarch-boot.dwellir.com/tcp/443/wss/p2p/12D3KooWHWLn81PF8T29cxeeq12hpJoaPNbJbuvtZ6pJxJ8asnTY",
    "/dns/invarch-boot.dwellir.com/tcp/30363/p2p/12D3KooWHWLn81PF8T29cxeeq12hpJoaPNbJbuvtZ6pJxJ8asnTY",
    "/dns/invarch.boot.stake.plus/tcp/30332/wss/p2p/12D3KooWJ7dgREmmhiA5skqEf1C7N43ex9uawaXuyQumhxg66Zoa",
    "/dns/invarch.boot.stake.plus/tcp/31332/wss/p2p/12D3KooWLLHBRKvbRgWA5eD2DSFEeEz7i5V9zPVCkCeMdyT966Ui"
  ],
  "properties": {
    "ss58Format": 117,
    "tokenDecimals": 12,
    "tokenSymbol": "VARCH"
  },
  "relay_chain": "polkadot",
  "para_id": 3340,
  "codeSubstitutes": {},
  "genesis": {
    "stateRootHash": "0x64d77bb0ea342ea5b053fba4fd29248b1c3a5b20a8a9ef0cfc14cf45b0c5a4fb"
  }
}

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 Invarch are using an even older version, which the middleware does not support.

I suspect that this may be due to issues with the latest node releases (e.g., issue 1, issue 2). 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

@Anny0nn
Copy link
Member

Anny0nn commented Oct 18, 2024

Thanks for taking the time to write this issue. It should be resolved as soon as we upgrade the InvArch chain and nodes. We are still finalizing our internal schedule, but two upgrades are planned: first to SDK 1.6.0 with enabled metadata hash, and then to stable2407.

@Anny0nn
Copy link
Member

Anny0nn commented Nov 7, 2024

Should be fixed now, if you find anything out of place please let us know and again thanks for taking your time to bring this up @josepot.

@Anny0nn Anny0nn closed this as completed Nov 7, 2024
@josepot
Copy link
Author

josepot commented Nov 8, 2024

Should be fixed now, if you find anything out of place please let us know and again thanks for taking your time to bring this up @josepot.

Thank you so much for handling this!! 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants