tendermint/js-abci

js-abci (4.0.2) does not support Tendermint v0.26

hrharder opened this issue · 4 comments

Changes to message types (and presumably their encodings) introduced in Tendermint v0.26 broke compatibility with js-abci. I was using js-abci with Tendermint v0.25 with no issues.

Output log below is from running my ABCI application using js-abci with Tendermint v0.26. These errors are not present using the v0.25 binary. Logs include Tendermint logs piped through stdout.

I[3126-12-03|17:14:20.327] Starting socketClient                        module=abci-client connection=mempool impl=socketClient
I[3126-12-03|17:14:20.328] Starting socketClient                        module=abci-client connection=consensus impl=socketClient
I[3126-12-03|17:14:20.333] ABCI Handshake App Info                      module=consensus height=0 hash= software-version=0.4.0 protocol-version=0
I[3126-12-03|17:14:20.333] ABCI Replay Blocks                           module=consensus appHeight=0 storeHeight=0 stateHeight=0
(node:16424) UnhandledPromiseRejectionWarning: Error: invalid wire type 4 at offset 80
    at BufferReader.Reader.skipType (/Users/hen/GitHub/ParadigmCore/node_modules/protobufjs/src/reader.js:373:19)
    at Function.decode (/Users/hen/GitHub/ParadigmCore/node_modules/abci/types.js:1472:28)
    at Function.decode (/Users/hen/GitHub/ParadigmCore/node_modules/abci/types.js:250:69)
    at Connection.maybeReadNextMessage (/Users/hen/GitHub/ParadigmCore/node_modules/abci/src/connection.js:55:27)
    at Connection.onData (/Users/hen/GitHub/ParadigmCore/node_modules/abci/src/connection.js:32:10)
    at Socket.emit (events.js:182:13)
    at addChunk (_stream_readable.js:283:12)
    at readableAddChunk (_stream_readable.js:264:11)
    at Socket.Readable.push (_stream_readable.js:219:10)
    at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)

I am happy to assist supporting the latest version, but would require some guidance as to where this issue originates from. I expect new protobuf definitions need to be created for the latest TM release, but please correct me if this is incorrect. Thanks!

Please advise if work is already being done to address this and I can close. I noticed @marypreethi12 made some changes to protobuf definitions in https://github.com/marypreethi12/js-abci, which is being discussed in #33.

the work in #33 should solve this. can you try your app with that code?

Thanks -- I'll pull that down today and see if it fixes it, assuming this can be closed if so.

Seems to fix the issue using @marypreethi12's fork, thanks for the help. I'll go ahead an close this.