Provenance Hash Question in Art Engine #225
-
So I have the provenance hash set to true in the config.js, run "npm run generate", and then run "node utils/provenance.js" in the terminal. The _provenance.json file is created successfully and the keccak-256 hash of the concatenatedHashString is correct, as I confirmed it by using this website: I am however a bit confused on how to verify and prove to anyone who potentially has questions as to how each individual hash is created in each metadata file. Is there anyway to prove this? The GitHub says "Then… After generating images and data, each metadata file will include an imageHash property, which is a Keccak256 hash of the output image." I have tried to verify on two seperate websites that convert image files to keccak-256 and got different results from what the art-engine created. Those websites are.
Is there any reason this should be happening / can someone explain to me better how the process for each individual hash is executed? Appreciate any help in advace!! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
hey @0xYorkie Thanks for bringing this up. tl;dr, I've pushed a fix that solves this issue and allows regular proof through tools like https://emn178.github.io/online-tools/keccak_256_checksum.html The issues prior to 2022/08/15The generator was incorrectly hashing the image Buffer after being JSON stringified.
For anyone who needs to reverse engineer the hash prior to the latest change, you will need to run it through a script where |
Beta Was this translation helpful? Give feedback.
hey @0xYorkie Thanks for bringing this up.
tl;dr, I've pushed a fix that solves this issue and allows regular proof through tools like https://emn178.github.io/online-tools/keccak_256_checksum.html
98a37b5
The issues prior to 2022/08/15
The generator was incorrectly hashing the image Buffer after being JSON stringified.
previously
For anyone who needs to reverse engineer the hash prior to the latest change, you will need to run it through a script where
A. read the file as a buffer, e.g.
readFileSync
B.
JSON.stringify
the buffer,C. Return the hash hex