P2P networks
The P2P networking layer enables direct communication between nodes using the GUN protocol.
Core Components
P2PNodePlugin Interface
interface P2PNodePlugin {
start(): Promise<void>;
stop(): Promise<void>;
sendData(peerId: string, dataKey: string, data: any): Promise<void>;
receiveData(dataKey: string): Promise<any>;
// ... additional methods
}
GUN Implementation
class GunP2PNodePlugin implements P2PNodePlugin {
private gun: Gun;
private accessControl: AccessControl;
constructor(accessControl: AccessControl, config: any) {
this.gun = Gun(config);
this.accessControl = accessControl;
}
// ... implementation details
}
Network Features
- Automatic peer discovery
- NAT traversal
- Connection management
- Data synchronization