UNPKG

lotus-sdk

Version:

Central repository for several classes of tools for integrating with, and building for, the Lotusia ecosystem

37 lines (36 loc) 1.18 kB
import { peerIdFromString, peerIdFromPrivateKey } from '@libp2p/peer-id'; import { generateKeyPair } from '@libp2p/crypto/keys'; export async function createPeerIdFromPrivateKey(privateKey) { const keyPair = await generateKeyPair('Ed25519'); return peerIdFromPrivateKey(keyPair); } export async function createRandomPeerId() { const keyPair = await generateKeyPair('Ed25519'); return peerIdFromPrivateKey(keyPair); } export function parsePeerId(peerIdStr) { return peerIdFromString(peerIdStr); } export function serializePeerId(peerId) { return peerId.toString(); } export function parseMultiaddrs(addrs) { if (typeof addrs === 'string') { return [addrs]; } return addrs; } export function waitForEvent(emitter, event, timeoutMs) { return new Promise((resolve, reject) => { let timeout = undefined; if (timeoutMs !== undefined) { timeout = setTimeout(() => { reject(new Error(`Timeout waiting for event: ${String(event)}`)); }, timeoutMs); } emitter.once(event, (data) => { clearTimeout(timeout); resolve(data); }); }); }