问题标签 [merkle-tree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
37 浏览

javascript - 如何在 merkletreejs & solidity 中使用多个叶子和一个证明?

我正在尝试在节点中使用 merkletreejs 来创建一个 hexproof - 使用它可以正常工作,但我还需要它能够为多个叶子生成一个证明。

我当前的js代码:

但是,当我尝试这个时,它给了我同样的证据,就好像我只使用了第一个令牌 ID。基本上忽略了我输入的其他 ID。

而且它给了我无效的证明错误:

关于如何使用多个叶子生成一个默克尔证明的任何想法?

编辑

有人告诉我 merkle 树一次只能验证一片叶子,所以现在我正试图弄清楚如何发送多个证明并可靠地验证每一个。

在 js 中,我创建了一个带有证明的示例数组 -

我将其与我的合同一起发送。不确定如何通过使用数组数组正确验证每一个 -

0 投票
0 回答
24 浏览

solidity - 如何可靠地构建和验证 Merkle 树

一组用户有资格获得某种代币类型的奖励。我想将总奖励存储在一个名为的智能合约中Distributor,并允许用户从该合约中提取他的奖励部分。为了确保每个用户只能提取分配给他的金额,我想使用 Merkle 树,其中所有分发信息都被编码到 Merkle 根中。

我想在solidity文件中构建和验证Merkle树,而不是使用诸如merkletreejs等的javascript库。