UNPKG

libnexa-ts

Version:

A pure and powerful Nexa SDK library.

86 lines (79 loc) 2.08 kB
import type { NetworkParams } from "../../common/interfaces"; import BufferUtils from "../../utils/buffer.utils"; export class Network { public name: string; public alias: string; public prefix: string; public pubkeyhash: number; public privatekey: number; public scripthash: number; public xpubkey: number; public xprivkey: number; public networkMagic: Uint8Array; public port: number; public dnsSeeds: string[]; constructor(params: NetworkParams) { this.name = params.name; this.alias = params.alias; this.prefix = params.prefix; this.pubkeyhash = params.pubkeyhash; this.privatekey = params.privatekey; this.scripthash = params.scripthash; this.xpubkey = params.xpubkey; this.xprivkey = params.xprivkey; this.networkMagic = BufferUtils.integerAsBuffer(params.networkMagic); this.port = params.port; this.dnsSeeds = params.dnsSeeds; } public toString(): string { return this.name; } } export const liveNetwork = new Network({ name: 'mainnet', alias: 'livenet', prefix: 'nexa', pubkeyhash: 0x19, privatekey: 0x23, scripthash: 0x44, xpubkey: 0x42696720, xprivkey: 0x426c6b73, networkMagic: 0x72271221, port: 7228, dnsSeeds: [ // from https://gitlab.com/nexa/nexa/-/blob/dev/src/chainparams.cpp#L592 'seed.nextchain.cash', 'seeder.nexa.org', 'nexa-seeder.bitcoinunlimited.info' ] }); export const testNetwork = new Network({ name: 'testnet', alias: 'testnet', prefix: 'nexatest', pubkeyhash: 0x6f, privatekey: 0xef, scripthash: 0xc4, xpubkey: 0x043587cf, xprivkey: 0x04358394, networkMagic: 0x72271222, port: 7230, dnsSeeds: [ 'nexa-testnet-seeder.bitcoinunlimited.info', 'testnetseeder.nexa.org' ] }); export const regtestNetwork = new Network({ name: 'regtest', alias: 'regtest', prefix: 'nexareg', pubkeyhash: 0x6f, privatekey: 0xef, scripthash: 0xc4, xpubkey: 0x043587cf, xprivkey: 0x04358394, networkMagic: 0xeae5efea, port: 18444, dnsSeeds: [ // Regtest mode doesn't have any DNS seeds. ] });