-
Notifications
You must be signed in to change notification settings - Fork 228
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
rpc: incompatibilities #88
Comments
@liamsi can we figure out a way to run the currently |
Yes, that would be ideal! A naive approach that should work: grab a docker image (with the latest / a pinned tendermint version), pull in tendermint-rs source, spin up a single tendermint node and run the ignored tests against this node (via It makes sense to sync with @greg-szabo and @thanethomson on this too. Not likely that I'll work on this this year but I I'll open a PR with a fix for the regressions. |
#169 surfaced new incompatibilities with the latest tendermint version. |
As mentioned above the spec defines:
https://www.jsonrpc.org/specification#request_object I'll go on and change the This resurfaced with: #181 |
I think this has been fixed with #183. The resolution (for 0.32) was to introduce the Rust version of Oh, I see the |
Yes, the JSON-only tests still use a string based ID (see all files here). When I run a tendermint instance locally it returns an integer though (ad do all examples in https://docs.tendermint.com/master/rpc/). Interestingly, gaia seems to return a string based ID, e.g. see https://rpc.cosmos.network/commit?height=1 That said, we might not explicitly test for the ID thingy but it's effectively parsed on each test / rpc call. |
As far as I can see all known issues are fixed. I have another comment on how to improve the integration test situation but I'll open a separate issue for this or use the #120 to track this. |
Closing |
I've tested the (ignored) integration tests for rpc against a tendermint 0.32.7 version and the following tests fail:
abci_info
andgenesis
Result::unwrap()
on anErr
value: Error { code: ParseError, message: "Parse error. Invalid JSON", data: Some("invalid digit found in string at line 11 column 26") }Result::unwrap()
on anErr
value: Error { code: ParseError, message: "Parse error. Invalid JSON", data: Some("missing fieldlast_block_height
at line 9 column 5") }#85 (comment)
I've also noted that example responses on https://docs.tendermint.com/master/rpc/#/ have a numeric
id
(every JSON rpc request comes with such an id):while on my local
0.32.7
returns a string based id"id": "",
.We should make sure to support both as the spec says:
https://www.jsonrpc.org/specification#request_object
Compatibility with some tendermint version is also relevant in the context of a light client making requests via rpc.
The text was updated successfully, but these errors were encountered: