tendermint / js-abci

Javascript ABCI libraries
87 stars 41 forks source link

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

Closed hrharder closed 5 years ago

hrharder commented 5 years ago

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!

hrharder commented 5 years ago

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.

zramsay commented 5 years ago

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

hrharder commented 5 years ago

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

hrharder commented 5 years ago

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