exonum / exonum

An extensible open-source framework for creating private/permissioned blockchain applications

Home Page:https://exonum.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Proofs not verifying in v0.12 with latest light client (node)

orthecreedence opened this issue · comments

Hello, I am using exonum 0.12 on rust 1.34.1 on Win 10 x64.

I just converted the schema and a few other things to use merkledb, which has a much nicer interface now (thank you!) however when running the integration tests against my service now, I'm seeing this error that was not there before (and the tests have not changed, only the exonum upgrade from 0.11 -> 0.12):

rootHash parameter is not equal to actual hash

(My integration tests run the client-side proof verifications against the object returned from the server).

The value I'm using is the value from the object's history_hash (such as implemented here). My api implementation is almost exactly like the example api.

Nothing has changed other than converting the app's schema to use MerkleDB instead of the storage lib from 0.11, so I'm wondering if there's an easy explanation for this.

Keep in mind that this is after wiping the database completely (blank slate) so all the hashes should be "correct" (as in, not polluted by a previous version).

Thank you for the help!

@orthecreedence, hi. Did you use exonum-client 0.17.1 ?

Oh, I did not see there was a new version! That appears to have fixed it (although it now console.logs the actualHash each time the tree is verified, fyi). Thank you!