You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To learn about the Verity Verifier in detail, please refer to the [official documentation](https://docs.verity.usher.so/), specifically the [Verity Verifier](https://docs.verity.usher.so/build/verifier) section.
3
+
For detailed information about the Verity Verifier, see the [official documentation](https://docs.verity.usher.so/), specifically the [Verity Verifier](https://docs.verity.usher.so/build/verifier) section.
4
4
5
-
**The following is from the documentation as of *23 January 2025*.**
5
+
**The following content reflects the documentation as at 23 January 2025.**
6
+
7
+
## Use the Verifier as a Dependency in Your Canister
8
+
9
+
The Verifier can now be used as a dependency in other canisters.
10
+
11
+
Update your `dfx.json` to include:
12
+
13
+
```json
14
+
{
15
+
"canisters": {
16
+
"<your_canister>": {
17
+
.....
18
+
"dependencies": [
19
+
"verity_verifier"
20
+
]
21
+
},
22
+
"verity_verifier": {
23
+
"type": "pull",
24
+
"id": "yf57k-fyaaa-aaaaj-azw2a-cai"
25
+
}
26
+
}
27
+
}
28
+
29
+
```
6
30
7
31
## Local Deployment
8
32
9
-
**Disclaimer:** Deployment of the canister (`ic/managed/verifier`) to mainnet is not recommended. This is to ensure compliance with licence agreements and to maintain compatibility and security with the broader Verity Network. We recommend using our Managed*General Purpose MPC-TLS* Verifier and interfacing via an inter-canister `async` calls or a wallet‑to‑IC `direct` calls for optimal security and performance.
33
+
**Disclaimer:** Deployment of this canister (`ic/managed/verifier`) to the mainnet is not recommended. This is to ensure compliance with licence agreements and to maintain compatibility and security across the broader Verity Network. We recommend using our managed*General-purpose MPC-TLS* Verifier and interfacing via inter‑canister `async` calls or wallet‑to‑IC `direct` calls for optimal security and performance.
10
34
11
35
### Prerequisites
12
36
@@ -16,26 +40,12 @@ To learn about the Verity Verifier in detail, please refer to the [official docu
16
40
rustup target add wasm32-wasip1
17
41
```
18
42
19
-
2. Install `wasi2ic`:
43
+
2. Install `wasi2ic`, `candid-extractor`, and `ic-wasm`:
20
44
21
45
```bash
22
-
cargo install wasi2ic
46
+
cargo install wasi2ic candid-extractor ic-wasm
23
47
```
24
48
25
-
3. Install `binaryen`:
26
-
27
-
With Homebrew:
28
-
29
-
```bash
30
-
brew install binaryen
31
-
```
32
-
33
-
From the releases page:
34
-
1. Download [Binaryen](https://github.com/WebAssembly/binaryen/releases) from the releases page.
35
-
2. Extract the files: `tar -xzf binaryen-version.tar.gz`.
36
-
3. Move the binary to your PATH: `sudo mv binaryen-version/bin/wasm-opt /usr/local/bin/`.
37
-
4. Verify the installation: `wasm-opt --version`.
38
-
39
49
### Deployment
40
50
41
51
To deploy the canister locally, follow these steps:
@@ -48,25 +58,25 @@ To deploy the canister locally, follow these steps:
48
58
1.`pnpm prep`
49
59
2.`pnpm test --run`
50
60
51
-
### Performance benchmarks
61
+
### Performance Benchmarks
52
62
53
63
We have benchmarked the following functions to provide insight into their performance:
54
64
55
65
#### `verify_proof_async` and `verify_proof_async_batch`
56
66
57
-
-**Execution time:** Constant, regardless of input size (~2100 ms).
67
+
-**Execution time:** Constant, regardless of input size (≈ 2,100 ms).
58
68
-**DFX cycle cost:** Approximately 550–720 cycles per byte of TLS data.
59
69
60
70
#### `verify_proof_direct` and `verify_proof_direct_batch`
61
71
62
-
-**Execution time:**Linear; approximately 3× the execution time of `verify_proof_async` plus signing time (L).
72
+
-**Execution time:**Approximately linear; about 3× the execution time of `verify_proof_async`, plus signing time.
63
73
-**DFX cycle cost:** Roughly the same as `verify_proof_async` and `verify_proof_async_batch`.
64
74
65
75
### Caveats
66
76
67
-
#### `clang` dependency
77
+
#### Clang dependency
68
78
69
-
**On macOS:** If you experience issues during `cargo build` where the `ring` library fails to compile, this is typically because `clang` is not found.
79
+
**On macOS:** If you encounter issues during `cargo build` where the `ring` library fails to compile, it is typically because `clang` is not found.
The `etherum_pk` field in the `PublicKeyReply` struct is the Ethereum address derived from the SEC1 public key. This is obtained using the `get_address_from_public_key` function in the `ethereum` module.
97
+
The `etherum_pk` field in the `PublicKeyReply` struct is the Ethereum address derived from the SEC1 public key. It is obtained using the `get_address_from_public_key` function in the `ethereum` module.
0 commit comments