mirror of
https://github.com/privacy-scaling-explorations/zk-kit.git
synced 2026-04-22 03:00:15 -04:00
docs: update incremental-merkle-tree usage section
This commit is contained in:
@@ -63,31 +63,25 @@ or [JSDelivr](https://www.jsdelivr.com/):
|
||||
|
||||
## 📜 Usage
|
||||
|
||||
\# **new MerkleTree**(hash: _HashFunction_, depth: _number_, zero: _Node_): _MerkleTree_
|
||||
\# **new IncrementalMerkleTree**(hash: _HashFunction_, depth: _number_, zero: _Node_, arity: _number_): _IncrementalMerkleTree_
|
||||
|
||||
```typescript
|
||||
import { MerkleTree } from "@zk-kit/incremental-merkle-tree"
|
||||
import { IncrementalMerkleTree } from "@zk-kit/incremental-merkle-tree"
|
||||
import { poseidon } from "circomlibjs" // v0.0.8
|
||||
|
||||
const tree = new MerkleTree(poseidon, 16, BigInt(0))
|
||||
|
||||
console.log(tree.root) // 19217088683336594659449020493828377907203207941212636669271704950158751593251
|
||||
const tree = new MerkleTree(poseidon, 16, BigInt(0), 2) // Binary tree.
|
||||
```
|
||||
|
||||
\# **insert**(leaf: _Node_)
|
||||
|
||||
```typescript
|
||||
tree.insert(BigInt(1))
|
||||
|
||||
console.log(tree.root) // 16211261537006706331557500769845541584780950636316907182067421710925347020533
|
||||
```
|
||||
|
||||
\# **delete**(index: _number_)
|
||||
|
||||
```typescript
|
||||
tree.delete(0)
|
||||
|
||||
console.log(tree.root) // 19217088683336594659449020493828377907203207941212636669271704950158751593251
|
||||
```
|
||||
|
||||
\# **indexOf**(leaf: _Node_): _number_
|
||||
@@ -96,46 +90,12 @@ console.log(tree.root) // 192170886833365946594490204938283779072032079412126366
|
||||
tree.insert(BigInt(2))
|
||||
|
||||
const index = tree.indexOf(BigInt(2))
|
||||
|
||||
console.log(index) // 1
|
||||
// The first element is the previously deleted leaf = 0.
|
||||
```
|
||||
|
||||
\# **createProof**(index: _number_): _Proof_
|
||||
|
||||
```typescript
|
||||
const proof = tree.createProof(1)
|
||||
|
||||
console.log(proof)
|
||||
/*
|
||||
{
|
||||
root: 2187155820074874614256666533049960968550634565313477432886010125943412357599n,
|
||||
leaf: 2n,
|
||||
siblingNodes: [
|
||||
0n,
|
||||
14744269619966411208579211824598458697587494354926760081771325075741142829156n,
|
||||
7423237065226347324353380772367382631490014989348495481811164164159255474657n,
|
||||
11286972368698509976183087595462810875513684078608517520839298933882497716792n,
|
||||
3607627140608796879659380071776844901612302623152076817094415224584923813162n,
|
||||
19712377064642672829441595136074946683621277828620209496774504837737984048981n,
|
||||
20775607673010627194014556968476266066927294572720319469184847051418138353016n,
|
||||
3396914609616007258851405644437304192397291162432396347162513310381425243293n,
|
||||
21551820661461729022865262380882070649935529853313286572328683688269863701601n,
|
||||
6573136701248752079028194407151022595060682063033565181951145966236778420039n,
|
||||
12413880268183407374852357075976609371175688755676981206018884971008854919922n,
|
||||
14271763308400718165336499097156975241954733520325982997864342600795471836726n,
|
||||
20066985985293572387227381049700832219069292839614107140851619262827735677018n,
|
||||
9394776414966240069580838672673694685292165040808226440647796406499139370960n,
|
||||
11331146992410411304059858900317123658895005918277453009197229807340014528524n,
|
||||
15819538789928229930262697811477882737253464456578333862691129291651619515538n
|
||||
],
|
||||
path: [
|
||||
1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0
|
||||
]
|
||||
}
|
||||
*/
|
||||
```
|
||||
|
||||
\# **verifyProof**(proof: _Proof_): _boolean_
|
||||
|
||||
Reference in New Issue
Block a user