Skip to content
751 changes: 751 additions & 0 deletions locales/ar-001/ar-001.json

Large diffs are not rendered by default.

406 changes: 406 additions & 0 deletions locales/de-DE/de-DE.json

Large diffs are not rendered by default.

406 changes: 406 additions & 0 deletions locales/el-GR/el-GR.json

Large diffs are not rendered by default.

406 changes: 406 additions & 0 deletions locales/en-GB/en-GB.json

Large diffs are not rendered by default.

1,188 changes: 1,188 additions & 0 deletions locales/en-US/en-US.json

Large diffs are not rendered by default.

751 changes: 751 additions & 0 deletions locales/es-419/es-419.json

Large diffs are not rendered by default.

406 changes: 406 additions & 0 deletions locales/fa-AF/fa-AF.json

Large diffs are not rendered by default.

752 changes: 751 additions & 1 deletion locales/fr-FR/fr-FR.json

Large diffs are not rendered by default.

406 changes: 406 additions & 0 deletions locales/ha-NG/ha-NG.json

Large diffs are not rendered by default.

406 changes: 406 additions & 0 deletions locales/hi-IN/hi-IN.json

Large diffs are not rendered by default.

752 changes: 751 additions & 1 deletion locales/hu-HU/hu-HU.json

Large diffs are not rendered by default.

752 changes: 751 additions & 1 deletion locales/id-ID/id-ID.json

Large diffs are not rendered by default.

750 changes: 750 additions & 0 deletions locales/it-IT/it-IT.json

Large diffs are not rendered by default.

406 changes: 406 additions & 0 deletions locales/ja-JP/ja-JP.json

Large diffs are not rendered by default.

406 changes: 406 additions & 0 deletions locales/ko-KR/ko-KR.json

Large diffs are not rendered by default.

406 changes: 406 additions & 0 deletions locales/ms-MY/ms-MY.json

Large diffs are not rendered by default.

406 changes: 406 additions & 0 deletions locales/nl-NL/nl-NL.json

Large diffs are not rendered by default.

406 changes: 406 additions & 0 deletions locales/pcm-NG/pcm-NG.json

Large diffs are not rendered by default.

406 changes: 406 additions & 0 deletions locales/pl-PL/pl-PL.json

Large diffs are not rendered by default.

406 changes: 406 additions & 0 deletions locales/pt-BR/pt-BR.json

Large diffs are not rendered by default.

752 changes: 751 additions & 1 deletion locales/ro-RO/ro-RO.json

Large diffs are not rendered by default.

406 changes: 406 additions & 0 deletions locales/ru-RU/ru-RU.json

Large diffs are not rendered by default.

406 changes: 406 additions & 0 deletions locales/th-TH/th-TH.json

Large diffs are not rendered by default.

406 changes: 406 additions & 0 deletions locales/tl-PH/tl-PH.json

Large diffs are not rendered by default.

406 changes: 406 additions & 0 deletions locales/tr-TR/tr-TR.json

Large diffs are not rendered by default.

751 changes: 751 additions & 0 deletions locales/uk-UA/uk-UA.json

Large diffs are not rendered by default.

751 changes: 751 additions & 0 deletions locales/vi-VN/vi-VN.json

Large diffs are not rendered by default.

751 changes: 751 additions & 0 deletions locales/zh-CN/zh-CN.json

Large diffs are not rendered by default.

751 changes: 751 additions & 0 deletions locales/zh-TW/zh-TW.json

Large diffs are not rendered by default.

463 changes: 156 additions & 307 deletions utils/build-pages.js

Large diffs are not rendered by default.

89 changes: 89 additions & 0 deletions utils/data/import/merge-alternates.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
import fs from 'fs';
import path from 'path';

const localesDir = path.resolve('../../../locales');
const binanceDir = path.resolve('./ecosystem/binance-feb-2025');
const reportDir = path.resolve('./reports');

if (!fs.existsSync(reportDir)) {
fs.mkdirSync(reportDir, { recursive: true });
}

