Peer ID: Connecting... âĸ 0 connections âĸ Network Status: Initializing
// Initialize AuroraDB with Universal Discovery
const db = new AuroraDB({
name: 'my-distributed-app',
distributed: true,
p2pAdapter: 'universal',
p2pConfig: {
discoveryConfig: {
methods: [
{
type: 'bittorrent-dht',
config: {
namespace: 'my-app-network'
}
},
{
type: 'mqtt',
config: {
brokerUrl: 'wss://broker.hivemq.com:8000/mqtt',
namespace: 'my-app'
}
},
{
type: 'ipfs',
config: {
namespace: 'my-app-ipfs'
}
}
],
security: {
encryption: true,
passphrase: 'your-secure-key',
trustedNetworks: ['mqtt', 'ipfs', 'bittorrent-dht']
}
}
}
});
await db.create();
// Listen for peer discovery
db.addEventListener('peer-discovered', (event) => {
console.log('New peer found:', event.detail.peerId);
console.log('Discovery method:', event.detail.discoveryMethod);
});
// The database automatically discovers and connects to peers!
// Create IoT sensor network
const sensorDB = new AuroraDB({
name: 'iot-sensors',
distributed: true,
p2pAdapter: 'universal',
syncStrategy: 'timestamp',
p2pConfig: {
discoveryConfig: {
methods: [{
type: 'mqtt',
config: {
brokerUrl: 'wss://iot.eclipse.org:443/ws',
namespace: 'sensor-network'
}
}]
}
}
});
await sensorDB.create();
// Record sensor data
async function recordSensorData(sensorId, value, unit) {
const timestamp = Date.now();
await sensorDB.add(`${sensorId}_${timestamp}`, {
sensorId,
value,
unit,
timestamp,
location: await getGeoLocation(),
deviceId: sensorDB.getPeerId()
});
}
// Real-time sensor monitoring
sensorDB.addEventListener('change', async () => {
const recentData = await sensorDB.filter(
entry => entry.timestamp > Date.now() - 60000
);
updateDashboard(recentData);
});