Content Addressable JSON
Give JSON value a hash based on it's logical content.
Example
const wrap = require('content-addressable-json').wrap
const example = { a: 1, b: [2,3,[]] }
console.log(wrap(example))
Result
message: a: 1 b: 2 3 multihash: '12202877ff7d827...2ef4f6794710994d8e1f2d2f'
We can check the message content against the hash
const wrap = wrapconst verify = verifyconst example = a: 1 b: 23 console // => true
Ordering of map elements doesn't change the hash value as the "logical content" didn't change.
const h1 = const h2 = console// => true