const localeFiles = fs.readdirSync(binanceDir).filter(file => file.endsWith('.json'));

localeFiles.forEach(file => {
const localeCode = file.replace('binance_glossary_', '').replace('.json', '');
const binanceFilePath = path.join(binanceDir, file);
const glossaryFilePath = path.join(localesDir, localeCode, `${localeCode}.json`);
const reportFilePath = path.join(reportDir, `merge_report_${localeCode}.txt`);

if (!fs.existsSync(glossaryFilePath)) {
console.warn(`Canonical glossary file for ${localeCode} not found, skipping.`);
return;
}

const binanceData = JSON.parse(fs.readFileSync(binanceFilePath, 'utf-8'));
const glossaryData = JSON.parse(fs.readFileSync(glossaryFilePath, 'utf-8'));

const binanceTerms = binanceData.terms;
const glossaryTerms = glossaryData.terms;

let addedTerms = [];
let skippedTerms = [];
let alternateAdded = [];

for (const [key, newEntry] of Object.entries(binanceTerms)) {
if (glossaryTerms[key]) {
const existingEntry = glossaryTerms[key];

// If the Binance definition is the same as the existing one, skip it
if (newEntry.definition) {
const existingDefinition = existingEntry.definition ? existingEntry.definition.trim() : "";
const binanceDefinition = newEntry.definition.trim();
const binanceSource = newEntry.definitionSource && newEntry.definitionSource.trim() !== ""
? newEntry.definitionSource
: "Binance Glossary"; // Only use URL if present

// Skip if the Binance definition is the same as the existing main definition
if (existingDefinition === binanceDefinition) {
skippedTerms.push(key);
continue;
}

// Ensure "alternate" is an array
if (!Array.isArray(existingEntry.alternate)) {
existingEntry.alternate = [];
}

// Check if the alternate definition is already present
const isAlreadyAlternate = existingEntry.alternate.some(
alt => alt.definition.trim() === binanceDefinition
);

if (!isAlreadyAlternate) {
existingEntry.alternate.push({
definition: binanceDefinition,
source: binanceSource // Only use actual source, not a default
});

alternateAdded.push(key);
}
}
}
}

// Write the updated glossary JSON back
fs.writeFileSync(glossaryFilePath, JSON.stringify(glossaryData, null, 2));

// Generate a new report
const reportContent =
`Terms skipped (definitions were identical) (${skippedTerms.length}):\n${skippedTerms.join(", ")}\n\n` +
`Terms added to 'alternate' (${alternateAdded.length}):\n${alternateAdded.join(", ")}\n\n` +
`New terms added (${addedTerms.length}):\n${addedTerms.join(", ")}`;

fs.writeFileSync(reportFilePath, reportContent);

console.log(`Merge complete for ${localeCode}.`);
console.log(`Updated glossary saved to ${glossaryFilePath}`);
console.log(`Report generated at ${reportFilePath}`);
});
9 changes: 6 additions & 3 deletions utils/data/import/reports/merge_report_en-US.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
Terms already existed and were skipped (419):
51%-attack, account, address, aggregator, air-gapping, airdrop, altcoin, appchain, asset-provenance, attestation, base-fee, block, block-height, block-reward, block-time, blockchain, blockchain-explorer, blockchain-trilemma, brain-wallet, bridge, buidl, byzantium-fork, centralized-exchange, cex, chain-id, client, coin, cold-storage, cold-wallet, confirmation, consensus, consensus-client, consensus-layer, consensus-mechanism, constantinople-fork, contract, contract-account, crypto-bounties, crypto-fund, crypto-wallet, crypto-, crypto-asset, crypto-compliance, cryptocurrency, cryptoeconomics, cryptography, dao, dapp, decentralization, decentralized-application, decentralized-autonomous-organization, decentralized-exchange, decentralized-finance, decentralized-web, defi, delegated-proof-of-stake-(dpos), denominations, derive, dex, difficulty, difficulty-bomb, digital-identity, digital-signature, distributed-ledger-technology, dlt, double-spend, ecosystem, eip-1559, encrypted-key, ens, epoch, erc, erc-1155, erc-20, erc-721, eth, ether, ethereum-2.0, ethereum-improvement-proposal, ethereum-mainnet, ethereum-name-service, ethereum-virtual-machine, evm, exchange, execution-client, execution-layer, faucet, finality, finality-rate, financial-technology, finney, fork, fractional-ownership, fraud-proof, full-node, gas, gas-fee, gas-limit, gas-price, genesis-block, gigawei, governance, gwei, halving, hard-fork, hardware-wallet, hash, hd-wallet, hot-storage, hot-wallet, hybrid-network, hyperledger, ico, id, immutability, internal-transaction, interoperability, kovan, layer-0, layer-1, layer-2, liquid-democracy, liquidity-pool, liquidity-staking, mainnet, maximum-priority-fee, memory-pool, mempool, merge, merkle-patricia-trie, mev, miner, miner-tip, mining, mint, mnemonic-phrase, modular-blockchain, multi-sig, multi-signature-wallet, nested-blockchain, network, network-congestion, nft, nft-aggregator, nft-drop, node, non-fungible-token, nonce, off-chain, off-ramp, ommer-block, on-chain, on-ramp, optimistic-rollup, passphrase, permission, permissioned-ledger, pki, poa, pos, pow, priority-fee, private-blockchain, private-currency, private-key, proof-of-stake, proof-of-work, protocol, public-address, public-blockchain, public-key, public-key-cryptography, relayer, rollups, rug-pull, satoshi-nakamoto, scalability, scaling, scrypt, secret-recovery-phrase, seed-phrase, self-custody, self-executing, serenity, serialization, shard-chain, sharding, shielded-transaction, sidechain, signature, slashing-condition, slippage, slot, smart-contract, soft-fork, stablecoin, stake, staking, state, state-channels, streaming, swap, szabo, testnet, testnet-kovan, testnet-rinkeby, testnet-ropsten, token, token-lockup, token-standard, transaction, transaction-block, transaction-fee, transaction-id, transaction-pool, trustless, tvl, txid, unencrypted-key, unspent-transaction-output, unstake, utxo, validator, validity-proof, wallet, wallet-address, web-3.0, web3, wei, wrapping, xpriv, xpub, yield-farming, yield-bearing-tokens, zero-address, zero-knowledge-proof, zero-knowledge-rollup, zk-snarks, ganache, infura, linea, mesh, metamask, metamask-flask, metamask-institutional, metamask-learn, metamask-swaps, portfolio, quorum, teku, truffle, villagedao, consensys, 0x-api, 1inch, 3box-labs, aave, agoric, airgap-vault, airswap, apple-pay, arbitrum, aurora, avalanche, avax, axie-infinity, banxa, beacon-chain, besu, binance, bitcoin, blockaid, bnb, bnb-chain, brave, btc, celo, chrome, codefi, coinbase-pay, coingecko, compound, coolwallet, cryptocompare, curve, d'cent, dai, devcon, diligence, edge, eea, ethereum, etherscan, fantom, firefox, ftm, gas-station-network, gitcoin, github, goerli, gsn, harmony, ibc, ipfs, lattice1, launchpad, ledger, ledger-live, ledger-live-app, lido, lightning-network, maker-protocol, matic, mercuryo, mobikwik, moonpay, ngrave, one, opensea, opera, optimism, oracle, palm, paraswap, paypal, plasma, polygon, rarible, rinkeby, rocket-pool, ropsten, safeheron, samsung-pay, sardine, sepolia, solidity, telegram, transak, trezor, uniswap, validium, walletconnect, websocket, wyre, ach-transfer, aml, custody, deposit, digital-asset, eur, fiat-currency, fintech, gbp, insider-trading, ipo, liquidation, liquidity, market-cap, peer-to-peer, scam, security-token, security-token-offering, sto, usd, vesting, know-your-customer, know-your-transaction, kyc, kyt, roadmap, 0xplain, 2fa, algorithm, api, asic, bounty, bytecode, byzantine-fault-tolerance, compile, ddos, dev, developer, encryption, entropy, fault-tolerant, firewall, firmware, hex-data, interplanetary-file-system-(ipfs), ip-address, json-file, json-rpc, keystore-file, latency, library, light-client, malware, metadata, metaverse, mfa, nfc, p2p, parity, password, password-manager, phishing, qr-code, remote-procedure-call, rpc, sandbox, sdk, search-engine, turing-complete, u2f, upgrade, url, webhid, webhook, whitepaper
Terms skipped (definitions were identical) (347):
absolute-advantage, active-management, actively-validated-services-avs, ad-hoc, all-or-none-order, all-time-high, allocation, alpha, angel-investor, anti-money-laundering, application-programming-interface, application-specific-integrated-circuit, arbitrage, arc-20, artificial-intelligence-ai, asic-resistant, asking-price, asset-management, assets-under-management-aum, asynchronous, atomic-swap, attack-surface, auction, automated-market-maker-amm, b-tokens, bags, bear-market, benchmark, bep-1155, bep-20, bep-721, bep-95, beta-coefficient, beta-release, bid-price, bid-ask-spread, binance-ecosystem-fund, binancian, bitcoin-core, bitcoin-dominance, bitcoin-maximalists, bitcoin-pizza, black-swan-event, block-explorer, block-header, binance-blockchain-charity-foundation, bloom-filter, blue-chip-token, bnb, bnsol, bollinger-bands, bond, brc-20-tokens, break-even-point, breakeven-multiple, breakout, bscscan, btc-wallet-address, bull-market, burner-wallet, buy-wall, candidate-block, candlestick, capitulation, censorship-resistance, central-bank, central-bank-digital-currency-cbdc, central-processing-unit, centralized, chatgpt, cipher, circulating-supply, cloud, collateral, colocation, commodity-futures-trading-commission, compound-interest, confirmation-time, confluence, consensus-algorithm, consumer-price-index-(cpi), contango-and-backwardation, copy-trading, counterparty-risk, credentials, cross-chain-bridges, crypto-etfs, crypto-fear-and-greed-index, crypto-protocol, crypto-winter, daemon, danksharding, dead-cat-bounce, death-cross, decentralized-autonomous-cooperative, decentralized-indexes, decryption, deep-web, delisting, depeg, depression, design-flaw-attack, diamond-hands, direct-market-access-dma, divergence, diversification, do-your-own-research, dollar-cost-averaging, dot-plot, double-spending, eclipse-attack, efficient-market-hypothesis-emh, eigenlayer, eip, eip-3074, eip-4844, eip-7251, eip-7702, elasticity, endogenous-variable, erc-404, etf, ethereum-classic, ethereum-foundation, ethereum-virtual-machine-evm, exogenous-variable, exponential-moving-average-ema, externally-owned-account-eoa, fakeout, falling-knife, fan-tokens, fear-of-missing-out, fear-uncertainty-and-doubt, fiat, fibonacci-retracement, fill-or-kill-order, first-mover-advantage, fiscal-policy, flappening, flashbots, flippening, flow-variable, forced-liquidation, forex-fx, formal-verification, fren, fully-diluted-valuation-fdv, fundamental-analysis, funding-fees, fungibility, futures-contract, gamefi, gdp-deflator, general-public-license, gm-good-morning, golden-cross, golden-ratio, goldilocks, gossip-protocol, gross-domestic-product-gdp, hackathon, hacker, haha-money-printer-go-brrrrr, hard-cap, hard-landing, hash-rate, hashed-timelock-contract, herd-instinct, high-frequency-trading-hft, hodl, honeypot, iceberg-order, index-funds, initial-coin-offering, initial-dex-offering-ido, initial-exchange-offering, initial-public-offering, inscription, integrated-circuit, interest-rates, interplanetary-file-system-ipfs, iou, isolated-margin, issuance, keccak, laspeyres-index, law-of-demand, ledger, leveraged-tokens, limit-order, linux, liquid-staking, liquid-staking-token-lst, liquidity-crisis, liquidity-provider, liquidity-ratios, listing, mainnet-swap, maker, margin-trading, market-capitalization, market-momentum, market-order, masternode, matching-engine, maximum-supply, merged-mining, merkle-tree, microtransactions, mining-farm, monetary-policy, money-markets, monitoring-tag, moon, moving-average-envelopes, moving-average-ribbon, mt-gox, multisignature, nakamoto-consensus, net-asset-value-nav, nft-floor-prices, nft-mystery-boxes, ngmi, non-fungible-token-nft, oco-order, offline-signing-orchestrator-oso, offshore-account, opbnb, open-source-software-oss, opportunity-cost, orc-20-tokens, order-book, ordinals, orphan-block, pancakeswap, paper-wallet, parallelization, passive-management, peer-to-peer, pegged-currency, permissionless-blockchain, polkadot-crowdloan, ponzi-scheme, premining, price-action, prisoners-dilemma, private-sale, progressive-web-application, proof-of-attendance-protocol-poap, proof-of-reserves-por, proof-of-staked-authority-posa, proposer-builder-separation-pbs, proto-danksharding, pseudorandom, pump-and-dump, quantitative-easing-qe, quantitative-tightening-qt, quantum-computing, race-attack, ransomware, real-world-assets-rwas, recession, recursive-inscription, rekt, relative-strength-index, resistance, return-on-investment, revenge-trading, risk-premium, routing-attack, sahm-rule, sandwich-trading, satoshi, secure-asset-fund-for-users, securities-and-exchange-commission, security-audit, security-token-offering-sto, seed-tag, segregated-witness, selfish-mining, sell-wall, sentiment, sharpe-ratio, sidechains, simple-moving-average-sma, slashing, smart-contract-wallet, snapshot, social-recovery-wallet, social-trading, socialfi, soft-landing, source-code, spl, src-20-tokens, stagflation, staking-pool, state-channel, steth, stock-variable, store-of-value, supercomputer, supply-chain, support, sybil-attack, taker, tank, ticker, ticker-symbol, token-generation-event-tge, token-merge, token-sale, token-standards, tokenization, tokenomics, total-supply, total-value-locked-tvl, tradfi, transactions-per-second-tps, treasury-bills-t-bills, trueusd-tusd, understanding-cz-s-number-4, unit-of-account, unspent-transaction-output-utxo, user-interface, utility-token, verification-code, virtual-machine, vladimir-club, volatility, volume, wagmi, wash-trading, weak-hands, weak-subjectivity, web-1, weighted-moving-average-wma, whale, whiskers, whitelist, wick, win-rate, wrapped-ether, wyckoff, zero-knowledge-proofs, zk-rollup, zk-starks

Terms added (0):
Terms added to 'alternate' (85):
address, airdrop, algorithm, altcoin, beacon-chain, bitcoin, block, block-height, block-reward, blockchain, bounty, buidl, centralized-exchange, coin, cold-storage, cryptocurrency, cryptography, custody, decentralized-application, decentralized-autonomous-organization, decentralized-exchange, difficulty, difficulty-bomb, digital-signature, encryption, erc-1155, erc-20, erc-721, exchange, finality, fork, fraud-proof, full-node, gas, gas-limit, genesis-block, github, gwei, halving, hash, immutability, interoperability, know-your-customer, latency, layer-2, library, lightning-network, liquidity, mainnet, malware, mempool, metadata, metaverse, mining, mint, node, nonce, off-chain, on-chain, oracle, phishing, plasma, private-key, proof-of-stake, proof-of-work, public-key, roadmap, rug-pull, satoshi-nakamoto, seed-phrase, sharding, slippage, smart-contract, solidity, stablecoin, testnet, token, token-lockup, transaction-id, trustless, turing-complete, wallet, wei, yield-farming, zk-snarks

New terms added (0):
Loading