Standalone
Merkle Proofs
Part I
Building Merkle Trees
Download quests in Questplay
The monks use Merkle Trees to build their verification system. By storing a merkle root in a SacredTree
contract, they can verify whether or not an address belongs to their list of trusted addresses.
Here are the details you will need to know:
The merkle tree uses the
keccak256
hash functionThe trusted addresses are hashed to form leaves
The leaves of the tree are then sorted before the tree is built
When building the tree, the pair of hashes are sorted before being hashed together again
Your Task
In data/trustees.js
, you will find the entire dataset of trusted addresses. Transform these addresses into a merkle tree, and store the merkle root in the SacredTree
contract.
You can leave the verify(...)
function empty for now!
Run tests in Questplay
In order for the monks of the Lotus Order to preserve their history, you must aid them in creating a new sacred tree.