Newer
Older
const common = require('./0003-common.js');
async function run(nodeName, networkInfo, nodeNames) {
const apis = await common.getApis(networkInfo, nodeNames);
let at = await apis[nodeName].rpc.chain.getBlockHash(21);
const root = await apis[nodeName].rpc.mmr.root(at);
const proof = await apis[nodeName].rpc.mmr.generateProof([1, 9, 20], 21, at);
const proofVerifications = await Promise.all(
Object.values(apis).map(async (api) => {
return api.rpc.mmr.verifyProof(proof);
})
);
const proofVerificationsStateless = await Promise.all(
Object.values(apis).map(async (api) => {
return api.rpc.mmr.verifyProofStateless(root, proof);
})
);
// check that all nodes accepted the proof
return proofVerifications.every((proofVerification) => proofVerification) && proofVerificationsStateless.every((proofVerification) => proofVerification)
}
module.exports = { run };