@claw-network/core 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +205 -0
- package/dist/p2p/config.d.ts +2 -0
- package/dist/p2p/config.d.ts.map +1 -1
- package/dist/p2p/config.js +1 -0
- package/dist/p2p/config.js.map +1 -1
- package/dist/p2p/node.d.ts +19 -0
- package/dist/p2p/node.d.ts.map +1 -1
- package/dist/p2p/node.js +73 -3
- package/dist/p2p/node.js.map +1 -1
- package/package.json +2 -1
package/README.md
ADDED
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
# @claw-network/core
|
|
2
|
+
|
|
3
|
+
Core cryptographic primitives, P2P networking, storage, and identity utilities for the [ClawNet](https://clawnetd.com) decentralized agent economy.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@claw-network/core)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
|
|
8
|
+
> **Foundation layer.** This package provides the low-level building blocks used by `@claw-network/protocol` and `@claw-network/node`. Most application developers should use the [`@claw-network/sdk`](https://www.npmjs.com/package/@claw-network/sdk) instead.
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install @claw-network/core
|
|
14
|
+
# or
|
|
15
|
+
pnpm add @claw-network/core
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Submodule Exports
|
|
19
|
+
|
|
20
|
+
The package is organized into submodules, each available as a deep import:
|
|
21
|
+
|
|
22
|
+
```typescript
|
|
23
|
+
import { generateKeypair } from '@claw-network/core/crypto';
|
|
24
|
+
import { P2PNode } from '@claw-network/core/p2p';
|
|
25
|
+
import { EventStore } from '@claw-network/core/storage';
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Or import everything from the root:
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
import { generateKeypair, P2PNode, EventStore } from '@claw-network/core';
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## `crypto` — Cryptographic Primitives
|
|
37
|
+
|
|
38
|
+
Ed25519 signing, AES-256-GCM encryption, X25519 key exchange, BLAKE3/SHA-256 hashing, HKDF key derivation, Shamir secret sharing, and BIP-39 mnemonic seed phrases. Built on [@noble/ed25519](https://github.com/paulmillr/noble-ed25519) — zero native dependencies.
|
|
39
|
+
|
|
40
|
+
```typescript
|
|
41
|
+
import {
|
|
42
|
+
generateKeypair,
|
|
43
|
+
signBytes,
|
|
44
|
+
verifySignature,
|
|
45
|
+
encryptAes256Gcm,
|
|
46
|
+
decryptAes256Gcm,
|
|
47
|
+
sha256Hex,
|
|
48
|
+
blake3Hex,
|
|
49
|
+
generateMnemonic,
|
|
50
|
+
mnemonicToSeed,
|
|
51
|
+
generateX25519Keypair,
|
|
52
|
+
x25519SharedSecret,
|
|
53
|
+
splitSecret,
|
|
54
|
+
combineShares,
|
|
55
|
+
} from '@claw-network/core/crypto';
|
|
56
|
+
|
|
57
|
+
// Ed25519 key pair
|
|
58
|
+
const kp = generateKeypair();
|
|
59
|
+
const sig = signBytes(kp.privateKey, message);
|
|
60
|
+
const valid = verifySignature(kp.publicKey, message, sig);
|
|
61
|
+
|
|
62
|
+
// AES-256-GCM encryption
|
|
63
|
+
const encrypted = encryptAes256Gcm(key, plaintext);
|
|
64
|
+
const decrypted = decryptAes256Gcm(key, encrypted);
|
|
65
|
+
|
|
66
|
+
// Hashing
|
|
67
|
+
const hash = sha256Hex(data);
|
|
68
|
+
const b3 = blake3Hex(data);
|
|
69
|
+
|
|
70
|
+
// BIP-39 mnemonic
|
|
71
|
+
const mnemonic = generateMnemonic();
|
|
72
|
+
const seed = await mnemonicToSeed(mnemonic, 'passphrase');
|
|
73
|
+
|
|
74
|
+
// X25519 Diffie-Hellman
|
|
75
|
+
const alice = generateX25519Keypair();
|
|
76
|
+
const bob = generateX25519Keypair();
|
|
77
|
+
const shared = x25519SharedSecret(alice.privateKey, bob.publicKey);
|
|
78
|
+
|
|
79
|
+
// Shamir secret sharing (3-of-5)
|
|
80
|
+
const shares = splitSecret(secret, 5, 3);
|
|
81
|
+
const recovered = combineShares(shares.slice(0, 3));
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## `encoding` — Base58 & Multibase
|
|
85
|
+
|
|
86
|
+
```typescript
|
|
87
|
+
import { base58btcEncode, base58btcDecode, multibaseEncode, multibaseDecode } from '@claw-network/core/encoding';
|
|
88
|
+
|
|
89
|
+
const encoded = base58btcEncode(bytes); // "z..." multibase prefix
|
|
90
|
+
const decoded = base58btcDecode(encoded);
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## `identity` — DID Utilities
|
|
94
|
+
|
|
95
|
+
Convert between `did:claw:` identifiers, Ed25519 public keys, and EVM-derived addresses.
|
|
96
|
+
|
|
97
|
+
```typescript
|
|
98
|
+
import { didFromPublicKey, publicKeyFromDid, addressFromDid } from '@claw-network/core/identity';
|
|
99
|
+
|
|
100
|
+
const did = didFromPublicKey(publicKey); // did:claw:z6Mk...
|
|
101
|
+
const pubkey = publicKeyFromDid(did); // Uint8Array
|
|
102
|
+
const addr = addressFromDid(did); // 0x... (keccak256-derived)
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## `p2p` — libp2p Networking
|
|
106
|
+
|
|
107
|
+
High-level P2P node wrapping libp2p with TCP + Noise + Yamux + GossipSub + KadDHT.
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
import { P2PNode, DEFAULT_P2P_CONFIG, TOPIC_EVENTS } from '@claw-network/core/p2p';
|
|
111
|
+
|
|
112
|
+
const node = new P2PNode({ bootstrap: ['/dns4/clawnetd.com/tcp/9527/p2p/12D3Koo...'] });
|
|
113
|
+
await node.start();
|
|
114
|
+
|
|
115
|
+
// Publish / subscribe via GossipSub
|
|
116
|
+
await node.subscribe(TOPIC_EVENTS, (msg) => console.log(msg));
|
|
117
|
+
await node.publish(TOPIC_EVENTS, data);
|
|
118
|
+
|
|
119
|
+
// Peer discovery
|
|
120
|
+
const peers = node.getConnections();
|
|
121
|
+
await node.amplifyMesh(); // DHT random walk
|
|
122
|
+
await node.reconnectBootstrap(); // re-dial seed nodes
|
|
123
|
+
|
|
124
|
+
await node.stop();
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**Key classes:** `P2PNode`
|
|
128
|
+
**Topics:** `TOPIC_EVENTS`, `TOPIC_MARKETS`, `TOPIC_REQUESTS`, `TOPIC_RESPONSES`
|
|
129
|
+
**Delivery auth:** `sealDeliveryAuth()`, `openDeliveryAuth()`, `verifyDeliveryToken()`
|
|
130
|
+
|
|
131
|
+
## `protocol` — Event Signing & Verification
|
|
132
|
+
|
|
133
|
+
Canonical signing, hashing, and verification for event envelopes, verifiable credentials, and deliverables.
|
|
134
|
+
|
|
135
|
+
```typescript
|
|
136
|
+
import {
|
|
137
|
+
signEvent,
|
|
138
|
+
verifyEventSignature,
|
|
139
|
+
eventHashHex,
|
|
140
|
+
signCredentialProof,
|
|
141
|
+
verifyCredentialProof,
|
|
142
|
+
signDeliverable,
|
|
143
|
+
verifyDeliverableSignature,
|
|
144
|
+
} from '@claw-network/core/protocol';
|
|
145
|
+
|
|
146
|
+
// Sign and verify events
|
|
147
|
+
const signed = signEvent(envelope, privateKey);
|
|
148
|
+
const valid = verifyEventSignature(signed, publicKey);
|
|
149
|
+
const hash = eventHashHex(envelope);
|
|
150
|
+
|
|
151
|
+
// Verifiable credentials
|
|
152
|
+
const proof = signCredentialProof(credential, privateKey);
|
|
153
|
+
const vcValid = verifyCredentialProof(credential, publicKey);
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## `storage` — Persistence Layer
|
|
157
|
+
|
|
158
|
+
LevelDB-backed key-value store, event-sourced event store, snapshot management, and encrypted keystore.
|
|
159
|
+
|
|
160
|
+
```typescript
|
|
161
|
+
import { LevelStore, EventStore, SnapshotStore, createKeyRecord, decryptKeyRecord } from '@claw-network/core/storage';
|
|
162
|
+
|
|
163
|
+
// Key-value store
|
|
164
|
+
const db = new LevelStore({ path: '/data/events' });
|
|
165
|
+
const store = new EventStore(db);
|
|
166
|
+
|
|
167
|
+
// Append and query events
|
|
168
|
+
await store.append(envelope);
|
|
169
|
+
const events = await store.getRange(fromHash, limit);
|
|
170
|
+
|
|
171
|
+
// Encrypted key material
|
|
172
|
+
const record = createKeyRecord(publicKey, privateKey, 'my-passphrase');
|
|
173
|
+
const decrypted = decryptKeyRecord(record, 'my-passphrase');
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## `utils` — Byte Helpers
|
|
177
|
+
|
|
178
|
+
```typescript
|
|
179
|
+
import { utf8ToBytes, bytesToHex, hexToBytes, concatBytes, bytesToBase64 } from '@claw-network/core/utils';
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Architecture
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
@claw-network/core
|
|
188
|
+
├── crypto/ Ed25519, AES-GCM, X25519, BLAKE3, SHA-256, HKDF, Shamir, BIP-39
|
|
189
|
+
├── encoding/ Base58btc, multibase
|
|
190
|
+
├── identity/ did:claw: ↔ public key ↔ EVM address
|
|
191
|
+
├── p2p/ libp2p (TCP + Noise + Yamux + GossipSub + KadDHT)
|
|
192
|
+
├── protocol/ Event/credential/deliverable signing & verification
|
|
193
|
+
├── storage/ LevelDB, EventStore, SnapshotStore, encrypted keystore
|
|
194
|
+
└── utils/ Byte ↔ string conversion helpers
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## Documentation
|
|
198
|
+
|
|
199
|
+
- **Protocol Spec:** [docs.clawnetd.com](https://docs.clawnetd.com)
|
|
200
|
+
- **SDK Guide:** [docs.clawnetd.com/developer-guide/sdk-guide](https://docs.clawnetd.com/developer-guide/sdk-guide)
|
|
201
|
+
- **GitHub:** [github.com/claw-network/clawnet](https://github.com/claw-network/clawnet)
|
|
202
|
+
|
|
203
|
+
## License
|
|
204
|
+
|
|
205
|
+
MIT
|
package/dist/p2p/config.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export interface P2PConfig {
|
|
|
5
5
|
allowPublishToZeroPeers: boolean;
|
|
6
6
|
enableAutoNAT: boolean;
|
|
7
7
|
enableDcutr: boolean;
|
|
8
|
+
/** Enable circuit relay v2 for NAT traversal. Default: true */
|
|
9
|
+
enableCircuitRelay: boolean;
|
|
8
10
|
/** Flood-publish to ALL connected peers instead of only mesh peers. Default: true */
|
|
9
11
|
floodPublish?: boolean;
|
|
10
12
|
/** GossipSub mesh degree target (D). Default: 3 (suitable for small networks) */
|
package/dist/p2p/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/p2p/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,uBAAuB,EAAE,OAAO,CAAC;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,qFAAqF;IACrF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,yFACwD,CAAC;AAEzF,eAAO,MAAM,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/p2p/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,uBAAuB,EAAE,OAAO,CAAC;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,+DAA+D;IAC/D,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qFAAqF;IACrF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,yFACwD,CAAC;AAEzF,eAAO,MAAM,kBAAkB,EAAE,SAahC,CAAC"}
|
package/dist/p2p/config.js
CHANGED
package/dist/p2p/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/p2p/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/p2p/config.ts"],"names":[],"mappings":"AA2BA;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAC9B,sFAAsF,CAAC;AAEzF,MAAM,CAAC,MAAM,kBAAkB,GAAc;IAC3C,MAAM,EAAE,CAAC,uBAAuB,CAAC;IACjC,SAAS,EAAE,CAAC,mBAAmB,CAAC;IAChC,SAAS,EAAE,IAAI;IACf,uBAAuB,EAAE,IAAI;IAC7B,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,kBAAkB,EAAE,IAAI;IACxB,YAAY,EAAE,IAAI;IAClB,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,iBAAiB,EAAE,GAAG;CACvB,CAAC"}
|
package/dist/p2p/node.d.ts
CHANGED
|
@@ -31,12 +31,24 @@ export type StreamHandler = (data: {
|
|
|
31
31
|
};
|
|
32
32
|
};
|
|
33
33
|
}) => void;
|
|
34
|
+
export type PeerDisconnectHandler = (peerId: string) => void;
|
|
35
|
+
export type PeerConnectHandler = (peerId: string) => void;
|
|
34
36
|
export declare class P2PNode {
|
|
35
37
|
private node;
|
|
36
38
|
private readonly config;
|
|
37
39
|
private readonly privateKeyOverride?;
|
|
38
40
|
private readonly peerIdOverride?;
|
|
41
|
+
/** Externally-registered callbacks for peer disconnect events. */
|
|
42
|
+
private disconnectHandlers;
|
|
43
|
+
/** Externally-registered callbacks for peer connect events. */
|
|
44
|
+
private connectHandlers;
|
|
45
|
+
/** Set of peer IDs that we have ever successfully connected to. */
|
|
46
|
+
private knownPeers;
|
|
39
47
|
constructor(config?: Partial<P2PConfig>, privateKey?: PrivateKeyLike, peerId?: PeerIdLike);
|
|
48
|
+
/** Register a callback that fires whenever a peer disconnects. */
|
|
49
|
+
onPeerDisconnect(handler: PeerDisconnectHandler): void;
|
|
50
|
+
/** Register a callback that fires whenever a peer connects. */
|
|
51
|
+
onPeerConnect(handler: PeerConnectHandler): void;
|
|
40
52
|
start(): Promise<void>;
|
|
41
53
|
stop(): Promise<void>;
|
|
42
54
|
getPeerId(): string | null;
|
|
@@ -46,6 +58,13 @@ export declare class P2PNode {
|
|
|
46
58
|
subscribe(topic: string, handler: MessageHandler): Promise<() => void>;
|
|
47
59
|
getPeers(): string[];
|
|
48
60
|
getConnections(): string[];
|
|
61
|
+
/** Returns the set of peer IDs that have been successfully connected at least once. */
|
|
62
|
+
getKnownPeers(): Set<string>;
|
|
63
|
+
/**
|
|
64
|
+
* Attempt to re-dial a specific peer by its ID, using the addresses in peerStore.
|
|
65
|
+
* Returns true if the dial succeeded.
|
|
66
|
+
*/
|
|
67
|
+
dialPeer(peerId: string): Promise<boolean>;
|
|
49
68
|
getSubscribers(topic: string): string[];
|
|
50
69
|
/**
|
|
51
70
|
* Actively discover peers via KadDHT random walk and dial them.
|
package/dist/p2p/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/p2p/node.ts"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/p2p/node.ts"],"names":[],"mappings":"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"}
|
package/dist/p2p/node.js
CHANGED
|
@@ -11,6 +11,7 @@ import { identify } from '@libp2p/identify';
|
|
|
11
11
|
import { autoNAT } from '@libp2p/autonat';
|
|
12
12
|
import { dcutr } from '@libp2p/dcutr';
|
|
13
13
|
import { ping } from '@libp2p/ping';
|
|
14
|
+
import { circuitRelayTransport, circuitRelayServer } from '@libp2p/circuit-relay-v2';
|
|
14
15
|
import { multiaddr } from '@multiformats/multiaddr';
|
|
15
16
|
import { sha256Bytes } from '../crypto/hash.js';
|
|
16
17
|
import { DEFAULT_P2P_CONFIG } from './config.js';
|
|
@@ -19,11 +20,25 @@ export class P2PNode {
|
|
|
19
20
|
config;
|
|
20
21
|
privateKeyOverride;
|
|
21
22
|
peerIdOverride;
|
|
23
|
+
/** Externally-registered callbacks for peer disconnect events. */
|
|
24
|
+
disconnectHandlers = [];
|
|
25
|
+
/** Externally-registered callbacks for peer connect events. */
|
|
26
|
+
connectHandlers = [];
|
|
27
|
+
/** Set of peer IDs that we have ever successfully connected to. */
|
|
28
|
+
knownPeers = new Set();
|
|
22
29
|
constructor(config = {}, privateKey, peerId) {
|
|
23
30
|
this.config = { ...DEFAULT_P2P_CONFIG, ...config };
|
|
24
31
|
this.privateKeyOverride = privateKey;
|
|
25
32
|
this.peerIdOverride = peerId;
|
|
26
33
|
}
|
|
34
|
+
/** Register a callback that fires whenever a peer disconnects. */
|
|
35
|
+
onPeerDisconnect(handler) {
|
|
36
|
+
this.disconnectHandlers.push(handler);
|
|
37
|
+
}
|
|
38
|
+
/** Register a callback that fires whenever a peer connects. */
|
|
39
|
+
onPeerConnect(handler) {
|
|
40
|
+
this.connectHandlers.push(handler);
|
|
41
|
+
}
|
|
27
42
|
async start() {
|
|
28
43
|
if (this.node) {
|
|
29
44
|
return;
|
|
@@ -59,6 +74,9 @@ export class P2PNode {
|
|
|
59
74
|
if (this.config.enableDcutr) {
|
|
60
75
|
services.dcutr = dcutr();
|
|
61
76
|
}
|
|
77
|
+
if (this.config.enableCircuitRelay) {
|
|
78
|
+
services.circuitRelay = circuitRelayServer();
|
|
79
|
+
}
|
|
62
80
|
const options = {
|
|
63
81
|
addresses: {
|
|
64
82
|
listen: this.config.listen,
|
|
@@ -70,7 +88,10 @@ export class P2PNode {
|
|
|
70
88
|
// slow for mesh formation in small networks).
|
|
71
89
|
autoDialInterval: 5_000,
|
|
72
90
|
},
|
|
73
|
-
transports: [
|
|
91
|
+
transports: [
|
|
92
|
+
tcp(),
|
|
93
|
+
...(this.config.enableCircuitRelay ? [circuitRelayTransport()] : []),
|
|
94
|
+
],
|
|
74
95
|
streamMuxers: [yamux()],
|
|
75
96
|
connectionEncrypters: [noise()],
|
|
76
97
|
peerDiscovery: [
|
|
@@ -102,11 +123,30 @@ export class P2PNode {
|
|
|
102
123
|
// Log connection events for debugging
|
|
103
124
|
this.node.addEventListener?.('peer:connect', (event) => {
|
|
104
125
|
const detail = event?.detail;
|
|
105
|
-
|
|
126
|
+
const pid = detail?.toString?.() ?? 'unknown';
|
|
127
|
+
console.log(`[p2p] peer:connect ${pid}`);
|
|
128
|
+
if (pid !== 'unknown') {
|
|
129
|
+
this.knownPeers.add(pid);
|
|
130
|
+
for (const handler of this.connectHandlers) {
|
|
131
|
+
try {
|
|
132
|
+
handler(pid);
|
|
133
|
+
}
|
|
134
|
+
catch { /* best-effort */ }
|
|
135
|
+
}
|
|
136
|
+
}
|
|
106
137
|
});
|
|
107
138
|
this.node.addEventListener?.('peer:disconnect', (event) => {
|
|
108
139
|
const detail = event?.detail;
|
|
109
|
-
|
|
140
|
+
const pid = detail?.toString?.() ?? 'unknown';
|
|
141
|
+
console.log(`[p2p] peer:disconnect ${pid}`);
|
|
142
|
+
if (pid !== 'unknown') {
|
|
143
|
+
for (const handler of this.disconnectHandlers) {
|
|
144
|
+
try {
|
|
145
|
+
handler(pid);
|
|
146
|
+
}
|
|
147
|
+
catch { /* best-effort */ }
|
|
148
|
+
}
|
|
149
|
+
}
|
|
110
150
|
});
|
|
111
151
|
this.node.addEventListener?.('peer:discovery', (event) => {
|
|
112
152
|
const detail = event?.detail;
|
|
@@ -178,6 +218,36 @@ export class P2PNode {
|
|
|
178
218
|
.map((c) => c.remotePeer?.toString() ?? '')
|
|
179
219
|
.filter(Boolean);
|
|
180
220
|
}
|
|
221
|
+
/** Returns the set of peer IDs that have been successfully connected at least once. */
|
|
222
|
+
getKnownPeers() {
|
|
223
|
+
return new Set(this.knownPeers);
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Attempt to re-dial a specific peer by its ID, using the addresses in peerStore.
|
|
227
|
+
* Returns true if the dial succeeded.
|
|
228
|
+
*/
|
|
229
|
+
async dialPeer(peerId) {
|
|
230
|
+
if (!this.node?.dial)
|
|
231
|
+
return false;
|
|
232
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
233
|
+
const nodeAny = this.node;
|
|
234
|
+
try {
|
|
235
|
+
const peerStore = nodeAny.peerStore;
|
|
236
|
+
if (peerStore?.get) {
|
|
237
|
+
const record = await peerStore.get(peerId);
|
|
238
|
+
if (record?.id) {
|
|
239
|
+
await this.node.dial(record.id);
|
|
240
|
+
return true;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
// Fallback: try dialling the raw string (works for multiaddr-encoded IDs)
|
|
244
|
+
await this.node.dial(peerId);
|
|
245
|
+
return true;
|
|
246
|
+
}
|
|
247
|
+
catch {
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
181
251
|
getSubscribers(topic) {
|
|
182
252
|
const pubsub = this.getPubsub();
|
|
183
253
|
return (pubsub.getSubscribers?.(topic)?.map((peer) => peer.toString()) ??
|
package/dist/p2p/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/p2p/node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/p2p/node.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claw-network/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Core cryptographic primitives and utilities for the ClawNet protocol",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -65,6 +65,7 @@
|
|
|
65
65
|
"@chainsafe/libp2p-yamux": "^8.0.1",
|
|
66
66
|
"@libp2p/autonat": "^3.0.10",
|
|
67
67
|
"@libp2p/bootstrap": "^12.0.11",
|
|
68
|
+
"@libp2p/circuit-relay-v2": "^4.1.5",
|
|
68
69
|
"@libp2p/dcutr": "^3.0.10",
|
|
69
70
|
"@libp2p/identify": "^4.0.10",
|
|
70
71
|
"@libp2p/kad-dht": "^16.1.3",
|