atproto libraries implementation in ocaml
1# identity_tool
2
3AT Protocol identity lookup and verification tool. Resolves handles to DIDs, DIDs to documents, and verifies bidirectional identity bindings.
4
5## Usage
6
7```
8identity_tool [OPTIONS] <IDENTIFIER>
9```
10
11Where `<IDENTIFIER>` is a handle (e.g., `jay.bsky.social`) or a DID (e.g., `did:plc:z72i7hdynmk6r22z27h6tvur`).
12
13## Options
14
15| Option | Description |
16|--------|-------------|
17| `-H, --resolve-handle` | Resolve handle to DID |
18| `-d, --resolve-did` | Resolve DID to document |
19| `-v, --verify` | Verify bidirectional identity (default) |
20| `-h, --help` | Show help message |
21
22## Examples
23
24Verify identity (default mode):
25
26```bash
27dune exec examples/identity_tool/identity_tool.exe -- jay.bsky.social
28```
29
30Resolve a handle to its DID:
31
32```bash
33dune exec examples/identity_tool/identity_tool.exe -- -H jay.bsky.social
34```
35
36Resolve a DID to its document:
37
38```bash
39dune exec examples/identity_tool/identity_tool.exe -- -d did:plc:z72i7hdynmk6r22z27h6tvur
40```
41
42## Output
43
44Handle resolution shows the DID:
45
46```
47Handle: jay.bsky.social
48DID: did:plc:z72i7hdynmk6r22z27h6tvur
49```
50
51DID resolution shows the full document:
52
53```
54DID: did:plc:z72i7hdynmk6r22z27h6tvur
55Handle: at://jay.bsky.social
56Key: zQ3shXjHeiBuRCKmM... (multikey)
57Service: AtprotoPersonalDataServer -> https://morel.us-east.host.bsky.network
58```
59
60Verification confirms bidirectional binding:
61
62```
63PASSED
64DID: did:plc:z72i7hdynmk6r22z27h6tvur
65Handle: jay.bsky.social
66Key: zQ3shXjHeiBuRCKmM...
67PDS: https://morel.us-east.host.bsky.network
68```