diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 1e2574971..e0dfe74ef 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -6,23 +6,27 @@ updates: interval: daily open-pull-requests-limit: 10 ignore: - - update-types: ["version-update:semver-major"] + - dependency-name: "*" + update-types: ["version-update:semver-major"] - package-ecosystem: npm directory: "/frontend" schedule: interval: daily open-pull-requests-limit: 10 ignore: - - update-types: ["version-update:semver-major"] + - dependency-name: "*" + update-types: ["version-update:semver-major"] - package-ecosystem: docker directory: "/docker/backend" schedule: interval: daily ignore: - - update-types: ["version-update:semver-major"] + - dependency-name: "*" + update-types: ["version-update:semver-major"] - package-ecosystem: "github-actions" directory: "/" schedule: interval: daily ignore: - - update-types: ["version-update:semver-major"] + - dependency-name: "*" + update-types: ["version-update:semver-major"] diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml index 7cace626c..e8f6d1df1 100644 --- a/.github/workflows/cypress.yml +++ b/.github/workflows/cypress.yml @@ -2,7 +2,7 @@ name: Cypress Tests on: pull_request: - types: [ opened, review_requested, synchronize ] + types: [opened, review_requested, synchronize] jobs: cypress: if: "!contains(github.event.pull_request.labels.*.name, 'ops') && !contains(github.head_ref, 'ops/')" @@ -24,36 +24,36 @@ jobs: - module: "bisq" spec: | cypress/e2e/bisq/bisq.spec.ts - + name: E2E tests for ${{ matrix.module }} steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: path: ${{ matrix.module }} - + - name: Setup node - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: 16.15.0 - cache: 'npm' + cache: "npm" cache-dependency-path: ${{ matrix.module }}/frontend/package-lock.json - name: Chrome browser tests (${{ matrix.module }}) - uses: cypress-io/github-action@v4 + uses: cypress-io/github-action@v5 with: tag: ${{ github.event_name }} working-directory: ${{ matrix.module }}/frontend build: npm run config:defaults:${{ matrix.module }} start: npm run start:local-staging - wait-on: 'http://localhost:4200' + wait-on: "http://localhost:4200" wait-on-timeout: 120 record: true parallel: true spec: ${{ matrix.spec }} group: Tests on Chrome (${{ matrix.module }}) browser: "chrome" - ci-build-id: '${{ github.sha }}-${{ github.workflow }}-${{ github.event_name }}' + ci-build-id: "${{ github.sha }}-${{ github.workflow }}-${{ github.event_name }}" env: COMMIT_INFO_MESSAGE: ${{ github.event.pull_request.title }} CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} diff --git a/backend/src/api/blocks.ts b/backend/src/api/blocks.ts index 8c8272262..98720207b 100644 --- a/backend/src/api/blocks.ts +++ b/backend/src/api/blocks.ts @@ -742,7 +742,7 @@ class Blocks { public async $indexCPFP(hash: string, height: number): Promise { let transactions; - if (false/*Common.blocksSummariesIndexingEnabled()*/) { + if (Common.blocksSummariesIndexingEnabled()) { transactions = await this.$getStrippedBlockTransactions(hash); const rawBlock = await bitcoinApi.$getRawBlock(hash); const block = Block.fromBuffer(rawBlock); @@ -751,10 +751,11 @@ class Blocks { txMap[tx.getId()] = tx; } for (const tx of transactions) { + // convert from bitcoinjs to esplora vin format if (txMap[tx.txid]?.ins) { tx.vin = txMap[tx.txid].ins.map(vin => { return { - txid: vin.hash + txid: vin.hash.slice().reverse().toString('hex') }; }); } @@ -763,6 +764,7 @@ class Blocks { const block = await bitcoinClient.getBlock(hash, 2); transactions = block.tx.map(tx => { tx.vsize = tx.weight / 4; + tx.fee *= 100_000_000; return tx; }); } @@ -778,9 +780,9 @@ class Blocks { totalFee += tx?.fee || 0; totalVSize += tx.vsize; }); - const effectiveFeePerVsize = (totalFee * 100_000_000) / totalVSize; + const effectiveFeePerVsize = totalFee / totalVSize; if (cluster.length > 1) { - await cpfpRepository.$saveCluster(height, cluster.map(tx => { return { txid: tx.txid, weight: tx.vsize * 4, fee: (tx.fee || 0) * 100_000_000 }; }), effectiveFeePerVsize); + await cpfpRepository.$saveCluster(height, cluster.map(tx => { return { txid: tx.txid, weight: tx.vsize * 4, fee: tx.fee || 0 }; }), effectiveFeePerVsize); for (const tx of cluster) { await transactionRepository.$setCluster(tx.txid, cluster[0].txid); } diff --git a/backend/src/api/mempool-blocks.ts b/backend/src/api/mempool-blocks.ts index e8ab48230..d94ed77bd 100644 --- a/backend/src/api/mempool-blocks.ts +++ b/backend/src/api/mempool-blocks.ts @@ -1,17 +1,14 @@ import logger from '../logger'; -import { MempoolBlock, TransactionExtended, TransactionStripped, MempoolBlockWithTransactions, MempoolBlockDelta } from '../mempool.interfaces'; +import { MempoolBlock, TransactionExtended, ThreadTransaction, TransactionStripped, MempoolBlockWithTransactions, MempoolBlockDelta, Ancestor } from '../mempool.interfaces'; import { Common } from './common'; import config from '../config'; -import { StaticPool } from 'node-worker-threads-pool'; +import { Worker } from 'worker_threads'; import path from 'path'; class MempoolBlocks { private mempoolBlocks: MempoolBlockWithTransactions[] = []; private mempoolBlockDeltas: MempoolBlockDelta[] = []; - private makeTemplatesPool = new StaticPool({ - size: 1, - task: path.resolve(__dirname, './tx-selection-worker.js'), - }); + private txSelectionWorker: Worker | null = null; constructor() {} @@ -146,27 +143,159 @@ class MempoolBlocks { return mempoolBlockDeltas; } - public async makeBlockTemplates(newMempool: { [txid: string]: TransactionExtended }, blockLimit: number, weightLimit: number | null = null, condenseRest = false): Promise { - const { mempool, blocks } = await this.makeTemplatesPool.exec({ mempool: newMempool, blockLimit, weightLimit, condenseRest }); - const deltas = this.calculateMempoolDeltas(this.mempoolBlocks, blocks); - - // copy CPFP info across to main thread's mempool - Object.keys(newMempool).forEach((txid) => { - if (newMempool[txid] && mempool[txid]) { - newMempool[txid].effectiveFeePerVsize = mempool[txid].effectiveFeePerVsize; - newMempool[txid].ancestors = mempool[txid].ancestors; - newMempool[txid].descendants = mempool[txid].descendants; - newMempool[txid].bestDescendant = mempool[txid].bestDescendant; - newMempool[txid].cpfpChecked = mempool[txid].cpfpChecked; - } + public async makeBlockTemplates(newMempool: { [txid: string]: TransactionExtended }): Promise { + // prepare a stripped down version of the mempool with only the minimum necessary data + // to reduce the overhead of passing this data to the worker thread + const strippedMempool: { [txid: string]: ThreadTransaction } = {}; + Object.values(newMempool).forEach(entry => { + strippedMempool[entry.txid] = { + txid: entry.txid, + fee: entry.fee, + weight: entry.weight, + feePerVsize: entry.fee / (entry.weight / 4), + effectiveFeePerVsize: entry.fee / (entry.weight / 4), + vin: entry.vin.map(v => v.txid), + }; }); - this.mempoolBlocks = blocks; + // (re)initialize tx selection worker thread + if (!this.txSelectionWorker) { + this.txSelectionWorker = new Worker(path.resolve(__dirname, './tx-selection-worker.js')); + // if the thread throws an unexpected error, or exits for any other reason, + // reset worker state so that it will be re-initialized on the next run + this.txSelectionWorker.once('error', () => { + this.txSelectionWorker = null; + }); + this.txSelectionWorker.once('exit', () => { + this.txSelectionWorker = null; + }); + } + + // run the block construction algorithm in a separate thread, and wait for a result + let threadErrorListener; + try { + const workerResultPromise = new Promise<{ blocks: ThreadTransaction[][], clusters: { [root: string]: string[] } }>((resolve, reject) => { + threadErrorListener = reject; + this.txSelectionWorker?.once('message', (result): void => { + resolve(result); + }); + this.txSelectionWorker?.once('error', reject); + }); + this.txSelectionWorker.postMessage({ type: 'set', mempool: strippedMempool }); + const { blocks, clusters } = await workerResultPromise; + + this.processBlockTemplates(newMempool, blocks, clusters); + + // clean up thread error listener + this.txSelectionWorker?.removeListener('error', threadErrorListener); + } catch (e) { + logger.err('makeBlockTemplates failed. ' + (e instanceof Error ? e.message : e)); + } + } + + public async updateBlockTemplates(newMempool: { [txid: string]: TransactionExtended }, added: TransactionExtended[], removed: string[]): Promise { + if (!this.txSelectionWorker) { + // need to reset the worker + return this.makeBlockTemplates(newMempool); + } + // prepare a stripped down version of the mempool with only the minimum necessary data + // to reduce the overhead of passing this data to the worker thread + const addedStripped: ThreadTransaction[] = added.map(entry => { + return { + txid: entry.txid, + fee: entry.fee, + weight: entry.weight, + feePerVsize: entry.fee / (entry.weight / 4), + effectiveFeePerVsize: entry.fee / (entry.weight / 4), + vin: entry.vin.map(v => v.txid), + }; + }); + + // run the block construction algorithm in a separate thread, and wait for a result + let threadErrorListener; + try { + const workerResultPromise = new Promise<{ blocks: ThreadTransaction[][], clusters: { [root: string]: string[] } }>((resolve, reject) => { + threadErrorListener = reject; + this.txSelectionWorker?.once('message', (result): void => { + resolve(result); + }); + this.txSelectionWorker?.once('error', reject); + }); + this.txSelectionWorker.postMessage({ type: 'update', added: addedStripped, removed }); + const { blocks, clusters } = await workerResultPromise; + + this.processBlockTemplates(newMempool, blocks, clusters); + + // clean up thread error listener + this.txSelectionWorker?.removeListener('error', threadErrorListener); + } catch (e) { + logger.err('updateBlockTemplates failed. ' + (e instanceof Error ? e.message : e)); + } + } + + private processBlockTemplates(mempool, blocks, clusters): void { + // update this thread's mempool with the results + blocks.forEach(block => { + block.forEach(tx => { + if (tx.txid in mempool) { + if (tx.effectiveFeePerVsize != null) { + mempool[tx.txid].effectiveFeePerVsize = tx.effectiveFeePerVsize; + } + if (tx.cpfpRoot && tx.cpfpRoot in clusters) { + const ancestors: Ancestor[] = []; + const descendants: Ancestor[] = []; + const cluster = clusters[tx.cpfpRoot]; + let matched = false; + cluster.forEach(txid => { + if (txid === tx.txid) { + matched = true; + } else { + const relative = { + txid: txid, + fee: mempool[txid].fee, + weight: mempool[txid].weight, + }; + if (matched) { + descendants.push(relative); + } else { + ancestors.push(relative); + } + } + }); + mempool[tx.txid].ancestors = ancestors; + mempool[tx.txid].descendants = descendants; + mempool[tx.txid].bestDescendant = null; + } + mempool[tx.txid].cpfpChecked = tx.cpfpChecked; + } + }); + }); + + // unpack the condensed blocks into proper mempool blocks + const mempoolBlocks = blocks.map((transactions, blockIndex) => { + return this.dataToMempoolBlocks(transactions.map(tx => { + return mempool[tx.txid] || null; + }).filter(tx => !!tx), undefined, undefined, blockIndex); + }); + + const deltas = this.calculateMempoolDeltas(this.mempoolBlocks, mempoolBlocks); + + this.mempoolBlocks = mempoolBlocks; this.mempoolBlockDeltas = deltas; } private dataToMempoolBlocks(transactions: TransactionExtended[], - blockSize: number, blockWeight: number, blocksIndex: number): MempoolBlockWithTransactions { + blockSize: number | undefined, blockWeight: number | undefined, blocksIndex: number): MempoolBlockWithTransactions { + let totalSize = blockSize || 0; + let totalWeight = blockWeight || 0; + if (blockSize === undefined && blockWeight === undefined) { + totalSize = 0; + totalWeight = 0; + transactions.forEach(tx => { + totalSize += tx.size; + totalWeight += tx.weight; + }); + } let rangeLength = 4; if (blocksIndex === 0) { rangeLength = 8; @@ -177,8 +306,8 @@ class MempoolBlocks { rangeLength = 8; } return { - blockSize: blockSize, - blockVSize: blockWeight / 4, + blockSize: totalSize, + blockVSize: totalWeight / 4, nTx: transactions.length, totalFees: transactions.reduce((acc, cur) => acc + cur.fee, 0), medianFee: Common.percentile(transactions.map((tx) => tx.effectiveFeePerVsize), config.MEMPOOL.RECOMMENDED_FEE_PERCENTILE), diff --git a/backend/src/api/mempool.ts b/backend/src/api/mempool.ts index 584ddf816..717f4eebb 100644 --- a/backend/src/api/mempool.ts +++ b/backend/src/api/mempool.ts @@ -21,7 +21,7 @@ class Mempool { private mempoolChangedCallback: ((newMempool: {[txId: string]: TransactionExtended; }, newTransactions: TransactionExtended[], deletedTransactions: TransactionExtended[]) => void) | undefined; private asyncMempoolChangedCallback: ((newMempool: {[txId: string]: TransactionExtended; }, newTransactions: TransactionExtended[], - deletedTransactions: TransactionExtended[]) => void) | undefined; + deletedTransactions: TransactionExtended[]) => Promise) | undefined; private txPerSecondArray: number[] = []; private txPerSecond: number = 0; diff --git a/backend/src/api/tx-selection-worker.ts b/backend/src/api/tx-selection-worker.ts index ca40af84f..7297cbe88 100644 --- a/backend/src/api/tx-selection-worker.ts +++ b/backend/src/api/tx-selection-worker.ts @@ -1,17 +1,30 @@ import config from '../config'; import logger from '../logger'; -import { TransactionExtended, MempoolBlockWithTransactions, AuditTransaction } from '../mempool.interfaces'; +import { ThreadTransaction, MempoolBlockWithTransactions, AuditTransaction } from '../mempool.interfaces'; import { PairingHeap } from '../utils/pairing-heap'; import { Common } from './common'; import { parentPort } from 'worker_threads'; +let mempool: { [txid: string]: ThreadTransaction } = {}; + if (parentPort) { - parentPort.on('message', (params: { mempool: { [txid: string]: TransactionExtended }, blockLimit: number, weightLimit: number | null, condenseRest: boolean}) => { - const { mempool, blocks } = makeBlockTemplates(params); + parentPort.on('message', (params) => { + if (params.type === 'set') { + mempool = params.mempool; + } else if (params.type === 'update') { + params.added.forEach(tx => { + mempool[tx.txid] = tx; + }); + params.removed.forEach(txid => { + delete mempool[txid]; + }); + } + + const { blocks, clusters } = makeBlockTemplates(mempool); // return the result to main thread. if (parentPort) { - parentPort.postMessage({ mempool, blocks }); + parentPort.postMessage({ blocks, clusters }); } }); } @@ -19,35 +32,24 @@ if (parentPort) { /* * Build projected mempool blocks using an approximation of the transaction selection algorithm from Bitcoin Core * (see BlockAssembler in https://github.com/bitcoin/bitcoin/blob/master/src/node/miner.cpp) -* -* blockLimit: number of blocks to build in total. -* weightLimit: maximum weight of transactions to consider using the selection algorithm. -* if weightLimit is significantly lower than the mempool size, results may start to diverge from getBlockTemplate -* condenseRest: whether to ignore excess transactions or append them to the final block. */ -function makeBlockTemplates({ mempool, blockLimit, weightLimit, condenseRest }: { mempool: { [txid: string]: TransactionExtended }, blockLimit: number, weightLimit?: number | null, condenseRest?: boolean | null }) - : { mempool: { [txid: string]: TransactionExtended }, blocks: MempoolBlockWithTransactions[] } { +function makeBlockTemplates(mempool: { [txid: string]: ThreadTransaction }) + : { blocks: ThreadTransaction[][], clusters: { [root: string]: string[] } } { const start = Date.now(); const auditPool: { [txid: string]: AuditTransaction } = {}; const mempoolArray: AuditTransaction[] = []; - const restOfArray: TransactionExtended[] = []; + const restOfArray: ThreadTransaction[] = []; + const cpfpClusters: { [root: string]: string[] } = {}; - let weight = 0; - const maxWeight = weightLimit ? Math.max(4_000_000 * blockLimit, weightLimit) : Infinity; // grab the top feerate txs up to maxWeight Object.values(mempool).sort((a, b) => b.feePerVsize - a.feePerVsize).forEach(tx => { - weight += tx.weight; - if (weight >= maxWeight) { - restOfArray.push(tx); - return; - } // initializing everything up front helps V8 optimize property access later auditPool[tx.txid] = { txid: tx.txid, fee: tx.fee, - size: tx.size, weight: tx.weight, feePerVsize: tx.feePerVsize, + effectiveFeePerVsize: tx.feePerVsize, vin: tx.vin, relativesSet: false, ancestorMap: new Map(), @@ -74,7 +76,7 @@ function makeBlockTemplates({ mempool, blockLimit, weightLimit, condenseRest }: // Build blocks by greedily choosing the highest feerate package // (i.e. the package rooted in the transaction with the best ancestor score) - const blocks: MempoolBlockWithTransactions[] = []; + const blocks: ThreadTransaction[][] = []; let blockWeight = 4000; let blockSize = 0; let transactions: AuditTransaction[] = []; @@ -82,7 +84,7 @@ function makeBlockTemplates({ mempool, blockLimit, weightLimit, condenseRest }: let overflow: AuditTransaction[] = []; let failures = 0; let top = 0; - while ((top < mempoolArray.length || !modified.isEmpty()) && (condenseRest || blocks.length < blockLimit)) { + while ((top < mempoolArray.length || !modified.isEmpty())) { // skip invalid transactions while (top < mempoolArray.length && (mempoolArray[top].used || mempoolArray[top].modified)) { top++; @@ -107,9 +109,13 @@ function makeBlockTemplates({ mempool, blockLimit, weightLimit, condenseRest }: // Check if the package fits into this block if (blockWeight + nextTx.ancestorWeight < config.MEMPOOL.BLOCK_WEIGHT_UNITS) { const ancestors: AuditTransaction[] = Array.from(nextTx.ancestorMap.values()); - const descendants: AuditTransaction[] = []; // sort ancestors by dependency graph (equivalent to sorting by ascending ancestor count) const sortedTxSet = [...ancestors.sort((a, b) => { return (a.ancestorMap.size || 0) - (b.ancestorMap.size || 0); }), nextTx]; + let isCluster = false; + if (sortedTxSet.length > 1) { + cpfpClusters[nextTx.txid] = sortedTxSet.map(tx => tx.txid); + isCluster = true; + } const effectiveFeeRate = nextTx.ancestorFee / (nextTx.ancestorWeight / 4); const used: AuditTransaction[] = []; while (sortedTxSet.length) { @@ -119,21 +125,9 @@ function makeBlockTemplates({ mempool, blockLimit, weightLimit, condenseRest }: ancestor.usedBy = nextTx.txid; // update original copy of this tx with effective fee rate & relatives data mempoolTx.effectiveFeePerVsize = effectiveFeeRate; - mempoolTx.ancestors = sortedTxSet.map((a) => { - return { - txid: a.txid, - fee: a.fee, - weight: a.weight, - }; - }).reverse(); - mempoolTx.descendants = descendants.map((a) => { - return { - txid: a.txid, - fee: a.fee, - weight: a.weight, - }; - }); - descendants.push(ancestor); + if (isCluster) { + mempoolTx.cpfpRoot = nextTx.txid; + } mempoolTx.cpfpChecked = true; transactions.push(ancestor); blockSize += ancestor.size; @@ -159,10 +153,10 @@ function makeBlockTemplates({ mempool, blockLimit, weightLimit, condenseRest }: // this block is full const exceededPackageTries = failures > 1000 && blockWeight > (config.MEMPOOL.BLOCK_WEIGHT_UNITS - 4000); const queueEmpty = top >= mempoolArray.length && modified.isEmpty(); - if ((exceededPackageTries || queueEmpty) && (!condenseRest || blocks.length < blockLimit - 1)) { + if ((exceededPackageTries || queueEmpty) && blocks.length < 7) { // construct this block if (transactions.length) { - blocks.push(dataToMempoolBlocks(transactions.map(t => mempool[t.txid]), blockSize, blockWeight, blocks.length)); + blocks.push(transactions.map(t => mempool[t.txid])); } // reset for the next block transactions = []; @@ -181,55 +175,40 @@ function makeBlockTemplates({ mempool, blockLimit, weightLimit, condenseRest }: overflow = []; } } - if (condenseRest) { - // pack any leftover transactions into the last block - for (const tx of overflow) { - if (!tx || tx?.used) { - continue; - } - blockWeight += tx.weight; - blockSize += tx.size; - const mempoolTx = mempool[tx.txid]; - // update original copy of this tx with effective fee rate & relatives data - mempoolTx.effectiveFeePerVsize = tx.score; - mempoolTx.ancestors = (Array.from(tx.ancestorMap?.values()) as AuditTransaction[]).map((a) => { - return { - txid: a.txid, - fee: a.fee, - weight: a.weight, - }; - }); - mempoolTx.bestDescendant = null; - mempoolTx.cpfpChecked = true; - transactions.push(tx); - tx.used = true; + // pack any leftover transactions into the last block + for (const tx of overflow) { + if (!tx || tx?.used) { + continue; } - const blockTransactions = transactions.map(t => mempool[t.txid]); - restOfArray.forEach(tx => { - blockWeight += tx.weight; - blockSize += tx.size; - tx.effectiveFeePerVsize = tx.feePerVsize; - tx.cpfpChecked = false; - tx.ancestors = []; - tx.bestDescendant = null; - blockTransactions.push(tx); - }); - if (blockTransactions.length) { - blocks.push(dataToMempoolBlocks(blockTransactions, blockSize, blockWeight, blocks.length)); + blockWeight += tx.weight; + const mempoolTx = mempool[tx.txid]; + // update original copy of this tx with effective fee rate & relatives data + mempoolTx.effectiveFeePerVsize = tx.score; + if (tx.ancestorMap.size > 0) { + cpfpClusters[tx.txid] = Array.from(tx.ancestorMap?.values()).map(a => a.txid); + mempoolTx.cpfpRoot = tx.txid; } - transactions = []; - } else if (transactions.length) { - blocks.push(dataToMempoolBlocks(transactions.map(t => mempool[t.txid]), blockSize, blockWeight, blocks.length)); + mempoolTx.cpfpChecked = true; + transactions.push(tx); + tx.used = true; } + const blockTransactions = transactions.map(t => mempool[t.txid]); + restOfArray.forEach(tx => { + blockWeight += tx.weight; + tx.effectiveFeePerVsize = tx.feePerVsize; + tx.cpfpChecked = false; + blockTransactions.push(tx); + }); + if (blockTransactions.length) { + blocks.push(blockTransactions); + } + transactions = []; const end = Date.now(); const time = end - start; logger.debug('Mempool templates calculated in ' + time / 1000 + ' seconds'); - return { - mempool, - blocks - }; + return { blocks, clusters: cpfpClusters }; } // traverse in-mempool ancestors @@ -239,9 +218,9 @@ function setRelatives( mempool: { [txid: string]: AuditTransaction }, ): void { for (const parent of tx.vin) { - const parentTx = mempool[parent.txid]; - if (parentTx && !tx.ancestorMap?.has(parent.txid)) { - tx.ancestorMap.set(parent.txid, parentTx); + const parentTx = mempool[parent]; + if (parentTx && !tx.ancestorMap?.has(parent)) { + tx.ancestorMap.set(parent, parentTx); parentTx.children.add(tx); // visit each node only once if (!parentTx.relativesSet) { @@ -312,27 +291,4 @@ function updateDescendants( }); } } -} - -function dataToMempoolBlocks(transactions: TransactionExtended[], - blockSize: number, blockWeight: number, blocksIndex: number): MempoolBlockWithTransactions { - let rangeLength = 4; - if (blocksIndex === 0) { - rangeLength = 8; - } - if (transactions.length > 4000) { - rangeLength = 6; - } else if (transactions.length > 10000) { - rangeLength = 8; - } - return { - blockSize: blockSize, - blockVSize: blockWeight / 4, - nTx: transactions.length, - totalFees: transactions.reduce((acc, cur) => acc + cur.fee, 0), - medianFee: Common.percentile(transactions.map((tx) => tx.effectiveFeePerVsize), config.MEMPOOL.RECOMMENDED_FEE_PERCENTILE), - feeRange: Common.getFeesInRange(transactions, rangeLength), - transactionIds: transactions.map((tx) => tx.txid), - transactions: transactions.map((tx) => Common.stripTransaction(tx)), - }; } \ No newline at end of file diff --git a/backend/src/api/websocket-handler.ts b/backend/src/api/websocket-handler.ts index c78c93544..b6f32aa05 100644 --- a/backend/src/api/websocket-handler.ts +++ b/backend/src/api/websocket-handler.ts @@ -251,7 +251,7 @@ class WebsocketHandler { } if (config.MEMPOOL.ADVANCED_GBT_MEMPOOL) { - await mempoolBlocks.makeBlockTemplates(newMempool, 8, null, true); + await mempoolBlocks.updateBlockTemplates(newMempool, newTransactions, deletedTransactions.map(tx => tx.txid)); } else { mempoolBlocks.updateMempoolBlocks(newMempool); } @@ -419,7 +419,7 @@ class WebsocketHandler { const _memPool = memPool.getMempool(); if (config.MEMPOOL.ADVANCED_GBT_AUDIT) { - await mempoolBlocks.makeBlockTemplates(_memPool, 2); + await mempoolBlocks.makeBlockTemplates(_memPool); } else { mempoolBlocks.updateMempoolBlocks(_memPool); } @@ -462,13 +462,15 @@ class WebsocketHandler { } } + const removed: string[] = []; // Update mempool to remove transactions included in the new block for (const txId of txIds) { delete _memPool[txId]; + removed.push(txId); } if (config.MEMPOOL.ADVANCED_GBT_MEMPOOL) { - await mempoolBlocks.makeBlockTemplates(_memPool, 8, null, true); + await mempoolBlocks.updateBlockTemplates(_memPool, [], removed); } else { mempoolBlocks.updateMempoolBlocks(_memPool); } diff --git a/backend/src/mempool.interfaces.ts b/backend/src/mempool.interfaces.ts index 11de304b8..046083322 100644 --- a/backend/src/mempool.interfaces.ts +++ b/backend/src/mempool.interfaces.ts @@ -81,10 +81,10 @@ export interface TransactionExtended extends IEsploraApi.Transaction { export interface AuditTransaction { txid: string; fee: number; - size: number; weight: number; feePerVsize: number; - vin: IEsploraApi.Vin[]; + effectiveFeePerVsize: number; + vin: string[]; relativesSet: boolean; ancestorMap: Map; children: Set; @@ -96,6 +96,17 @@ export interface AuditTransaction { modifiedNode: HeapNode; } +export interface ThreadTransaction { + txid: string; + fee: number; + weight: number; + feePerVsize: number; + effectiveFeePerVsize?: number; + vin: string[]; + cpfpRoot?: string; + cpfpChecked?: boolean; +} + export interface Ancestor { txid: string; weight: number; diff --git a/backend/src/repositories/TransactionRepository.ts b/backend/src/repositories/TransactionRepository.ts index 1c6e3719f..74debb833 100644 --- a/backend/src/repositories/TransactionRepository.ts +++ b/backend/src/repositories/TransactionRepository.ts @@ -44,7 +44,9 @@ class TransactionRepository { const [rows]: any = await DB.query(query, [txid]); if (rows.length) { rows[0].txs = JSON.parse(rows[0].txs) as Ancestor[]; - return this.convertCpfp(rows[0]); + if (rows[0]?.txs?.length) { + return this.convertCpfp(rows[0]); + } } } catch (e) { logger.err('Cannot get transaction cpfp info from db. Reason: ' + (e instanceof Error ? e.message : e)); diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 2efccf07d..72f9e7afa 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -31,6 +31,7 @@ "bootstrap": "~4.6.1", "browserify": "^17.0.0", "clipboard": "^2.0.11", + "cypress": "^12.1.0", "domino": "^2.1.6", "echarts": "~5.4.0", "echarts-gl": "^2.0.9", @@ -57,8 +58,8 @@ "typescript": "~4.6.4" }, "optionalDependencies": { - "@cypress/schematic": "~2.3.0", - "cypress": "^11.2.0", + "@cypress/schematic": "^2.4.0", + "cypress": "^12.1.0", "cypress-fail-on-console-error": "~4.0.2", "cypress-wait-until": "^1.7.2", "mock-socket": "~9.1.5", @@ -3225,9 +3226,9 @@ } }, "node_modules/@cypress/schematic": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@cypress/schematic/-/schematic-2.3.0.tgz", - "integrity": "sha512-LBKX20MUUYF2Xu+1+KpVbLCoMvt2Osa80yQfonduVsLJ/p8JxtLHqufuf/ryJp9Gm9R5sDfk/YhHL+rB7a+gsg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@cypress/schematic/-/schematic-2.4.0.tgz", + "integrity": "sha512-aor8hQ+gMXqx/ASdo7CUGo/sMEWwwfSRsLr99rM2GjvW+pZnCKKTnRG4UPf8Ro9SevLJj7KRZAZWxa5MAkJzZA==", "optional": true, "dependencies": { "@angular-devkit/architect": "^0.1402.1", @@ -7019,9 +7020,9 @@ "peer": true }, "node_modules/cypress": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-11.2.0.tgz", - "integrity": "sha512-u61UGwtu7lpsNWLUma/FKNOsrjcI6wleNmda/TyKHe0dOBcVjbCPlp1N6uwFZ0doXev7f/91YDpU9bqDCFeBLA==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.1.0.tgz", + "integrity": "sha512-7fz8N84uhN1+ePNDsfQvoWEl4P3/VGKKmAg+bJQFY4onhA37Ys+6oBkGbNdwGeC7n2QqibNVPhk8x3YuQLwzfw==", "hasInstallScript": true, "optional": true, "dependencies": { @@ -7072,7 +7073,7 @@ "cypress": "bin/cypress" }, "engines": { - "node": ">=12.0.0" + "node": "^14.0.0 || ^16.0.0 || >=18.0.0" } }, "node_modules/cypress-fail-on-console-error": { @@ -19345,9 +19346,9 @@ } }, "@cypress/schematic": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@cypress/schematic/-/schematic-2.3.0.tgz", - "integrity": "sha512-LBKX20MUUYF2Xu+1+KpVbLCoMvt2Osa80yQfonduVsLJ/p8JxtLHqufuf/ryJp9Gm9R5sDfk/YhHL+rB7a+gsg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@cypress/schematic/-/schematic-2.4.0.tgz", + "integrity": "sha512-aor8hQ+gMXqx/ASdo7CUGo/sMEWwwfSRsLr99rM2GjvW+pZnCKKTnRG4UPf8Ro9SevLJj7KRZAZWxa5MAkJzZA==", "optional": true, "requires": { "@angular-devkit/architect": "^0.1402.1", @@ -22282,9 +22283,9 @@ "peer": true }, "cypress": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-11.2.0.tgz", - "integrity": "sha512-u61UGwtu7lpsNWLUma/FKNOsrjcI6wleNmda/TyKHe0dOBcVjbCPlp1N6uwFZ0doXev7f/91YDpU9bqDCFeBLA==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.1.0.tgz", + "integrity": "sha512-7fz8N84uhN1+ePNDsfQvoWEl4P3/VGKKmAg+bJQFY4onhA37Ys+6oBkGbNdwGeC7n2QqibNVPhk8x3YuQLwzfw==", "optional": true, "requires": { "@cypress/request": "^2.88.10", diff --git a/frontend/package.json b/frontend/package.json index 325bb6bc3..174392ef0 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -109,8 +109,8 @@ "typescript": "~4.6.4" }, "optionalDependencies": { - "@cypress/schematic": "~2.3.0", - "cypress": "^11.2.0", + "@cypress/schematic": "^2.4.0", + "cypress": "^12.1.0", "cypress-fail-on-console-error": "~4.0.2", "cypress-wait-until": "^1.7.2", "mock-socket": "~9.1.5", diff --git a/frontend/src/app/components/block-overview-graph/block-overview-graph.component.ts b/frontend/src/app/components/block-overview-graph/block-overview-graph.component.ts index 6da576e99..37225ea1d 100644 --- a/frontend/src/app/components/block-overview-graph/block-overview-graph.component.ts +++ b/frontend/src/app/components/block-overview-graph/block-overview-graph.component.ts @@ -77,6 +77,8 @@ export class BlockOverviewGraphComponent implements AfterViewInit, OnDestroy, On cancelAnimationFrame(this.animationFrameRequest); clearTimeout(this.animationHeartBeat); } + this.canvas.nativeElement.removeEventListener('webglcontextlost', this.handleContextLost); + this.canvas.nativeElement.removeEventListener('webglcontextrestored', this.handleContextRestored); } clear(direction): void { diff --git a/frontend/src/app/components/transactions-list/transactions-list.component.ts b/frontend/src/app/components/transactions-list/transactions-list.component.ts index 072d71311..8b4fabf6e 100644 --- a/frontend/src/app/components/transactions-list/transactions-list.component.ts +++ b/frontend/src/app/components/transactions-list/transactions-list.component.ts @@ -91,6 +91,9 @@ export class TransactionsListComponent implements OnInit, OnChanges { filter(() => this.stateService.env.LIGHTNING), switchMap((txIds) => this.apiService.getChannelByTxIds$(txIds)), tap((channels) => { + if (!this.transactions) { + return; + } const transactions = this.transactions.filter((tx) => !tx._channels); channels.forEach((channel, i) => { transactions[i]._channels = channel; diff --git a/frontend/src/app/components/tx-bowtie-graph/tx-bowtie-graph.component.html b/frontend/src/app/components/tx-bowtie-graph/tx-bowtie-graph.component.html index f7484fb70..9360899e6 100644 --- a/frontend/src/app/components/tx-bowtie-graph/tx-bowtie-graph.component.html +++ b/frontend/src/app/components/tx-bowtie-graph/tx-bowtie-graph.component.html @@ -88,7 +88,7 @@ - + - + = new ReplaySubject(); @@ -162,7 +163,7 @@ export class TxBowtieGraphComponent implements OnInit, OnChanges { let truncatedInputs = this.tx.vin.map((v, i) => { return { type: 'input', - value: v?.prevout?.value, + value: v?.prevout?.value || (v?.is_coinbase && !totalValue ? 0 : undefined), txid: v.txid, vout: v.vout, address: v?.prevout?.scriptpubkey_address || v?.prevout?.scriptpubkey_type?.toUpperCase(), @@ -198,6 +199,9 @@ export class TxBowtieGraphComponent implements OnInit, OnChanges { path: `M ${(this.width / 2) - this.midWidth} ${(this.height / 2) + 0.5} L ${(this.width / 2) + this.midWidth} ${(this.height / 2) + 0.5}`, style: `stroke-width: ${this.combinedWeight + 1}; stroke: ${this.gradient[1]}` }; + + this.hasLine = this.inputs.reduce((line, put) => line || !put.zeroValue, false) + && this.outputs.reduce((line, put) => line || !put.zeroValue, false); } calcTotalValue(tx: Transaction): number { @@ -278,6 +282,9 @@ export class TxBowtieGraphComponent implements OnInit, OnChanges { lineParams.forEach((line, i) => { if (xputs[i].value === 0) { line.outerY = lastOuter + (this.zeroValueThickness / 2); + if (xputs.length === 1) { + line.outerY = (this.height / 2); + } lastOuter += this.zeroValueThickness + spacing; return; } diff --git a/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts b/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts index 46f8b12e8..abf104e2f 100644 --- a/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts +++ b/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -118,7 +118,7 @@ export class NodesNetworksChartComponent implements OnInit { color: 'grey', fontSize: 15 }, - text: $localize`Indexing in progess`, + text: $localize`Indexing in progress`, left: 'center', top: 'center', }; diff --git a/frontend/src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts b/frontend/src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts index 4f209e7a0..916483781 100644 --- a/frontend/src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts +++ b/frontend/src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -109,7 +109,7 @@ export class LightningStatisticsChartComponent implements OnInit { color: 'grey', fontSize: 15 }, - text: $localize`Indexing in progess`, + text: $localize`Indexing in progress`, left: 'center', top: 'center' }; diff --git a/frontend/src/locale/messages.fr.xlf b/frontend/src/locale/messages.fr.xlf index 011ab9f43..d57c617e6 100644 --- a/frontend/src/locale/messages.fr.xlf +++ b/frontend/src/locale/messages.fr.xlf @@ -1471,6 +1471,7 @@ Community Integrations + Intégrations communautaires src/app/components/about/about.component.html 191,193 @@ -1544,6 +1545,7 @@ Multisig of + Multi-signature de src/app/components/address-labels/address-labels.component.ts 105 @@ -2027,6 +2029,7 @@ Block + Bloc src/app/components/block-audit/block-audit.component.html 7,9 @@ -2035,6 +2038,7 @@ Template vs Mined + Modèle vs Miné src/app/components/block-audit/block-audit.component.html 11,17 @@ -2121,6 +2125,7 @@ Match rate + Taux de correspondance src/app/components/block-audit/block-audit.component.html 64,67 @@ -2129,6 +2134,7 @@ Missing txs + Txs manquantes src/app/components/block-audit/block-audit.component.html 68,71 @@ -2137,6 +2143,7 @@ Added txs + Txs ajoutées src/app/components/block-audit/block-audit.component.html 72,75 @@ -2145,6 +2152,7 @@ Missing + Manquantes src/app/components/block-audit/block-audit.component.html 84,85 @@ -2153,6 +2161,7 @@ Added + Ajoutées src/app/components/block-audit/block-audit.component.html 86,92 @@ -2470,6 +2479,7 @@ No data to display yet. Try again later. + Aucune donnée à afficher pour le moment. Réessayez plus tard. src/app/components/block-prediction-graph/block-prediction-graph.component.ts 108,103 @@ -2523,6 +2533,7 @@ Block + Bloc src/app/components/block/block-preview.component.html 3,7 @@ -2535,6 +2546,7 @@ + src/app/components/block/block-preview.component.html 11,12 @@ -3250,6 +3262,7 @@ Hashrate & Difficulty + Taux de hachage & difficulté src/app/components/graphs/graphs.component.html 15,16 @@ -3258,6 +3271,7 @@ Lightning + Lightning src/app/components/graphs/graphs.component.html 31 @@ -3266,6 +3280,7 @@ Lightning Nodes Per Network + Nœuds Lightning par réseau src/app/components/graphs/graphs.component.html 34 @@ -3286,6 +3301,7 @@ Lightning Network Capacity + Capacité du réseau Lightning src/app/components/graphs/graphs.component.html 36 @@ -3306,6 +3322,7 @@ Lightning Nodes Per ISP + Nœuds Lightning par FAI src/app/components/graphs/graphs.component.html 38 @@ -3318,6 +3335,7 @@ Lightning Nodes Per Country + Nœuds Lightning par pays src/app/components/graphs/graphs.component.html 40 @@ -3334,6 +3352,7 @@ Lightning Nodes World Map + Carte du monde des nœuds Lightning src/app/components/graphs/graphs.component.html 42 @@ -3350,6 +3369,7 @@ Lightning Nodes Channels World Map + Carte du monde des canaux Lightning src/app/components/graphs/graphs.component.html 44 @@ -3470,6 +3490,7 @@ Lightning Explorer + Explorateur Lightning src/app/components/master-page/master-page.component.html 44,45 @@ -3482,6 +3503,7 @@ beta + bêta src/app/components/master-page/master-page.component.html 45,48 @@ -3737,6 +3759,7 @@ mining pool + Pool de minage src/app/components/pool/pool-preview.component.html 3,5 @@ -4067,6 +4090,7 @@ Explore the full Bitcoin ecosystem + Explorez tout l'écosystème Bitcoin src/app/components/search-form/search-form.component.html 4,6 @@ -4427,6 +4451,7 @@ Flow + Flux src/app/components/transaction/transaction.component.html 195,198 @@ -4440,6 +4465,7 @@ Hide diagram + Masquer le diagramme src/app/components/transaction/transaction.component.html 198,203 @@ -4448,6 +4474,7 @@ Show more + Montrer plus src/app/components/transaction/transaction.component.html 219,221 @@ -4456,6 +4483,7 @@ Show less + Montrer moins src/app/components/transaction/transaction.component.html 221,227 @@ -4464,6 +4492,7 @@ Show diagram + Afficher le diagramme src/app/components/transaction/transaction.component.html 241,242 @@ -4657,6 +4686,7 @@ other inputs + autres entrées src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html 12 @@ -4665,6 +4695,7 @@ other outputs + autres sorties src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html 13 @@ -4673,6 +4704,7 @@ Input + Entrées src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html 43 @@ -4681,6 +4713,7 @@ Output + Sorties src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html 44 @@ -4689,6 +4722,7 @@ This transaction saved % on fees by using native SegWit + Cette transaction a permis d'économiser  % sur les frais en utilisant SegWit natif src/app/components/tx-features/tx-features.component.html 2 @@ -4715,6 +4749,7 @@ This transaction saved % on fees by using SegWit and could save % more by fully upgrading to native SegWit + Cette transaction a permis d'économiser  % sur les frais en utilisant SegWit et pourrait économiser  % de plus en passant entièrement à SegWit natif src/app/components/tx-features/tx-features.component.html 4 @@ -4723,6 +4758,7 @@ This transaction could save % on fees by upgrading to native SegWit or % by upgrading to SegWit-P2SH + Cette transaction pourrait économiser  % sur les frais en passant à SegWit natif ou  % en passant à SegWit-P2SH src/app/components/tx-features/tx-features.component.html 6 @@ -4731,6 +4767,7 @@ This transaction uses Taproot and thereby saved at least % on fees + Cette transaction utilise Taproot et a ainsi économisé au moins % sur les frais src/app/components/tx-features/tx-features.component.html 12 @@ -4739,6 +4776,7 @@ Taproot + Taproot src/app/components/tx-features/tx-features.component.html 12 @@ -4760,6 +4798,7 @@ This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot + Cette transaction utilise Taproot et a déjà économisé au moins  % sur les frais, mais pourrait économiser  % supplémentaires en utilisant pleinement Taproot src/app/components/tx-features/tx-features.component.html 14 @@ -4768,6 +4807,7 @@ This transaction could save % on fees by using Taproot + Cette transaction pourrait économiser % sur les frais en utilisant Taproot src/app/components/tx-features/tx-features.component.html 16 @@ -4785,6 +4825,7 @@ This transaction supports Replace-By-Fee (RBF) allowing fee bumping + Cette transaction prend en charge le Replace-By-Fee/remplacement par frais (RBF), permettant une augmentation des frais src/app/components/tx-features/tx-features.component.html 25 @@ -5021,6 +5062,7 @@ Base fee + Frais de base src/app/lightning/channel/channel-box/channel-box.component.html 30 @@ -5033,6 +5075,7 @@ mSats + mSats src/app/lightning/channel/channel-box/channel-box.component.html 36 @@ -5049,6 +5092,7 @@ This channel supports zero base fee routing + Ce canal prend en charge le routage sans frais de base src/app/lightning/channel/channel-box/channel-box.component.html 45 @@ -5057,6 +5101,7 @@ Zero base fee + Aucun frais de base src/app/lightning/channel/channel-box/channel-box.component.html 46 @@ -5065,6 +5110,7 @@ This channel does not support zero base fee routing + Ce canal ne prend pas en charge le routage sans frais de base src/app/lightning/channel/channel-box/channel-box.component.html 51 @@ -5073,6 +5119,7 @@ Non-zero base fee + Frais de base non nuls src/app/lightning/channel/channel-box/channel-box.component.html 52 @@ -5081,6 +5128,7 @@ Min HTLC + HTLC min. src/app/lightning/channel/channel-box/channel-box.component.html 58 @@ -5089,6 +5137,7 @@ Max HTLC + HTLC max. src/app/lightning/channel/channel-box/channel-box.component.html 64 @@ -5097,6 +5146,7 @@ Timelock delta + Timelock delta src/app/lightning/channel/channel-box/channel-box.component.html 70 @@ -5105,6 +5155,7 @@ channels + canaux src/app/lightning/channel/channel-box/channel-box.component.html 80 @@ -5117,6 +5168,7 @@ lightning channel + canal Lightning src/app/lightning/channel/channel-preview.component.html 3,5 @@ -5125,6 +5177,7 @@ Inactive + Inactif src/app/lightning/channel/channel-preview.component.html 10,11 @@ -5141,6 +5194,7 @@ Active + Actif src/app/lightning/channel/channel-preview.component.html 11,12 @@ -5157,6 +5211,7 @@ Closed + Fermé src/app/lightning/channel/channel-preview.component.html 12,14 @@ -5177,6 +5232,7 @@ Created + Établi src/app/lightning/channel/channel-preview.component.html 23,26 @@ -5189,6 +5245,7 @@ Capacity + Capacité src/app/lightning/channel/channel-preview.component.html 27,28 @@ -5241,6 +5298,7 @@ ppm + ppm src/app/lightning/channel/channel-preview.component.html 34,35 @@ -5261,6 +5319,7 @@ Lightning channel + Canal Lightning src/app/lightning/channel/channel.component.html 2,5 @@ -5273,6 +5332,7 @@ Last update + Dernière mise à jour src/app/lightning/channel/channel.component.html 33,34 @@ -5305,6 +5365,7 @@ Closing date + Date de clôture src/app/lightning/channel/channel.component.html 37,38 @@ -5317,6 +5378,7 @@ Opening transaction + Transaction d'ouverture src/app/lightning/channel/channel.component.html 73,74 @@ -5325,6 +5387,7 @@ Closing transaction + Transaction de clôture src/app/lightning/channel/channel.component.html 82,84 @@ -5333,6 +5396,7 @@ Channel: + Canal : src/app/lightning/channel/channel.component.ts 37 @@ -5340,6 +5404,7 @@ Open + Ouvert src/app/lightning/channels-list/channels-list.component.html 5,7 @@ -5348,6 +5413,7 @@ No channels to display + Aucun canal à afficher src/app/lightning/channels-list/channels-list.component.html 29,35 @@ -5356,6 +5422,7 @@ Alias + Alias src/app/lightning/channels-list/channels-list.component.html 35,37 @@ -5392,6 +5459,7 @@ Status + Statut src/app/lightning/channels-list/channels-list.component.html 37,38 @@ -5400,6 +5468,7 @@ Channel ID + ID du canal src/app/lightning/channels-list/channels-list.component.html 41,45 @@ -5408,6 +5477,7 @@ sats + sats src/app/lightning/channels-list/channels-list.component.html 61,65 @@ -5460,6 +5530,7 @@ Avg Capacity + Capacité moy src/app/lightning/channels-statistics/channels-statistics.component.html 13,15 @@ -5472,6 +5543,7 @@ Avg Fee Rate + Taux de frais moy src/app/lightning/channels-statistics/channels-statistics.component.html 26,28 @@ -5484,6 +5556,7 @@ The average fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm + Le taux de frais moyen facturé par les nœuds de routage, en ignorant les taux de frais > 0,5 % ou 5 000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html 28,30 @@ -5492,6 +5565,7 @@ Avg Base Fee + Frais de base moy src/app/lightning/channels-statistics/channels-statistics.component.html 41,43 @@ -5504,6 +5578,7 @@ The average base fee charged by routing nodes, ignoring base fees > 5000ppm + Frais de base moyens facturés par les nœuds de routage, sans tenir compte des frais de base > 5 000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html 43,45 @@ -5512,6 +5587,7 @@ Med Capacity + Capacité med src/app/lightning/channels-statistics/channels-statistics.component.html 59,61 @@ -5520,6 +5596,7 @@ Med Fee Rate + Taux de frais med src/app/lightning/channels-statistics/channels-statistics.component.html 72,74 @@ -5528,6 +5605,7 @@ The median fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm + Le taux de frais médian facturé par les nœuds de routage, en ignorant les taux de frais > 0,5 % ou 5 000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html 74,76 @@ -5536,6 +5614,7 @@ Med Base Fee + Frais de base med src/app/lightning/channels-statistics/channels-statistics.component.html 87,89 @@ -5544,6 +5623,7 @@ The median base fee charged by routing nodes, ignoring base fees > 5000ppm + Frais de base médians facturés par les nœuds de routage, sans tenir compte des frais de base > 5 000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html 89,91 @@ -5552,6 +5632,7 @@ Lightning node group + Groupe de nœuds Lightning src/app/lightning/group/group-preview.component.html 3,5 @@ -5564,6 +5645,7 @@ Nodes + Nœuds src/app/lightning/group/group-preview.component.html 25,29 @@ -5604,6 +5686,7 @@ Liquidity + Liquidité src/app/lightning/group/group-preview.component.html 29,31 @@ -5640,6 +5723,7 @@ Channels + Canaux src/app/lightning/group/group-preview.component.html 40,43 @@ -5700,6 +5784,7 @@ Average size + Taille moyenne src/app/lightning/group/group-preview.component.html 44,46 @@ -5712,6 +5797,7 @@ Location + Emplacement src/app/lightning/group/group.component.html 74,77 @@ -5752,6 +5838,7 @@ Network Statistics + Statistiques du réseau src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 10 @@ -5760,6 +5847,7 @@ Channels Statistics + Statistiques des canaux src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 24 @@ -5768,6 +5856,7 @@ Lightning Network History + Historique du réseau Lightning src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 49 @@ -5776,6 +5865,7 @@ Liquidity Ranking + Classement par liquidité src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 62 @@ -5792,6 +5882,7 @@ Connectivity Ranking + Classement par connectivité src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 @@ -5804,6 +5895,7 @@ Percentage change past week + Variation sur une semaine src/app/lightning/node-statistics/node-statistics.component.html 5,7 @@ -5820,6 +5912,7 @@ Lightning node + Nœud Lightning src/app/lightning/node/node-preview.component.html 3,5 @@ -5836,6 +5929,7 @@ Active capacity + Capacité active src/app/lightning/node/node-preview.component.html 20,22 @@ -5848,6 +5942,7 @@ Active channels + Canaux actifs src/app/lightning/node/node-preview.component.html 26,30 @@ -5860,6 +5955,7 @@ Country + Pays src/app/lightning/node/node-preview.component.html 44,47 @@ -5868,6 +5964,7 @@ No node found for public key "" + Aucun nœud trouvé pour la clé publique &quot; &quot; src/app/lightning/node/node.component.html 17,19 @@ -5876,6 +5973,7 @@ Average channel size + Taille moyenne du canal src/app/lightning/node/node.component.html 40,43 @@ -5884,6 +5982,7 @@ Unknown + Inconnue src/app/lightning/node/node.component.html 52,56 @@ -5904,6 +6003,7 @@ Color + Couleur src/app/lightning/node/node.component.html 75,77 @@ -5912,6 +6012,7 @@ ISP + FAI src/app/lightning/node/node.component.html 82,83 @@ -5924,6 +6025,7 @@ Exclusively on Tor + Exclusivement sur Tor src/app/lightning/node/node.component.html 88,90 @@ -5932,6 +6034,7 @@ Open channels + Canaux ouverts src/app/lightning/node/node.component.html 145,148 @@ -5940,6 +6043,7 @@ Closed channels + Canaux fermés src/app/lightning/node/node.component.html 149,152 @@ -5948,6 +6052,7 @@ Node: + Nœud : src/app/lightning/node/node.component.ts 42 @@ -5955,6 +6060,7 @@ (Tor nodes excluded) + (Nœuds Tor exclus) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html 8,11 @@ -5975,6 +6081,7 @@ Lightning Nodes Channels World Map + Carte du monde des canaux Lightning src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -5982,6 +6089,7 @@ No geolocation data available + Aucune donnée de géolocalisation disponible src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 218,213 @@ -5989,6 +6097,7 @@ Active channels map + Carte des canaux actifs src/app/lightning/nodes-channels/node-channels.component.html 2,3 @@ -5997,6 +6106,7 @@ Indexing in progess + Indexation en cours src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 121,116 @@ -6008,6 +6118,7 @@ Reachable on Clearnet Only + Accessible uniquement sur Clearnet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 164,161 @@ -6019,6 +6130,7 @@ Reachable on Clearnet and Darknet + Accessible sur Clearnet et Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 185,182 @@ -6030,6 +6142,7 @@ Reachable on Darknet Only + Accessible uniquement sur Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 206,203 @@ -6041,6 +6154,7 @@ Share + Part src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html 29,31 @@ -6053,6 +6167,7 @@ nodes + nœuds src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts 103,102 @@ -6068,6 +6183,7 @@ BTC capacity + Capacité de BTC src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts 104,102 @@ -6075,6 +6191,7 @@ Lightning nodes in + Nœuds Lightning: src/app/lightning/nodes-per-country/nodes-per-country.component.html 3,4 @@ -6083,6 +6200,7 @@ ISP Count + Nombre de FAI src/app/lightning/nodes-per-country/nodes-per-country.component.html 34,38 @@ -6091,6 +6209,7 @@ Top ISP + FAI les plus utilisés src/app/lightning/nodes-per-country/nodes-per-country.component.html 38,40 @@ -6099,6 +6218,7 @@ Lightning nodes in + Nœuds Lightning: src/app/lightning/nodes-per-country/nodes-per-country.component.ts 35 @@ -6106,6 +6226,7 @@ Clearnet Capacity + Capacité Clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 6,8 @@ -6118,6 +6239,7 @@ How much liquidity is running on nodes advertising at least one clearnet IP address + Liquidité qui circule sur les nœuds annonçant au moins une adresse IP clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 8,9 @@ -6126,6 +6248,7 @@ Unknown Capacity + Capacité inconnue src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 13,15 @@ -6138,6 +6261,7 @@ How much liquidity is running on nodes which ISP was not identifiable + Liquidité qui circule sur les nœuds dont le FAI n'était pas identifiable src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 15,16 @@ -6146,6 +6270,7 @@ Tor Capacity + Capacité Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 20,22 @@ -6158,6 +6283,7 @@ How much liquidity is running on nodes advertising only Tor addresses + Liquidité qui circule sur les nœuds annonçant uniquement les adresses Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 22,23 @@ -6166,6 +6292,7 @@ Top 100 ISPs hosting LN nodes + Top 100 des FAI hébergeant des nœuds LN src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 31,33 @@ -6174,6 +6301,7 @@ BTC + BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts 158,156 @@ -6185,6 +6313,7 @@ Lightning ISP + FAI Lightning src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html 3,5 @@ -6193,6 +6322,7 @@ Top country + Meilleur pays src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html 39,41 @@ -6205,6 +6335,7 @@ Top node + Meilleur nœud src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html 45,48 @@ -6213,6 +6344,7 @@ Lightning nodes on ISP: [AS] + Nœuds Lightning sur le FAI : [AS ] src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts 44 @@ -6224,6 +6356,7 @@ Lightning nodes on ISP: + Nœuds Lightning sur le FAI : src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 2,4 @@ -6232,6 +6365,7 @@ ASN + ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 11,14 @@ -6240,6 +6374,7 @@ Top 100 oldest lightning nodes + Top 100 des nœuds Lightning les plus anciens src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html 3,7 @@ -6248,6 +6383,7 @@ Oldest lightning nodes + Noeuds Lightning les plus anciens src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts 27 @@ -6255,6 +6391,7 @@ Top 100 nodes liquidity ranking + Classement des 100 meilleurs nœuds par liquidité src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html 3,7 @@ -6263,6 +6400,7 @@ Top 100 nodes connectivity ranking + Classement des 100 meilleurs nœuds par connectivité src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html 3,7 @@ -6271,6 +6409,7 @@ Oldest nodes + Nœuds les plus anciens src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 36 @@ -6279,6 +6418,7 @@ Top lightning nodes + Top nœuds Lightning src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts 22 @@ -6286,6 +6426,7 @@ Indexing in progress + Indexation en cours src/app/lightning/statistics-chart/lightning-statistics-chart.component.html 52,55 diff --git a/frontend/src/locale/messages.lt.xlf b/frontend/src/locale/messages.lt.xlf index 3ba552f06..2eaf6764b 100644 --- a/frontend/src/locale/messages.lt.xlf +++ b/frontend/src/locale/messages.lt.xlf @@ -331,7 +331,7 @@ Balance - Balansas + Likutis src/app/bisq/bisq-address/bisq-address.component.html 30 @@ -348,7 +348,7 @@ transaction - pervedimas + operacija src/app/bisq/bisq-address/bisq-address.component.html 50 @@ -373,7 +373,7 @@ transactions - pervedimai + operacijos src/app/bisq/bisq-address/bisq-address.component.html 51 @@ -554,7 +554,7 @@ Transactions - Transakcijos + Operacijos src/app/bisq/bisq-blocks/bisq-blocks.component.html 15,18 @@ -615,7 +615,7 @@ Bisq Trading Volume - Bisq Prekybos Apimtis + Bisq Mainų Apimtis src/app/bisq/bisq-dashboard/bisq-dashboard.component.html 3,7 @@ -733,7 +733,7 @@ Bisq Price Index - Bisq Kainų Indeksas + Bisq Kainos Indeksas src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html 9,11 @@ -820,7 +820,7 @@ Buy Offers - Pirkimo Pasiūlymai + Perka src/app/bisq/bisq-market/bisq-market.component.html 73,74 @@ -829,7 +829,7 @@ Sell Offers - Pardavimo Pasiūlymai + Parduoda src/app/bisq/bisq-market/bisq-market.component.html 74,77 @@ -851,7 +851,7 @@ BSQ statistics - BSQ Statistika + BSQ statistika src/app/bisq/bisq-stats/bisq-stats.component.html 2 @@ -940,7 +940,7 @@ Unspent TXOs - Nepanaudos Išeigos + Nepanaudotos išvestys src/app/bisq/bisq-stats/bisq-stats.component.html 28 @@ -957,7 +957,7 @@ Spent TXOs - Panaudotos Išeigos + Panaudotos Išvestys src/app/bisq/bisq-stats/bisq-stats.component.html 32 @@ -1016,7 +1016,7 @@ Outputs - Išeigos + Išvestys src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html 11 @@ -1039,7 +1039,7 @@ Type - Tipas + Rūšis src/app/bisq/bisq-transaction-details/bisq-transaction-details.component.html 25 @@ -1076,7 +1076,7 @@ Transaction - Transakcija + Operacija src/app/bisq/bisq-transaction/bisq-transaction.component.html 6,10 @@ -1208,7 +1208,7 @@ Inputs & Outputs - Įvestys ir Išeigos + Įvestys ir Išvestys src/app/bisq/bisq-transaction/bisq-transaction.component.html 97,105 @@ -1230,7 +1230,7 @@ Transaction: - Transakcija: + Operacija: src/app/bisq/bisq-transaction/bisq-transaction.component.ts 50 @@ -1246,7 +1246,7 @@ BSQ Transactions - BSQ Transakcijos + BSQ Operacijos src/app/bisq/bisq-transactions/bisq-transactions.component.html 2,5 @@ -1284,7 +1284,7 @@ Asset listing fee - Turto įtraukimo į sąrašą mokestis + Įtraukimo į sąrašą mokestis src/app/bisq/bisq-transactions/bisq-transactions.component.ts 31 @@ -1340,7 +1340,7 @@ Pay trade fee - Mokėti prekybos mokestį + Mokėti mainų mokestį src/app/bisq/bisq-transactions/bisq-transactions.component.ts 37 @@ -1388,7 +1388,7 @@ Vote reveal - Balsavimo atskleidimas + Rodyti balsus src/app/bisq/bisq-transactions/bisq-transactions.component.ts 43 @@ -1445,6 +1445,7 @@ Our mempool and blockchain explorer for the Bitcoin community, focusing on the transaction fee market and multi-layer ecosystem, completely self-hosted without any trusted third-parties. + Mūsų Bitkoino bendruomenei skirta atminties ir blokų grandinės naršyklė, daugiausia dėmesio skirianti mokesčių rinkai ir daugiasluoksnei ekosistemai, savarankiškai leidžiama be jokių patikimų trečiųjų šalių. src/app/components/about/about.component.html 13,17 @@ -1452,6 +1453,7 @@ Enterprise Sponsors 🚀 + Verslo Rėmėjai 🚀 src/app/components/about/about.component.html 29,32 @@ -1460,6 +1462,7 @@ Community Sponsors ❤️ + Bendruomenės Rėmėjai ❤️ src/app/components/about/about.component.html 177,180 @@ -1468,6 +1471,7 @@ Community Integrations + Bendruomenės Integracijos src/app/components/about/about.component.html 191,193 @@ -1476,6 +1480,7 @@ Community Alliances + Bendruomenės Aljansai src/app/components/about/about.component.html 281,283 @@ -1484,6 +1489,7 @@ Project Translators + Projekto Vertėjai src/app/components/about/about.component.html 297,299 @@ -1492,6 +1498,7 @@ Project Contributors + Projekto Pagalbininkai src/app/components/about/about.component.html 311,313 @@ -1500,6 +1507,7 @@ Project Members + Projekto Nariai src/app/components/about/about.component.html 323,325 @@ -1508,6 +1516,7 @@ Project Maintainers + Projekto Prižiūrėtojai src/app/components/about/about.component.html 336,338 @@ -1516,6 +1525,7 @@ About + Apie src/app/components/about/about.component.ts 39 @@ -1535,6 +1545,7 @@ Multisig of + Multiparašas src/app/components/address-labels/address-labels.component.ts 105 @@ -1542,6 +1553,7 @@ Unconfidential + Nekonfidencialu src/app/components/address/address-preview.component.html 15 @@ -1554,6 +1566,7 @@ Confidential + Konfidencialu src/app/components/address/address-preview.component.html 56 @@ -1594,6 +1607,7 @@ Address: + Adresas: src/app/components/address/address-preview.component.ts 70 @@ -1605,6 +1619,7 @@ of transaction + operacijos src/app/components/address/address.component.html 60 @@ -1613,6 +1628,7 @@ of transactions + operacijų src/app/components/address/address.component.html 61 @@ -1621,6 +1637,7 @@ Error loading address data. + Įkeliant adreso duomenis įvyko klaida. src/app/components/address/address.component.html 130 @@ -1629,6 +1646,7 @@ There many transactions on this address, more than your backend can handle. See more on setting up a stronger backend. Consider viewing this address on the official Mempool website instead: + Šiuo adresu yra daug operacijų, daugiau nei gali parodyti jūsų vidinė sistema. Žr. daugiau apie , kaip nustatyti galingesnę vidinę sistemą . Apsvarstykite galimybę peržiūrėti šį adresą oficialioje „Mempool“ svetainėje: src/app/components/address/address.component.html 135,138 @@ -1637,6 +1655,7 @@ Asset + Turtas src/app/components/asset/asset.component.html 3 @@ -1646,6 +1665,7 @@ Name + Pavadinimas src/app/components/asset/asset.component.html 23 @@ -1666,6 +1686,7 @@ Precision + Tikslumas src/app/components/asset/asset.component.html 27 @@ -1675,6 +1696,7 @@ Issuer + Emitentas src/app/components/asset/asset.component.html 31 @@ -1684,6 +1706,7 @@ Issuance TX + Išdavimo TX src/app/components/asset/asset.component.html 35 @@ -1693,6 +1716,7 @@ Pegged in + Prisegta src/app/components/asset/asset.component.html 39 @@ -1702,6 +1726,7 @@ Pegged out + Išsegta src/app/components/asset/asset.component.html 43 @@ -1711,6 +1736,7 @@ Burned amount + Sudeginta src/app/components/asset/asset.component.html 51 @@ -1720,6 +1746,7 @@ Circulating amount + Apyvartoje cirkuliuojantis kiekis src/app/components/asset/asset.component.html 55 @@ -1733,6 +1760,7 @@ of   + src/app/components/asset/asset.component.html 80 @@ -1741,6 +1769,7 @@ Peg In/Out and Burn Transactions + Prisegimo/išsegimo ir deginimo operacijos src/app/components/asset/asset.component.html 81 @@ -1749,6 +1778,7 @@ Issuance and Burn Transactions + Išdavimo ir deginimo operacijos src/app/components/asset/asset.component.html 82 @@ -1757,6 +1787,7 @@ Error loading asset data. + Įkeliant lėšų duomenis įvyko klaida. src/app/components/asset/asset.component.html 152 @@ -1765,6 +1796,7 @@ Asset: + Lėšos: src/app/components/asset/asset.component.ts 75 @@ -1772,6 +1804,7 @@ Group of assets + lėšų grupė src/app/components/assets/asset-group/asset-group.component.html 8,9 @@ -1783,6 +1816,7 @@ Assets + Lėšos src/app/components/assets/assets-nav/assets-nav.component.html 3 @@ -1803,6 +1837,7 @@ Featured + Rodomas src/app/components/assets/assets-nav/assets-nav.component.html 9 @@ -1810,6 +1845,7 @@ All + Visi src/app/components/assets/assets-nav/assets-nav.component.html 13 @@ -1837,6 +1873,7 @@ Search asset + Ieškoti lėšų src/app/components/assets/assets-nav/assets-nav.component.html 19 @@ -1845,6 +1882,7 @@ Clear + Išvalyti src/app/components/assets/assets-nav/assets-nav.component.html 21 @@ -1853,6 +1891,7 @@ Ticker + Tikeris src/app/components/assets/assets.component.html 5,6 @@ -1865,6 +1904,7 @@ Issuer domain + Išdavėjo domenas src/app/components/assets/assets.component.html 6,9 @@ -1877,6 +1917,7 @@ Asset ID + Lėšų ID src/app/components/assets/assets.component.html 7,10 @@ -1889,6 +1930,7 @@ Error loading assets data. + Įkeliant lėšų duomenis įvyko klaida. src/app/components/assets/assets.component.html 48,53 @@ -1897,6 +1939,7 @@ Offline + Neprisijungęs src/app/components/bisq-master-page/bisq-master-page.component.html 36,37 @@ -1913,6 +1956,7 @@ Reconnecting... + Jungiamasi iš naujo... src/app/components/bisq-master-page/bisq-master-page.component.html 37,42 @@ -1929,6 +1973,7 @@ Layer 2 Networks + 2-tro Sluoksnio Tinklai src/app/components/bisq-master-page/bisq-master-page.component.html 50,51 @@ -1945,6 +1990,7 @@ Dashboard + Valdymo skydas src/app/components/bisq-master-page/bisq-master-page.component.html 60,62 @@ -1961,6 +2007,7 @@ Stats + Statistika src/app/components/bisq-master-page/bisq-master-page.component.html 69,71 @@ -1969,6 +2016,7 @@ Docs + Dokumentai src/app/components/bisq-master-page/bisq-master-page.component.html 72,74 @@ -1981,6 +2029,7 @@ Block + Blokas src/app/components/block-audit/block-audit.component.html 7,9 @@ -1989,6 +2038,7 @@ Template vs Mined + Šablonas vs Iškasimą src/app/components/block-audit/block-audit.component.html 11,17 @@ -1997,6 +2047,7 @@ Size + Dydis src/app/components/block-audit/block-audit.component.html 44,46 @@ -2045,6 +2096,7 @@ Weight + Svoris src/app/components/block-audit/block-audit.component.html 48,49 @@ -2073,6 +2125,7 @@ Match rate + Atitikties rodiklis src/app/components/block-audit/block-audit.component.html 64,67 @@ -2081,6 +2134,7 @@ Missing txs + Trūkstamos txs src/app/components/block-audit/block-audit.component.html 68,71 @@ -2089,6 +2143,7 @@ Added txs + Pridėtos txs src/app/components/block-audit/block-audit.component.html 72,75 @@ -2097,6 +2152,7 @@ Missing + Trūksta src/app/components/block-audit/block-audit.component.html 84,85 @@ -2105,6 +2161,7 @@ Added + Pridėta src/app/components/block-audit/block-audit.component.html 86,92 @@ -2113,6 +2170,7 @@ Block Fee Rates + Bloko Mokesčių Tarifai src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.html 6,8 @@ -2129,6 +2187,7 @@ At block: + Bloke: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts 188 @@ -2144,6 +2203,7 @@ Around block: + Aplink bloką: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts 190 @@ -2159,6 +2219,7 @@ Block Fees + Bloko Mokesčiai src/app/components/block-fees-graph/block-fees-graph.component.html 6,7 @@ -2175,6 +2236,7 @@ Indexing blocks + Indeksavimo blokai src/app/components/block-fees-graph/block-fees-graph.component.ts 110,105 @@ -2210,6 +2272,7 @@ Fee + Mokestis src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 22 @@ -2235,6 +2298,7 @@ sat + sat src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 23 @@ -2256,6 +2320,7 @@ Fee rate + Mokesčio tarifas src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 26 @@ -2285,6 +2350,7 @@ sat/vB + sat/vB src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 28 @@ -2378,6 +2444,7 @@ Virtual size + Virtualus dydis src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 32 @@ -2395,6 +2462,7 @@ Block Prediction Accuracy + Blokų Numatymo Tikslumas src/app/components/block-prediction-graph/block-prediction-graph.component.html 6,8 @@ -2411,6 +2479,7 @@ No data to display yet. Try again later. + Dar nėra duomenų, kuriuos būtų galima rodyti. Bandyk dar kartą vėliau. src/app/components/block-prediction-graph/block-prediction-graph.component.ts 108,103 @@ -2422,6 +2491,7 @@ Match rate + Atitikties rodiklis src/app/components/block-prediction-graph/block-prediction-graph.component.ts 189,187 @@ -2429,6 +2499,7 @@ Block Rewards + Bloko Atlygis src/app/components/block-rewards-graph/block-rewards-graph.component.html 7,8 @@ -2445,6 +2516,7 @@ Block Sizes and Weights + Blokų Dydžiai ir Svoriai src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.html 5,7 @@ -2461,6 +2533,7 @@ Block + Blokas src/app/components/block/block-preview.component.html 3,7 @@ -2473,6 +2546,7 @@ + src/app/components/block/block-preview.component.html 11,12 @@ -2481,6 +2555,7 @@ Median fee + Vidutinis mokestis src/app/components/block/block-preview.component.html 36,37 @@ -2501,6 +2576,7 @@ Total fees + Bendri mokesčiai src/app/components/block/block-preview.component.html 41,43 @@ -2530,6 +2606,7 @@ Miner + Radėjas src/app/components/block/block-preview.component.html 53,55 @@ -2546,6 +2623,7 @@ Block : + Blokas : src/app/components/block/block-preview.component.ts 98 @@ -2557,6 +2635,7 @@ Next Block + Kitas Blokas src/app/components/block/block.component.html 8,9 @@ -2569,6 +2648,7 @@ Previous Block + Ankstesnis Blokas src/app/components/block/block.component.html 15,16 @@ -2577,6 +2657,7 @@ Based on average native segwit transaction of 140 vBytes + Remiantis vidutine 140 vBaitų 'native segwit' operacija src/app/components/block/block.component.html 60,62 @@ -2609,6 +2690,7 @@ Subsidy + fees: + Subsidija + mokesčiai: src/app/components/block/block.component.html 79,81 @@ -2630,6 +2712,7 @@ Bits + Bitai src/app/components/block/block.component.html 256,258 @@ -2638,6 +2721,7 @@ Merkle root + Merkle šaknis src/app/components/block/block.component.html 260,262 @@ -2646,6 +2730,7 @@ Difficulty + Sudėtingumas src/app/components/block/block.component.html 270,273 @@ -2674,6 +2759,7 @@ Nonce + Noncas src/app/components/block/block.component.html 274,276 @@ -2682,6 +2768,7 @@ Block Header Hex + Bloko Antraštės Hex src/app/components/block/block.component.html 278,279 @@ -2690,6 +2777,7 @@ Details + Detalės src/app/components/block/block.component.html 289,293 @@ -2711,6 +2799,7 @@ Error loading data. + Įkeliant duomenis įvyko klaida. src/app/components/block/block.component.html 308,310 @@ -2739,6 +2828,7 @@ Pool + Telkinys src/app/components/blocks-list/blocks-list.component.html 14 @@ -2759,6 +2849,7 @@ Mined + Rasta src/app/components/blocks-list/blocks-list.component.html 16,17 @@ -2779,6 +2870,7 @@ Reward + Atlygis src/app/components/blocks-list/blocks-list.component.html 18,19 @@ -2799,6 +2891,7 @@ Fees + Mokesčiai src/app/components/blocks-list/blocks-list.component.html 19,20 @@ -2815,6 +2908,7 @@ TXs + TXs src/app/components/blocks-list/blocks-list.component.html 21,22 @@ -2843,6 +2937,7 @@ Copied! + Nukopijuota! src/app/components/clipboard/clipboard.component.ts 19 @@ -2850,6 +2945,7 @@ Adjusted + Pakoreguota src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 6,8 @@ -2858,6 +2954,7 @@ Change + Pokytis src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html 8,11 @@ -2866,6 +2963,7 @@ Difficulty Adjustment + Sudėtingumo Pokytis src/app/components/difficulty/difficulty.component.html 1,5 @@ -2878,6 +2976,7 @@ Remaining + Likę src/app/components/difficulty/difficulty.component.html 7,9 @@ -2890,6 +2989,7 @@ blocks + blokai src/app/components/difficulty/difficulty.component.html 10,11 @@ -2914,6 +3014,7 @@ block + blokas src/app/components/difficulty/difficulty.component.html 11,12 @@ -2930,6 +3031,7 @@ Estimate + Tikimasi src/app/components/difficulty/difficulty.component.html 16,17 @@ -2942,6 +3044,7 @@ Previous + Ankstesnis src/app/components/difficulty/difficulty.component.html 31,33 @@ -2950,6 +3053,7 @@ Current Period + Einamasis Periodas src/app/components/difficulty/difficulty.component.html 43,44 @@ -2962,6 +3066,7 @@ Next Halving + Kitas Blokų Atlygio Dalijimas src/app/components/difficulty/difficulty.component.html 50,52 @@ -2970,6 +3075,7 @@ Either 2x the minimum, or the Low Priority rate (whichever is lower) + Arba 2 kart daugiau už minimalų, arba Žemo Prioriteto tarifas (atsižvelgiant į tai, kuris mažesnis) src/app/components/fees-box/fees-box.component.html 4,7 @@ -2978,6 +3084,7 @@ No Priority + Nėra Prioriteto src/app/components/fees-box/fees-box.component.html 4,7 @@ -2990,6 +3097,7 @@ Usually places your transaction in between the second and third mempool blocks + Paprastai įkelia jūsų operacija tarp antrojo ir trečiojo atminties blokų src/app/components/fees-box/fees-box.component.html 8,9 @@ -2998,6 +3106,7 @@ Low Priority + Žemas Prioritetas src/app/components/fees-box/fees-box.component.html 8,9 @@ -3010,6 +3119,7 @@ Usually places your transaction in between the first and second mempool blocks + Paprastai įkelia jūsų operacija yra tarp pirmojo ir antrojo atminties blokų src/app/components/fees-box/fees-box.component.html 9,10 @@ -3018,6 +3128,7 @@ Medium Priority + Vidutinis Prioritetas src/app/components/fees-box/fees-box.component.html 9,10 @@ -3030,6 +3141,7 @@ Places your transaction in the first mempool block + Įkelia jūsų operaciją į pirmąjį atminties bloką src/app/components/fees-box/fees-box.component.html 10,14 @@ -3038,6 +3150,7 @@ High Priority + Didelis Prioritetas src/app/components/fees-box/fees-box.component.html 10,15 @@ -3050,6 +3163,7 @@ Incoming transactions + Įeinančios operacijos src/app/components/footer/footer.component.html 5,6 @@ -3062,6 +3176,7 @@ Backend is synchronizing + Vidinė sistema sinchronizuojasi src/app/components/footer/footer.component.html 8,10 @@ -3074,6 +3189,7 @@ vB/s + vB/s src/app/components/footer/footer.component.html 13,17 @@ -3087,6 +3203,7 @@ Unconfirmed + Nepatvirtinta src/app/components/footer/footer.component.html 19,21 @@ -3100,6 +3217,7 @@ Mempool size + Mempool dydis src/app/components/footer/footer.component.html 23,24 @@ -3109,6 +3227,7 @@ Mining + Gavyba src/app/components/graphs/graphs.component.html 8 @@ -3117,6 +3236,7 @@ Pools Ranking + Baseinų Reitingas src/app/components/graphs/graphs.component.html 11 @@ -3129,6 +3249,7 @@ Pools Dominance + Baseinų dominavimas src/app/components/graphs/graphs.component.html 13 @@ -3141,6 +3262,7 @@ Hashrate & Difficulty + Maišos Dažnis ir Sudėtingumas src/app/components/graphs/graphs.component.html 15,16 @@ -3149,6 +3271,7 @@ Lightning + Žaibatinklis src/app/components/graphs/graphs.component.html 31 @@ -3157,6 +3280,7 @@ Lightning Nodes Per Network + Žaibatinklio Mazgai Tinkle src/app/components/graphs/graphs.component.html 34 @@ -3177,6 +3301,7 @@ Lightning Network Capacity + Žaibo Tinklo Talpumas src/app/components/graphs/graphs.component.html 36 @@ -3197,6 +3322,7 @@ Lightning Nodes Per ISP + Žaibatinklio Mazgai Tenkantys Vienam IPT src/app/components/graphs/graphs.component.html 38 @@ -3209,6 +3335,7 @@ Lightning Nodes Per Country + Žaibatinklio Mazgai Tenkantys Vienai Šaliai src/app/components/graphs/graphs.component.html 40 @@ -3225,6 +3352,7 @@ Lightning Nodes World Map + Žaibatinklio Mazgų Pasaulio Žemėlapis src/app/components/graphs/graphs.component.html 42 @@ -3241,6 +3369,7 @@ Lightning Nodes Channels World Map + Žaibatinklio Kanalų Pasaulio Žemėlapis src/app/components/graphs/graphs.component.html 44 @@ -3253,6 +3382,7 @@ Hashrate + Maišos Dažnis src/app/components/hashrate-chart/hashrate-chart.component.html 8,10 @@ -3281,6 +3411,7 @@ Hashrate & Difficulty + Maišos Dažnis ir Sudėtingumas src/app/components/hashrate-chart/hashrate-chart.component.html 27,29 @@ -3293,6 +3424,7 @@ Hashrate (MA) + Maišos dažnis (JV) src/app/components/hashrate-chart/hashrate-chart.component.ts 292,291 @@ -3304,6 +3436,7 @@ Pools Historical Dominance + Telkinių Istorinis Dominavimas src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts 64 @@ -3311,6 +3444,7 @@ Indexing network hashrate + Tinklo maišos dažnio indeksavimas src/app/components/indexing-progress/indexing-progress.component.html 2 @@ -3318,6 +3452,7 @@ Indexing pools hashrate + Telkinių maišos dažnio indeksavimas src/app/components/indexing-progress/indexing-progress.component.html 3 @@ -3325,6 +3460,7 @@ Graphs + Grafikai src/app/components/liquid-master-page/liquid-master-page.component.html 71,74 @@ -3341,6 +3477,7 @@ Mining Dashboard + Gavybos Valdymo Skydas src/app/components/master-page/master-page.component.html 41,43 @@ -3353,6 +3490,7 @@ Lightning Explorer + Žaibatinklio Naršyklė src/app/components/master-page/master-page.component.html 44,45 @@ -3365,6 +3503,7 @@ beta + beta versija src/app/components/master-page/master-page.component.html 45,48 @@ -3373,6 +3512,7 @@ Documentation + Dokumentacija src/app/components/master-page/master-page.component.html 55,57 @@ -3385,6 +3525,7 @@ Fee span + Mokesčio intervalas src/app/components/mempool-block/mempool-block.component.html 20,21 @@ -3393,6 +3534,7 @@ Stack of mempool blocks + mempool blokų krūva src/app/components/mempool-block/mempool-block.component.ts 77 @@ -3400,6 +3542,7 @@ Mempool block + Mempool blokas src/app/components/mempool-block/mempool-block.component.ts 79 @@ -3407,6 +3550,7 @@ Range + Intervalas src/app/components/mempool-graph/mempool-graph.component.ts 259 @@ -3414,6 +3558,7 @@ Sum + Suma src/app/components/mempool-graph/mempool-graph.component.ts 261 @@ -3421,6 +3566,7 @@ Reward stats + Atlygio statistika src/app/components/mining-dashboard/mining-dashboard.component.html 10 @@ -3429,6 +3575,7 @@ (144 blocks) + (144 blokai) src/app/components/mining-dashboard/mining-dashboard.component.html 11 @@ -3437,6 +3584,7 @@ Latest blocks + Naujausi blokai src/app/components/mining-dashboard/mining-dashboard.component.html 53 @@ -3449,6 +3597,7 @@ Adjustments + Koregavimai src/app/components/mining-dashboard/mining-dashboard.component.html 67 @@ -3457,6 +3606,7 @@ Pools luck (1 week) + Telkinių sėkmė (1 savaitė) src/app/components/pool-ranking/pool-ranking.component.html 9 @@ -3465,6 +3615,7 @@ Pools luck + Telkinių sėkmė src/app/components/pool-ranking/pool-ranking.component.html 9,11 @@ -3473,6 +3624,7 @@ The overall luck of all mining pools over the past week. A luck bigger than 100% means the average block time for the current epoch is less than 10 minutes. + Bendra visų gavybos telkinių sėkmė per praėjusią savaitę. Sėkmė, didesnė nei 100 %, reiškia, kad vidutinis einamosios epochos bloko laikas yra trumpesnis nei 10 minučių. src/app/components/pool-ranking/pool-ranking.component.html 11,15 @@ -3481,6 +3633,7 @@ Pools count (1w) + Suskaičiuota telkinių (1 sav.) src/app/components/pool-ranking/pool-ranking.component.html 17 @@ -3489,6 +3642,7 @@ Pools count + Suskaičiuota telkinių src/app/components/pool-ranking/pool-ranking.component.html 17,19 @@ -3497,6 +3651,7 @@ How many unique pools found at least one block over the past week. + Kiek unikalių telkinių rado bent vieną bloką per pastarąją savaitę. src/app/components/pool-ranking/pool-ranking.component.html 19,23 @@ -3505,6 +3660,7 @@ Blocks (1w) + Blokai (1 sav.) src/app/components/pool-ranking/pool-ranking.component.html 25 @@ -3521,6 +3677,7 @@ The number of blocks found over the past week. + Per pastarąją savaitę rastų blokų skaičius. src/app/components/pool-ranking/pool-ranking.component.html 27,31 @@ -3529,6 +3686,7 @@ Rank + Reitingas src/app/components/pool-ranking/pool-ranking.component.html 90,92 @@ -3545,6 +3703,7 @@ Empty blocks + Tušti blokai src/app/components/pool-ranking/pool-ranking.component.html 95,98 @@ -3553,6 +3712,7 @@ All miners + Visi išgavėjai src/app/components/pool-ranking/pool-ranking.component.html 113,114 @@ -3561,6 +3721,7 @@ Pools Luck (1w) + Telkinių sėkmė (1 sav.) src/app/components/pool-ranking/pool-ranking.component.html 130,132 @@ -3569,6 +3730,7 @@ Pools Count (1w) + Suskaičiuota Telkinių (1 sav.) src/app/components/pool-ranking/pool-ranking.component.html 142,144 @@ -3577,6 +3739,7 @@ Mining Pools + Gavybos Telkiniai src/app/components/pool-ranking/pool-ranking.component.ts 57 @@ -3584,6 +3747,7 @@ blocks + blokai src/app/components/pool-ranking/pool-ranking.component.ts 165,163 @@ -3595,6 +3759,7 @@ mining pool + gavybos telkinys src/app/components/pool/pool-preview.component.html 3,5 @@ -3603,6 +3768,7 @@ Tags + Žymos src/app/components/pool/pool-preview.component.html 18,19 @@ -3627,6 +3793,7 @@ Show all + Rodyti viską src/app/components/pool/pool.component.html 53,55 @@ -3647,6 +3814,7 @@ Hide + Slėpti src/app/components/pool/pool.component.html 55,58 @@ -3655,6 +3823,7 @@ Hashrate (24h) + Maišos Dažnis (24 val.) src/app/components/pool/pool.component.html 91,93 @@ -3675,6 +3844,7 @@ Estimated + Apytikris src/app/components/pool/pool.component.html 96,97 @@ -3695,6 +3865,7 @@ Reported + Pranešta src/app/components/pool/pool.component.html 97,98 @@ -3715,6 +3886,7 @@ Luck + Sėkmė src/app/components/pool/pool.component.html 98,101 @@ -3735,6 +3907,7 @@ Mined blocks + Rasta blokų src/app/components/pool/pool.component.html 141,143 @@ -3755,6 +3928,7 @@ 24h + 24 val src/app/components/pool/pool.component.html 147 @@ -3767,6 +3941,7 @@ 1w + 1 sav src/app/components/pool/pool.component.html 148 @@ -3779,6 +3954,7 @@ Coinbase tag + Monetų bazės žyma src/app/components/pool/pool.component.html 215,217 @@ -3791,6 +3967,7 @@ Broadcast Transaction + Transliavimo Operacija src/app/components/push-transaction/push-transaction.component.html 2 @@ -3808,6 +3985,7 @@ Transaction hex + Operacijos hex src/app/components/push-transaction/push-transaction.component.html 6 @@ -3820,6 +3998,7 @@ Miners Reward + Radimo atlygis src/app/components/reward-stats/reward-stats.component.html 5 @@ -3836,6 +4015,7 @@ Amount being paid to miners in the past 144 blocks + Suma, mokama išgavėjams per pastaruosius 144 blokus src/app/components/reward-stats/reward-stats.component.html 6,8 @@ -3844,6 +4024,7 @@ Reward Per Tx + Atlygis už Tx src/app/components/reward-stats/reward-stats.component.html 17 @@ -3864,6 +4045,7 @@ Average miners' reward per transaction in the past 144 blocks + Vidutinis gavybos atlygis už operaciją per pastaruosius 144 blokus src/app/components/reward-stats/reward-stats.component.html 18,20 @@ -3872,6 +4054,7 @@ sats/tx + sats/tx src/app/components/reward-stats/reward-stats.component.html 21,24 @@ -3885,6 +4068,7 @@ Average Fee + Vidutinis mokestis src/app/components/reward-stats/reward-stats.component.html 30 @@ -3897,6 +4081,7 @@ Fee paid on average for each transaction in the past 144 blocks + Vidutinis mokestis už kiekvieną operaciją per pastaruosius 144 blokus src/app/components/reward-stats/reward-stats.component.html 31,32 @@ -3905,6 +4090,7 @@ Explore the full Bitcoin ecosystem + Tyrinėkite visą Bitkoino ekosistemą src/app/components/search-form/search-form.component.html 4,6 @@ -3913,6 +4099,7 @@ Search + Ieškoti src/app/components/search-form/search-form.component.html 11,18 @@ -3921,6 +4108,7 @@ Mempool by vBytes (sat/vByte) + Mempool pagal vBitus (sat/vByte) src/app/components/statistics/statistics.component.html 7 @@ -3929,6 +4117,7 @@ TV view + TV vaizdas src/app/components/statistics/statistics.component.html 18 @@ -3941,6 +4130,7 @@ Filter + Filtruoti src/app/components/statistics/statistics.component.html 57 @@ -3949,6 +4139,7 @@ Invert + Apversti src/app/components/statistics/statistics.component.html 76 @@ -3957,6 +4148,7 @@ Transaction vBytes per second (vB/s) + Operacijos vBaitai per sekundę (vB/s) src/app/components/statistics/statistics.component.html 96 @@ -3965,6 +4157,7 @@ Just now + Dabar src/app/components/time-since/time-since.component.ts 64 @@ -3976,6 +4169,7 @@ ago + Prieš src/app/components/time-since/time-since.component.ts 74 @@ -4035,6 +4229,7 @@ After + Po src/app/components/time-span/time-span.component.ts 67 @@ -4094,6 +4289,7 @@ In ~ + Per ~ src/app/components/time-until/time-until.component.ts 66 @@ -4157,6 +4353,7 @@ This transaction has been replaced by: + Ši operacija buvo pakeista: src/app/components/transaction/transaction.component.html 5,6 @@ -4166,6 +4363,7 @@ Unconfirmed + Nepatvirtinta src/app/components/transaction/transaction.component.html 32,39 @@ -4179,6 +4377,7 @@ First seen + Pirmą kartą pamatytas src/app/components/transaction/transaction.component.html 101,102 @@ -4212,6 +4411,7 @@ ETA + Tikimasi src/app/components/transaction/transaction.component.html 108,109 @@ -4221,6 +4421,7 @@ In several hours (or more) + Po kelių valandų (ar daugiau) src/app/components/transaction/transaction.component.html 114,117 @@ -4230,6 +4431,7 @@ Descendant + Palikuonis src/app/components/transaction/transaction.component.html 161,163 @@ -4239,6 +4441,7 @@ Ancestor + Protėvis src/app/components/transaction/transaction.component.html 175,177 @@ -4248,6 +4451,7 @@ Flow + Srautas src/app/components/transaction/transaction.component.html 195,198 @@ -4261,6 +4465,7 @@ Hide diagram + Slėpti diagramą src/app/components/transaction/transaction.component.html 198,203 @@ -4269,6 +4474,7 @@ Show more + Rodyti daugiau src/app/components/transaction/transaction.component.html 219,221 @@ -4277,6 +4483,7 @@ Show less + Rodyti mažiau src/app/components/transaction/transaction.component.html 221,227 @@ -4285,6 +4492,7 @@ Show diagram + Rodyti diagramą src/app/components/transaction/transaction.component.html 241,242 @@ -4293,6 +4501,7 @@ Locktime + Užrakinimo laikas src/app/components/transaction/transaction.component.html 280,282 @@ -4301,6 +4510,7 @@ Transaction not found. + Operacija nerasta. src/app/components/transaction/transaction.component.html 443,444 @@ -4309,6 +4519,7 @@ Waiting for it to appear in the mempool... + Laukiama pasirodymo atmintinėje... src/app/components/transaction/transaction.component.html 444,449 @@ -4317,6 +4528,7 @@ Effective fee rate + Efektyvus mokesčio tarifas src/app/components/transaction/transaction.component.html 477,480 @@ -4326,6 +4538,7 @@ Coinbase + Monetų bazė src/app/components/transactions-list/transactions-list.component.html 54 @@ -4334,6 +4547,7 @@ (Newly Generated Coins) + (Naujai Sugeneruotos Monetos) src/app/components/transactions-list/transactions-list.component.html 54 @@ -4342,6 +4556,7 @@ Peg-in + Prisegimas src/app/components/transactions-list/transactions-list.component.html 56,58 @@ -4350,6 +4565,7 @@ ScriptSig (ASM) + ScriptSig (ASM) src/app/components/transactions-list/transactions-list.component.html 107,109 @@ -4359,6 +4575,7 @@ ScriptSig (HEX) + ScriptSig (HEX) src/app/components/transactions-list/transactions-list.component.html 111,114 @@ -4368,6 +4585,7 @@ Witness + Liudytojas src/app/components/transactions-list/transactions-list.component.html 116,118 @@ -4376,6 +4594,7 @@ P2SH redeem script + P2SH išpirkimo skriptas src/app/components/transactions-list/transactions-list.component.html 120,121 @@ -4384,6 +4603,7 @@ P2TR tapscript + P2TR tapskriptas src/app/components/transactions-list/transactions-list.component.html 124,126 @@ -4392,6 +4612,7 @@ P2WSH witness script + P2WSH liudininko skriptas src/app/components/transactions-list/transactions-list.component.html 126,128 @@ -4400,6 +4621,7 @@ nSequence + nSequence src/app/components/transactions-list/transactions-list.component.html 131,133 @@ -4408,6 +4630,7 @@ Previous output script + Ankstesnis išvesties skriptas src/app/components/transactions-list/transactions-list.component.html 136,137 @@ -4416,6 +4639,7 @@ Previous output type + Ankstesnis išvesties tipas src/app/components/transactions-list/transactions-list.component.html 140,141 @@ -4424,6 +4648,7 @@ Peg-out to + Atsegti į src/app/components/transactions-list/transactions-list.component.html 179,180 @@ -4432,6 +4657,7 @@ ScriptPubKey (ASM) + ScriptPubKey (ASM) src/app/components/transactions-list/transactions-list.component.html 240,242 @@ -4441,6 +4667,7 @@ ScriptPubKey (HEX) + ScriptPubKey (HEX) src/app/components/transactions-list/transactions-list.component.html 244,247 @@ -4450,6 +4677,7 @@ Show all inputs to reveal fee data + Rodyti visas įvestis, kad būtų atskleisti mokesčių duomenys src/app/components/transactions-list/transactions-list.component.html 274,277 @@ -4458,6 +4686,7 @@ other inputs + kitos įvestys src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html 12 @@ -4466,6 +4695,7 @@ other outputs + kitos išvestys src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html 13 @@ -4474,6 +4704,7 @@ Input + Įvestis src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html 43 @@ -4482,6 +4713,7 @@ Output + Išvestis src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html 44 @@ -4490,6 +4722,7 @@ This transaction saved % on fees by using native SegWit + Ši operacija sutaupė % mokesčių, naudojant vietinį SegWit src/app/components/tx-features/tx-features.component.html 2 @@ -4498,6 +4731,7 @@ SegWit + SegWit src/app/components/tx-features/tx-features.component.html 2 @@ -4515,6 +4749,7 @@ This transaction saved % on fees by using SegWit and could save % more by fully upgrading to native SegWit + Ši operacija sutaupė % mokesčių naudojant SegWit ir gali sutaupyti % daugiau visiškai naujovinus į vietinį SegWit src/app/components/tx-features/tx-features.component.html 4 @@ -4523,6 +4758,7 @@ This transaction could save % on fees by upgrading to native SegWit or % by upgrading to SegWit-P2SH + Ši operacija galėtų sutaupyti % mokesčių atnaujinus į vietinį SegWit arba % naujovinus į SegWit-P2SH src/app/components/tx-features/tx-features.component.html 6 @@ -4531,6 +4767,7 @@ This transaction uses Taproot and thereby saved at least % on fees + Ši operacija naudoja Taproot ir taip sutaupė bent % mokesčių src/app/components/tx-features/tx-features.component.html 12 @@ -4539,6 +4776,7 @@ Taproot + Taproot src/app/components/tx-features/tx-features.component.html 12 @@ -4560,6 +4798,7 @@ This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot + Ši operacija naudoja „Taproot“ ir jau sutaupė bent % mokesčių, bet gali sutaupyti papildomai % visiškai naudojant Taproot src/app/components/tx-features/tx-features.component.html 14 @@ -4568,6 +4807,7 @@ This transaction could save % on fees by using Taproot + Ši operacija gali sutaupyti % mokesčių naudojant Taproot src/app/components/tx-features/tx-features.component.html 16 @@ -4576,6 +4816,7 @@ This transaction uses Taproot + Ši operacija naudoja Taproot src/app/components/tx-features/tx-features.component.html 18 @@ -4584,6 +4825,7 @@ This transaction supports Replace-By-Fee (RBF) allowing fee bumping + Ši operacija palaiko „Replace-By-Fee“ (RBF), leidžiančią pridėti mokesčius src/app/components/tx-features/tx-features.component.html 25 @@ -4592,6 +4834,7 @@ RBF + RBF src/app/components/tx-features/tx-features.component.html 25 @@ -4605,6 +4848,7 @@ This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method + Ši operacija nepalaiko "Replace-By-Fee" (RBF) ir negali būti paspartinta naudojant šį metodą. src/app/components/tx-features/tx-features.component.html 26 @@ -4613,6 +4857,7 @@ Optimal + Optimalus src/app/components/tx-fee-rating/tx-fee-rating.component.html 1 @@ -4622,6 +4867,7 @@ Only ~ sat/vB was needed to get into this block + Norint patekti į šį bloką, būtų užtekę ir ~ sat/vB src/app/components/tx-fee-rating/tx-fee-rating.component.html 2 @@ -4634,6 +4880,7 @@ Overpaid x + Permokėta x src/app/components/tx-fee-rating/tx-fee-rating.component.html 2 @@ -4647,6 +4894,7 @@ Transaction Fees + Operacijos mokesčiai src/app/dashboard/dashboard.component.html 6,9 @@ -4655,6 +4903,7 @@ Latest transactions + Naujausios operacijos src/app/dashboard/dashboard.component.html 120,123 @@ -4663,6 +4912,7 @@ USD + USD src/app/dashboard/dashboard.component.html 126,127 @@ -4671,6 +4921,7 @@ Minimum fee + Minimalus mokestis src/app/dashboard/dashboard.component.html 197,198 @@ -4680,6 +4931,7 @@ Purging + Valymas src/app/dashboard/dashboard.component.html 198,199 @@ -4689,6 +4941,7 @@ Memory usage + Atminties naudojimas src/app/dashboard/dashboard.component.html 210,211 @@ -4698,6 +4951,7 @@ L-BTC in circulation + L-BTC apyvartoje src/app/dashboard/dashboard.component.html 224,226 @@ -4706,6 +4960,7 @@ REST API service + REST API paslauga src/app/docs/api-docs/api-docs.component.html 34,35 @@ -4714,6 +4969,7 @@ Endpoint + Galutinis taškas src/app/docs/api-docs/api-docs.component.html 43,44 @@ -4726,6 +4982,7 @@ Description + Apibūdinimas src/app/docs/api-docs/api-docs.component.html 62,63 @@ -4737,6 +4994,7 @@ Default push: action: 'want', data: ['blocks', ...] to express what you want pushed. Available: blocks, mempool-blocks, live-2h-chart, and stats.Push transactions related to address: 'track-address': '3PbJ...bF9B' to receive all new transactions containing that address as input or output. Returns an array of transactions. address-transactions for new mempool transactions, and block-transactions for new block confirmed transactions. + Numatytasis siuntimas: veiksmas: 'want', duomenys: ['blocks', ...] , kad išreikštumėte tai, ką norite pastūmėti. Galimi: blokai , mempool blokai , realaus laiko-2val grafikas , ir statistika . Pastūmėti operacijas susietas su adresu: 'track-address': '3PbJ...bF9B' priimti visas naujas operacijas susietas su adresu kaip įvestis ar išvestis. Pateikiama kaip operacijų rinkinys. adreso-operacijosnaujoms mempool operacijoms, ir bloko operacijosnaujoms bloke patvirtintoms operacijoms. src/app/docs/api-docs/api-docs.component.html 102,103 @@ -4745,6 +5003,7 @@ Code Example + Kodo Pavyzdys src/app/docs/code-template/code-template.component.html 6,7 @@ -4765,6 +5024,7 @@ Install Package + Įdiegti Paketą src/app/docs/code-template/code-template.component.html 23,24 @@ -4773,6 +5033,7 @@ Response + Atsakymas src/app/docs/code-template/code-template.component.html 43,44 @@ -4781,6 +5042,7 @@ FAQ + DUK src/app/docs/docs/docs.component.ts 33 @@ -4788,6 +5050,7 @@ API + API src/app/docs/docs/docs.component.ts 36 @@ -4799,6 +5062,7 @@ Base fee + Bazės mokestis src/app/lightning/channel/channel-box/channel-box.component.html 30 @@ -4811,6 +5075,7 @@ mSats + mSats src/app/lightning/channel/channel-box/channel-box.component.html 36 @@ -4827,6 +5092,7 @@ This channel supports zero base fee routing + Šis kanalas palaiko nulinio bazinio mokesčio maršrutą src/app/lightning/channel/channel-box/channel-box.component.html 45 @@ -4835,6 +5101,7 @@ Zero base fee + Nulinis bazinis mokestis src/app/lightning/channel/channel-box/channel-box.component.html 46 @@ -4843,6 +5110,7 @@ This channel does not support zero base fee routing + Šis kanalas nepalaiko nulinio bazinio mokesčio src/app/lightning/channel/channel-box/channel-box.component.html 51 @@ -4851,6 +5119,7 @@ Non-zero base fee + Nenulinis bazinis mokestis src/app/lightning/channel/channel-box/channel-box.component.html 52 @@ -4859,6 +5128,7 @@ Min HTLC + Min. HTLC src/app/lightning/channel/channel-box/channel-box.component.html 58 @@ -4867,6 +5137,7 @@ Max HTLC + Maks HTLC src/app/lightning/channel/channel-box/channel-box.component.html 64 @@ -4875,6 +5146,7 @@ Timelock delta + Laiko užrakto delta src/app/lightning/channel/channel-box/channel-box.component.html 70 @@ -4883,6 +5155,7 @@ channels + kanalai src/app/lightning/channel/channel-box/channel-box.component.html 80 @@ -4895,6 +5168,7 @@ lightning channel + žaibatinklio kanalas src/app/lightning/channel/channel-preview.component.html 3,5 @@ -4903,6 +5177,7 @@ Inactive + Neaktyvus src/app/lightning/channel/channel-preview.component.html 10,11 @@ -4919,6 +5194,7 @@ Active + Aktyvus src/app/lightning/channel/channel-preview.component.html 11,12 @@ -4935,6 +5211,7 @@ Closed + Uždarytas src/app/lightning/channel/channel-preview.component.html 12,14 @@ -4955,6 +5232,7 @@ Created + Sukurta src/app/lightning/channel/channel-preview.component.html 23,26 @@ -4967,6 +5245,7 @@ Capacity + Talpa src/app/lightning/channel/channel-preview.component.html 27,28 @@ -5019,6 +5298,7 @@ ppm + ppm src/app/lightning/channel/channel-preview.component.html 34,35 @@ -5039,6 +5319,7 @@ Lightning channel + Žaibatinklio kanalas src/app/lightning/channel/channel.component.html 2,5 @@ -5051,6 +5332,7 @@ Last update + Atnaujinta src/app/lightning/channel/channel.component.html 33,34 @@ -5083,6 +5365,7 @@ Closing date + Uždarymo data src/app/lightning/channel/channel.component.html 37,38 @@ -5095,6 +5378,7 @@ Opening transaction + Atidarymo operacija src/app/lightning/channel/channel.component.html 73,74 @@ -5103,6 +5387,7 @@ Closing transaction + Uždarymo operacija src/app/lightning/channel/channel.component.html 82,84 @@ -5111,6 +5396,7 @@ Channel: + Kanalas: src/app/lightning/channel/channel.component.ts 37 @@ -5118,6 +5404,7 @@ Open + Atidarytas src/app/lightning/channels-list/channels-list.component.html 5,7 @@ -5126,6 +5413,7 @@ No channels to display + Nėra kanalų, kuriuos būtų galima rodyti src/app/lightning/channels-list/channels-list.component.html 29,35 @@ -5134,6 +5422,7 @@ Alias + Pseudonimas src/app/lightning/channels-list/channels-list.component.html 35,37 @@ -5170,6 +5459,7 @@ Status + Būsena src/app/lightning/channels-list/channels-list.component.html 37,38 @@ -5178,6 +5468,7 @@ Channel ID + Kanalo ID src/app/lightning/channels-list/channels-list.component.html 41,45 @@ -5186,6 +5477,7 @@ sats + sats src/app/lightning/channels-list/channels-list.component.html 61,65 @@ -5238,6 +5530,7 @@ Avg Capacity + Vid. Talpa src/app/lightning/channels-statistics/channels-statistics.component.html 13,15 @@ -5250,6 +5543,7 @@ Avg Fee Rate + Vid. Mokesčio Tarifas src/app/lightning/channels-statistics/channels-statistics.component.html 26,28 @@ -5262,6 +5556,7 @@ The average fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm + Vidutinis maršruto mazgų imamas mokesčio tarifas, neatsižvelgiant į mokesčių tarifus > 0,5% arba 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html 28,30 @@ -5270,6 +5565,7 @@ Avg Base Fee + Vidutinis Bazinis Mokestis src/app/lightning/channels-statistics/channels-statistics.component.html 41,43 @@ -5282,6 +5578,7 @@ The average base fee charged by routing nodes, ignoring base fees > 5000ppm + Vidutinis bazinis mokestis, kurį ima maršruto parinkimo mazgai, neatsižvelgiant į bazinius mokesčius > 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html 43,45 @@ -5290,6 +5587,7 @@ Med Capacity + Talpumo Mediana src/app/lightning/channels-statistics/channels-statistics.component.html 59,61 @@ -5298,6 +5596,7 @@ Med Fee Rate + Mokesčio Mediana src/app/lightning/channels-statistics/channels-statistics.component.html 72,74 @@ -5306,6 +5605,7 @@ The median fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm + Maršrutizavimo mazgų imama mokesčio tarifo mediana, neatsižvelgiant į mokesčių tarifus > 0,5 % arba 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html 74,76 @@ -5314,6 +5614,7 @@ Med Base Fee + Bazinio Mokesčio Mediana src/app/lightning/channels-statistics/channels-statistics.component.html 87,89 @@ -5322,6 +5623,7 @@ The median base fee charged by routing nodes, ignoring base fees > 5000ppm + Bazinio mokesčio mediana, kurią ima maršruto mazgai, neatsižvelgiant į bazinius mokesčius > 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html 89,91 @@ -5330,6 +5632,7 @@ Lightning node group + Žaibatinklio mazgų grupė src/app/lightning/group/group-preview.component.html 3,5 @@ -5342,6 +5645,7 @@ Nodes + Mazgai src/app/lightning/group/group-preview.component.html 25,29 @@ -5382,6 +5686,7 @@ Liquidity + Likvidumas src/app/lightning/group/group-preview.component.html 29,31 @@ -5418,6 +5723,7 @@ Channels + Kanalai src/app/lightning/group/group-preview.component.html 40,43 @@ -5478,6 +5784,7 @@ Average size + Vidutinis dydis src/app/lightning/group/group-preview.component.html 44,46 @@ -5490,6 +5797,7 @@ Location + Lokacija src/app/lightning/group/group.component.html 74,77 @@ -5530,6 +5838,7 @@ Network Statistics + Tinklo Statistika src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 10 @@ -5538,6 +5847,7 @@ Channels Statistics + Kanalų Statistika src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 24 @@ -5546,6 +5856,7 @@ Lightning Network History + Žaibo Tinklo Istorija src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 49 @@ -5554,6 +5865,7 @@ Liquidity Ranking + Likvidumo Reitingas src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 62 @@ -5570,6 +5882,7 @@ Connectivity Ranking + Ryšio Reitingas src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 @@ -5582,6 +5895,7 @@ Percentage change past week + Praėjusios savaitės procentinis pokytis src/app/lightning/node-statistics/node-statistics.component.html 5,7 @@ -5598,6 +5912,7 @@ Lightning node + Žaibatinklio mazgas src/app/lightning/node/node-preview.component.html 3,5 @@ -5614,6 +5929,7 @@ Active capacity + Aktyvi talpa src/app/lightning/node/node-preview.component.html 20,22 @@ -5626,6 +5942,7 @@ Active channels + Aktyvūs kanalai src/app/lightning/node/node-preview.component.html 26,30 @@ -5638,6 +5955,7 @@ Country + Šalis src/app/lightning/node/node-preview.component.html 44,47 @@ -5646,6 +5964,7 @@ No node found for public key "" + Viešajam raktui mazgas nerastas &quot; &quot; src/app/lightning/node/node.component.html 17,19 @@ -5654,6 +5973,7 @@ Average channel size + Vidutinis kanalo dydis src/app/lightning/node/node.component.html 40,43 @@ -5662,6 +5982,7 @@ Unknown + Nežinoma src/app/lightning/node/node.component.html 52,56 @@ -5682,6 +6003,7 @@ Color + Spalva src/app/lightning/node/node.component.html 75,77 @@ -5690,6 +6012,7 @@ ISP + IPT src/app/lightning/node/node.component.html 82,83 @@ -5702,6 +6025,7 @@ Exclusively on Tor + Tik Tor src/app/lightning/node/node.component.html 88,90 @@ -5710,6 +6034,7 @@ Open channels + Atviri kanalai src/app/lightning/node/node.component.html 145,148 @@ -5718,6 +6043,7 @@ Closed channels + Uždaryti kanalai src/app/lightning/node/node.component.html 149,152 @@ -5726,6 +6052,7 @@ Node: + Mazgas: src/app/lightning/node/node.component.ts 42 @@ -5733,6 +6060,7 @@ (Tor nodes excluded) + (Be Tor mazgų) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html 8,11 @@ -5753,6 +6081,7 @@ Lightning Nodes Channels World Map + Žaibatinklio Mazgų Kanalų Pasaulio Žemėlapis src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -5760,6 +6089,7 @@ No geolocation data available + Geografinės vietos duomenų nėra src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 218,213 @@ -5767,6 +6097,7 @@ Active channels map + Aktyvių kanalų žemėlapis src/app/lightning/nodes-channels/node-channels.component.html 2,3 @@ -5775,6 +6106,7 @@ Indexing in progess + Vyksta indeksavimas src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 121,116 @@ -5786,6 +6118,7 @@ Reachable on Clearnet Only + Pasiekiama tik per Clearnet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 164,161 @@ -5797,6 +6130,7 @@ Reachable on Clearnet and Darknet + Galima Pasiekti per Clearnet ir Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 185,182 @@ -5808,6 +6142,7 @@ Reachable on Darknet Only + Pasiekiamas tik per Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 206,203 @@ -5819,6 +6154,7 @@ Share + Dalis src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html 29,31 @@ -5831,6 +6167,7 @@ nodes + mazgai src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts 103,102 @@ -5846,6 +6183,7 @@ BTC capacity + BTC talpumas src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts 104,102 @@ -5853,6 +6191,7 @@ Lightning nodes in + Žaibatinklio mazgai src/app/lightning/nodes-per-country/nodes-per-country.component.html 3,4 @@ -5861,6 +6200,7 @@ ISP Count + IPT Skaičius src/app/lightning/nodes-per-country/nodes-per-country.component.html 34,38 @@ -5869,6 +6209,7 @@ Top ISP + Populiariausias IPT src/app/lightning/nodes-per-country/nodes-per-country.component.html 38,40 @@ -5877,6 +6218,7 @@ Lightning nodes in + Žaibatinklio mazgai src/app/lightning/nodes-per-country/nodes-per-country.component.ts 35 @@ -5884,6 +6226,7 @@ Clearnet Capacity + Clearnet Talpa src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 6,8 @@ -5896,6 +6239,7 @@ How much liquidity is running on nodes advertising at least one clearnet IP address + Kiek likvidumo turi mazgai, paskelbę bent vieną „clearnet“ IP adresą src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 8,9 @@ -5904,6 +6248,7 @@ Unknown Capacity + Nežinoma Talpa src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 13,15 @@ -5916,6 +6261,7 @@ How much liquidity is running on nodes which ISP was not identifiable + Kiek likvidumo turi mazgai, kurių IPT neatpažintas src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 15,16 @@ -5924,6 +6270,7 @@ Tor Capacity + Tor Talpa src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 20,22 @@ -5936,6 +6283,7 @@ How much liquidity is running on nodes advertising only Tor addresses + Kiek likvidumo turi mazgai, paskelbę tik „Tor“ adresus src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 22,23 @@ -5944,6 +6292,7 @@ Top 100 ISPs hosting LN nodes + 100 geriausių IPT, kuriuose yra ŽT mazgai src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 31,33 @@ -5952,6 +6301,7 @@ BTC + BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts 158,156 @@ -5963,6 +6313,7 @@ Lightning ISP + Žaibatinklio IPT src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html 3,5 @@ -5971,6 +6322,7 @@ Top country + Geriausia šalis src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html 39,41 @@ -5983,6 +6335,7 @@ Top node + Geriausias mazgas src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html 45,48 @@ -5991,6 +6344,7 @@ Lightning nodes on ISP: [AS] + Žaibatinklio mazgai ant IPT: [AS ] src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts 44 @@ -6002,6 +6356,7 @@ Lightning nodes on ISP: + Žaibatinklio mazgai ant IPT: src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 2,4 @@ -6010,6 +6365,7 @@ ASN + ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 11,14 @@ -6018,6 +6374,7 @@ Top 100 oldest lightning nodes + 100 seniausių žaibatinklio mazgų src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html 3,7 @@ -6026,6 +6383,7 @@ Oldest lightning nodes + Seniausi žaibatinklio mazgai src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts 27 @@ -6033,6 +6391,7 @@ Top 100 nodes liquidity ranking + 100 geriausių mazgų likvidumo reitingas src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html 3,7 @@ -6041,6 +6400,7 @@ Top 100 nodes connectivity ranking + 100 geriausių mazgų ryšio reitingas src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html 3,7 @@ -6049,6 +6409,7 @@ Oldest nodes + Seniausi mazgai src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 36 @@ -6057,6 +6418,7 @@ Top lightning nodes + Geriausi žaibatinklio mazgai src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts 22 @@ -6064,6 +6426,7 @@ Indexing in progress + Vyksta indeksavimas src/app/lightning/statistics-chart/lightning-statistics-chart.component.html 52,55 @@ -6072,6 +6435,7 @@ year + metai src/app/shared/i18n/dates.ts 3 @@ -6079,6 +6443,7 @@ years + metai src/app/shared/i18n/dates.ts 4 @@ -6086,6 +6451,7 @@ month + mėn src/app/shared/i18n/dates.ts 5 @@ -6093,6 +6459,7 @@ months + mėn src/app/shared/i18n/dates.ts 6 @@ -6100,6 +6467,7 @@ week + sav src/app/shared/i18n/dates.ts 7 @@ -6107,6 +6475,7 @@ weeks + sav src/app/shared/i18n/dates.ts 8 @@ -6114,6 +6483,7 @@ day + diena src/app/shared/i18n/dates.ts 9 @@ -6121,6 +6491,7 @@ days + dienos src/app/shared/i18n/dates.ts 10 @@ -6128,6 +6499,7 @@ hour + val src/app/shared/i18n/dates.ts 11 @@ -6135,6 +6507,7 @@ hours + val src/app/shared/i18n/dates.ts 12 @@ -6142,6 +6515,7 @@ minute + min src/app/shared/i18n/dates.ts 13 @@ -6149,6 +6523,7 @@ minutes + min src/app/shared/i18n/dates.ts 14 @@ -6156,6 +6531,7 @@ second + sek src/app/shared/i18n/dates.ts 15 @@ -6163,6 +6539,7 @@ seconds + sek src/app/shared/i18n/dates.ts 16 @@ -6170,6 +6547,7 @@ Transaction fee + Operacijos mokestis src/app/shared/pipes/scriptpubkey-type-pipe/scriptpubkey-type.pipe.ts 11 diff --git a/frontend/src/locale/messages.ru.xlf b/frontend/src/locale/messages.ru.xlf index b65e897e2..2a1561494 100644 --- a/frontend/src/locale/messages.ru.xlf +++ b/frontend/src/locale/messages.ru.xlf @@ -1471,6 +1471,7 @@ Community Integrations + Интеграции c сообществом src/app/components/about/about.component.html 191,193 @@ -1544,6 +1545,7 @@ Multisig of + Мультиподпись из src/app/components/address-labels/address-labels.component.ts 105 @@ -2027,6 +2029,7 @@ Block + Блок src/app/components/block-audit/block-audit.component.html 7,9 @@ -2121,6 +2124,7 @@ Match rate + Коэффициент соответствия src/app/components/block-audit/block-audit.component.html 64,67 @@ -2129,6 +2133,7 @@ Missing txs + Отсутствующие транзакции src/app/components/block-audit/block-audit.component.html 68,71 @@ -2137,6 +2142,7 @@ Added txs + Добавленные транзакции src/app/components/block-audit/block-audit.component.html 72,75 @@ -2145,6 +2151,7 @@ Missing + Отсутствующие src/app/components/block-audit/block-audit.component.html 84,85 @@ -2153,6 +2160,7 @@ Added + Добавленные src/app/components/block-audit/block-audit.component.html 86,92 @@ -2470,6 +2478,7 @@ No data to display yet. Try again later. + Пока нет данных для отображения. Попробуйте позже. src/app/components/block-prediction-graph/block-prediction-graph.component.ts 108,103 @@ -2523,6 +2532,7 @@ Block + Блок src/app/components/block/block-preview.component.html 3,7 @@ -2535,6 +2545,7 @@ + src/app/components/block/block-preview.component.html 11,12 @@ -3250,6 +3261,7 @@ Hashrate & Difficulty + Хэшрейт и сложность src/app/components/graphs/graphs.component.html 15,16 @@ -3258,6 +3270,7 @@ Lightning + Лайтнинг src/app/components/graphs/graphs.component.html 31 @@ -3266,6 +3279,7 @@ Lightning Nodes Per Network + Узлы Лайтнинг на сеть src/app/components/graphs/graphs.component.html 34 @@ -3286,6 +3300,7 @@ Lightning Network Capacity + Объем сети Лайтнинг src/app/components/graphs/graphs.component.html 36 @@ -3306,6 +3321,7 @@ Lightning Nodes Per ISP + Узлов Лайтнинг на провайдера src/app/components/graphs/graphs.component.html 38 @@ -3318,6 +3334,7 @@ Lightning Nodes Per Country + Узлов Лайтнинг на страну src/app/components/graphs/graphs.component.html 40 @@ -3334,6 +3351,7 @@ Lightning Nodes World Map + Мировая карта узлов Лайтнинг src/app/components/graphs/graphs.component.html 42 @@ -3350,6 +3368,7 @@ Lightning Nodes Channels World Map + Мировая карта лайтнинг-каналов src/app/components/graphs/graphs.component.html 44 @@ -3470,6 +3489,7 @@ Lightning Explorer + Лайтнинг-обозреватель src/app/components/master-page/master-page.component.html 44,45 @@ -3482,6 +3502,7 @@ beta + бета src/app/components/master-page/master-page.component.html 45,48 @@ -3737,6 +3758,7 @@ mining pool + майнинг-пул src/app/components/pool/pool-preview.component.html 3,5 @@ -4067,6 +4089,7 @@ Explore the full Bitcoin ecosystem + Исследуйте всю экосистему Биткоина src/app/components/search-form/search-form.component.html 4,6 @@ -4440,6 +4463,7 @@ Hide diagram + Скрыть диаграмму src/app/components/transaction/transaction.component.html 198,203 @@ -4448,6 +4472,7 @@ Show more + Показать больше src/app/components/transaction/transaction.component.html 219,221 @@ -4456,6 +4481,7 @@ Show less + Показывай меньше src/app/components/transaction/transaction.component.html 221,227 @@ -4464,6 +4490,7 @@ Show diagram + Показать схему src/app/components/transaction/transaction.component.html 241,242 @@ -4657,6 +4684,7 @@ other inputs + другие входы src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html 12 @@ -4665,6 +4693,7 @@ other outputs + другие выходы src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html 13 @@ -4673,6 +4702,7 @@ Input + Вход src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html 43 @@ -4681,6 +4711,7 @@ Output + Выход src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html 44 @@ -4689,6 +4720,7 @@ This transaction saved % on fees by using native SegWit + Эта транзакция сэкономила % на комиссиях за счет использования нативного SegWit. src/app/components/tx-features/tx-features.component.html 2 @@ -4715,6 +4747,7 @@ This transaction saved % on fees by using SegWit and could save % more by fully upgrading to native SegWit + Эта транзакция сэкономила % на комиссиях за счет использования SegWit и может сэкономить еще % за счет полного перехода на нативный SegWit. src/app/components/tx-features/tx-features.component.html 4 @@ -4723,6 +4756,7 @@ This transaction could save % on fees by upgrading to native SegWit or % by upgrading to SegWit-P2SH + Эта транзакция могла сэкономить % на комиссиях за счет перехода на нативный SegWit или % за счет обновления до SegWit-P2SH. src/app/components/tx-features/tx-features.component.html 6 @@ -4731,6 +4765,7 @@ This transaction uses Taproot and thereby saved at least % on fees + Эта транзакция использует Taproot и, таким образом, сэкономила как минимум % на комиссиях. src/app/components/tx-features/tx-features.component.html 12 @@ -4739,6 +4774,7 @@ Taproot + Taproot src/app/components/tx-features/tx-features.component.html 12 @@ -4760,6 +4796,7 @@ This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot + Эта транзакция использует Taproot и уже сэкономила как минимум % на комиссиях, но может сэкономить дополнительно % за счет использования Taproot в полной мере. src/app/components/tx-features/tx-features.component.html 14 @@ -4768,6 +4805,7 @@ This transaction could save % on fees by using Taproot + Эта транзакция может сэкономить % на комиссиях с помощью Taproot. src/app/components/tx-features/tx-features.component.html 16 @@ -4785,6 +4823,7 @@ This transaction supports Replace-By-Fee (RBF) allowing fee bumping + Эта транзакция поддерживает функцию Replace-By-Fee (RBF), что позволяет повышать комиссию. src/app/components/tx-features/tx-features.component.html 25 @@ -5021,6 +5060,7 @@ Base fee + Базовая комиссия src/app/lightning/channel/channel-box/channel-box.component.html 30 @@ -5033,6 +5073,7 @@ mSats + мСат src/app/lightning/channel/channel-box/channel-box.component.html 36 @@ -5049,6 +5090,7 @@ This channel supports zero base fee routing + Этот канал поддерживает маршрутизацию с нулевой базовой комиссией. src/app/lightning/channel/channel-box/channel-box.component.html 45 @@ -5057,6 +5099,7 @@ Zero base fee + Нулевая базовая комиссия src/app/lightning/channel/channel-box/channel-box.component.html 46 @@ -5065,6 +5108,7 @@ This channel does not support zero base fee routing + Этот канал не поддерживает маршрутизацию с нулевой базовой комиссией. src/app/lightning/channel/channel-box/channel-box.component.html 51 @@ -5073,6 +5117,7 @@ Non-zero base fee + Ненулевая базовая комиссия src/app/lightning/channel/channel-box/channel-box.component.html 52 @@ -5081,6 +5126,7 @@ Min HTLC + Мин. HTLC src/app/lightning/channel/channel-box/channel-box.component.html 58 @@ -5089,6 +5135,7 @@ Max HTLC + Макс. HTLC src/app/lightning/channel/channel-box/channel-box.component.html 64 @@ -5105,6 +5152,7 @@ channels + каналов src/app/lightning/channel/channel-box/channel-box.component.html 80 @@ -5117,6 +5165,7 @@ lightning channel + лайтнинг-канал src/app/lightning/channel/channel-preview.component.html 3,5 @@ -5125,6 +5174,7 @@ Inactive + Неактивный src/app/lightning/channel/channel-preview.component.html 10,11 @@ -5141,6 +5191,7 @@ Active + Активный src/app/lightning/channel/channel-preview.component.html 11,12 @@ -5157,6 +5208,7 @@ Closed + Закрыт src/app/lightning/channel/channel-preview.component.html 12,14 @@ -5177,6 +5229,7 @@ Created + Создан src/app/lightning/channel/channel-preview.component.html 23,26 @@ -5189,6 +5242,7 @@ Capacity + Объем src/app/lightning/channel/channel-preview.component.html 27,28 @@ -5261,6 +5315,7 @@ Lightning channel + Лайтнинг-канал src/app/lightning/channel/channel.component.html 2,5 @@ -5273,6 +5328,7 @@ Last update + Последнее обновление src/app/lightning/channel/channel.component.html 33,34 @@ -5305,6 +5361,7 @@ Closing date + Дата закрытия src/app/lightning/channel/channel.component.html 37,38 @@ -5317,6 +5374,7 @@ Opening transaction + Транзакция открытия src/app/lightning/channel/channel.component.html 73,74 @@ -5325,6 +5383,7 @@ Closing transaction + Транзакция закрытия src/app/lightning/channel/channel.component.html 82,84 @@ -5333,6 +5392,7 @@ Channel: + Канал: src/app/lightning/channel/channel.component.ts 37 @@ -5348,6 +5408,7 @@ No channels to display + Нет каналов для отображения src/app/lightning/channels-list/channels-list.component.html 29,35 @@ -5356,6 +5417,7 @@ Alias + Псевдоним src/app/lightning/channels-list/channels-list.component.html 35,37 @@ -5392,6 +5454,7 @@ Status + Статус src/app/lightning/channels-list/channels-list.component.html 37,38 @@ -5400,6 +5463,7 @@ Channel ID + ID канала src/app/lightning/channels-list/channels-list.component.html 41,45 @@ -5408,6 +5472,7 @@ sats + сат src/app/lightning/channels-list/channels-list.component.html 61,65 @@ -5460,6 +5525,7 @@ Avg Capacity + Средняя емкость src/app/lightning/channels-statistics/channels-statistics.component.html 13,15 @@ -5472,6 +5538,7 @@ Avg Fee Rate + Средняя комиссия src/app/lightning/channels-statistics/channels-statistics.component.html 26,28 @@ -5484,6 +5551,7 @@ The average fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm + Средняя комиссия, взимаемая узлами маршрутизации, без учета ставок комиссии > 0,5% или 5000 ppm. src/app/lightning/channels-statistics/channels-statistics.component.html 28,30 @@ -5492,6 +5560,7 @@ Avg Base Fee + Средняя базовая комиссия src/app/lightning/channels-statistics/channels-statistics.component.html 41,43 @@ -5504,6 +5573,7 @@ The average base fee charged by routing nodes, ignoring base fees > 5000ppm + Средняя базовая комиссия, взимаемая узлами маршрутизации, без учета базовых комиссий > 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html 43,45 @@ -5512,6 +5582,7 @@ Med Capacity + Медианныйобъем src/app/lightning/channels-statistics/channels-statistics.component.html 59,61 @@ -5520,6 +5591,7 @@ Med Fee Rate + Медианная комиссия src/app/lightning/channels-statistics/channels-statistics.component.html 72,74 @@ -5528,6 +5600,7 @@ The median fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm + Медианная комиссия, взимаемая узлами маршрутизации, без учета ставок комиссии > 0,5% или 5000 ppm. src/app/lightning/channels-statistics/channels-statistics.component.html 74,76 @@ -5536,6 +5609,7 @@ Med Base Fee + Медианная базовая комиссия src/app/lightning/channels-statistics/channels-statistics.component.html 87,89 @@ -5544,6 +5618,7 @@ The median base fee charged by routing nodes, ignoring base fees > 5000ppm + Медианная базовая комиссия, взимаемая узлами маршрутизации, без учета базовых комиссий > 5000 ppm src/app/lightning/channels-statistics/channels-statistics.component.html 89,91 @@ -5552,6 +5627,7 @@ Lightning node group + Группа лайтнинг-узлов src/app/lightning/group/group-preview.component.html 3,5 @@ -5564,6 +5640,7 @@ Nodes + Узлы src/app/lightning/group/group-preview.component.html 25,29 @@ -5604,6 +5681,7 @@ Liquidity + Ликвидность src/app/lightning/group/group-preview.component.html 29,31 @@ -5640,6 +5718,7 @@ Channels + Каналы src/app/lightning/group/group-preview.component.html 40,43 @@ -5700,6 +5779,7 @@ Average size + Средний размер src/app/lightning/group/group-preview.component.html 44,46 @@ -5712,6 +5792,7 @@ Location + Расположение src/app/lightning/group/group.component.html 74,77 @@ -5752,6 +5833,7 @@ Network Statistics + Статистика сети src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 10 @@ -5760,6 +5842,7 @@ Channels Statistics + Статистика каналов src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 24 @@ -5768,6 +5851,7 @@ Lightning Network History + История сети Лайтнинг src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 49 @@ -5776,6 +5860,7 @@ Liquidity Ranking + Рейтинг ликвидности src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 62 @@ -5792,6 +5877,7 @@ Connectivity Ranking + Рейтинг соединения src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 @@ -5804,6 +5890,7 @@ Percentage change past week + Процентное изменение за последнюю неделю src/app/lightning/node-statistics/node-statistics.component.html 5,7 @@ -5820,6 +5907,7 @@ Lightning node + Лайтнинг-узел src/app/lightning/node/node-preview.component.html 3,5 @@ -5836,6 +5924,7 @@ Active capacity + Активная емкость src/app/lightning/node/node-preview.component.html 20,22 @@ -5848,6 +5937,7 @@ Active channels + Активные каналы src/app/lightning/node/node-preview.component.html 26,30 @@ -5860,6 +5950,7 @@ Country + Страна src/app/lightning/node/node-preview.component.html 44,47 @@ -5868,6 +5959,7 @@ No node found for public key "" + Не найден узел для открытого ключа &quot; &quot; src/app/lightning/node/node.component.html 17,19 @@ -5876,6 +5968,7 @@ Average channel size + Средний размер канала src/app/lightning/node/node.component.html 40,43 @@ -5884,6 +5977,7 @@ Unknown + Неизвестно src/app/lightning/node/node.component.html 52,56 @@ -5904,6 +5998,7 @@ Color + Цвет src/app/lightning/node/node.component.html 75,77 @@ -5912,6 +6007,7 @@ ISP + Интернет-провайдер src/app/lightning/node/node.component.html 82,83 @@ -5924,6 +6020,7 @@ Exclusively on Tor + Исключительно Tor src/app/lightning/node/node.component.html 88,90 @@ -5932,6 +6029,7 @@ Open channels + Открытые каналы src/app/lightning/node/node.component.html 145,148 @@ -5940,6 +6038,7 @@ Closed channels + Закрытые каналы src/app/lightning/node/node.component.html 149,152 @@ -5948,6 +6047,7 @@ Node: + Узел: src/app/lightning/node/node.component.ts 42 @@ -5955,6 +6055,7 @@ (Tor nodes excluded) + (узлы Tor исключены) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html 8,11 @@ -5975,6 +6076,7 @@ Lightning Nodes Channels World Map + Мировая карта каналов лайтнинг-узлов src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -5982,6 +6084,7 @@ No geolocation data available + Данные геолокации недоступны src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 218,213 @@ -5989,6 +6092,7 @@ Active channels map + Карта активных каналов src/app/lightning/nodes-channels/node-channels.component.html 2,3 @@ -5997,6 +6101,7 @@ Indexing in progess + Индексирование в процессе src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 121,116 @@ -6008,6 +6113,7 @@ Reachable on Clearnet Only + Доступно только в Clearnet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 164,161 @@ -6019,6 +6125,7 @@ Reachable on Clearnet and Darknet + Доступно в Clearnet и Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 185,182 @@ -6030,6 +6137,7 @@ Reachable on Darknet Only + Доступно только в Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 206,203 @@ -6041,6 +6149,7 @@ Share + Поделиться src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html 29,31 @@ -6053,6 +6162,7 @@ nodes + узлы src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts 103,102 @@ -6068,6 +6178,7 @@ BTC capacity + Емкость BTC src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts 104,102 @@ -6075,6 +6186,7 @@ Lightning nodes in + лайтнинг-злы в src/app/lightning/nodes-per-country/nodes-per-country.component.html 3,4 @@ -6083,6 +6195,7 @@ ISP Count + Количество интернет-провайдеров src/app/lightning/nodes-per-country/nodes-per-country.component.html 34,38 @@ -6091,6 +6204,7 @@ Top ISP + Топ интернет-провайдеры src/app/lightning/nodes-per-country/nodes-per-country.component.html 38,40 @@ -6099,6 +6213,7 @@ Lightning nodes in + лайтнинг-узлы в src/app/lightning/nodes-per-country/nodes-per-country.component.ts 35 @@ -6106,6 +6221,7 @@ Clearnet Capacity + Емкость Clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 6,8 @@ -6118,6 +6234,7 @@ How much liquidity is running on nodes advertising at least one clearnet IP address + Сколько ликвидности в узлах, сообщающих хотя бы один IP-адрес на Clearnet src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 8,9 @@ -6126,6 +6243,7 @@ Unknown Capacity + Емкость неизвестна src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 13,15 @@ -6138,6 +6256,7 @@ How much liquidity is running on nodes which ISP was not identifiable + Сколько ликвидности в узлах, интернет-провайдер которых не удалось идентифицировать src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 15,16 @@ -6146,6 +6265,7 @@ Tor Capacity + Емкость Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 20,22 @@ -6158,6 +6278,7 @@ How much liquidity is running on nodes advertising only Tor addresses + Сколько ликвидности в узлах, сообщающих только адреса Tor src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 22,23 @@ -6166,6 +6287,7 @@ Top 100 ISPs hosting LN nodes + Топ-100 интернет-провайдеров, размещающих узлы LN src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 31,33 @@ -6174,6 +6296,7 @@ BTC + BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts 158,156 @@ -6185,6 +6308,7 @@ Lightning ISP + Лайтнинг интернет-провайдер src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html 3,5 @@ -6193,6 +6317,7 @@ Top country + Топ страна src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html 39,41 @@ -6205,6 +6330,7 @@ Top node + Топ узел src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html 45,48 @@ -6213,6 +6339,7 @@ Lightning nodes on ISP: [AS] + Лайтнинг-узлы у провайдера: [AS ] src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts 44 @@ -6224,6 +6351,7 @@ Lightning nodes on ISP: + Лайтнинг-узлы у провайдера: src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 2,4 @@ -6232,6 +6360,7 @@ ASN + ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 11,14 @@ -6240,6 +6369,7 @@ Top 100 oldest lightning nodes + Топ-100 самых старых узлов Lightning src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html 3,7 @@ -6248,6 +6378,7 @@ Oldest lightning nodes + Самые старые лайтнинг-узлы src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts 27 @@ -6255,6 +6386,7 @@ Top 100 nodes liquidity ranking + Топ-100 узлов по ликвидности src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html 3,7 @@ -6263,6 +6395,7 @@ Top 100 nodes connectivity ranking + Топ-100 узлов по подключению src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html 3,7 @@ -6271,6 +6404,7 @@ Oldest nodes + Самые старые узлы src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 36 @@ -6279,6 +6413,7 @@ Top lightning nodes + Топ лайтнинг-узлы src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts 22 @@ -6286,6 +6421,7 @@ Indexing in progress + Выполняется индексирование src/app/lightning/statistics-chart/lightning-statistics-chart.component.html 52,55