@fordefi/crypto-address-validator-ts (中文(简体) )
比特币和其他代币的加密地址验证器, 以 类型脚本这是福德菲的叉子, 用于福德维产品.
发表于 @fordefi/crypto-address-validator-ts。存在两个相关名称,并且 没有 这个
软件包 :
@fordefi-public/crypto-address-validator-ts——本分叉的上个名称,自去去去 0.6.0 (英语).crypto-address-validator-ts(未瞄准)——这是从上游项目开始的. 这是一个 不同的,老套装.
分叉血统
已停用tzombie/比特币地址 (罗马·什蒂尔曼) → ryanralph/ altcoin 地址 → 克里斯蒂姆/多货币地址核证人 → 马尔库兰/crypto地址-验证人-ts → arnac-io/crypto地址验证器
麻省理工全程获得许可;版权通知由罗曼·什蒂尔曼(Roman Shtylman)出自. 见 与上游的差异 这叉子变了什么 变动情况 为发行历史.
安装
npm install @fordefi/crypto-address-validator-ts
要求数 节点.js >= 20.19。包件船 通用JS 和在节点和捆绑器中工作 (webpack,Vite, Esbuilt, Rollup). 维特, 维特, Esbuild, Rollup.
API 密码
命名的进口是API——没有默认出口.
import { validate, getCurrencies, findCurrency } from '@fordefi/crypto-address-validator-ts';
import type { AddressType, Currency, Options } from '@fordefi/crypto-address-validator-ts';
validate(address, currencyNameOrSymbol, opts?)
address——钱包地址验证.currencyNameOrSymbol——货币名称或符号等.'bitcoin', (中文(简体) ),'litecoin'或者说'LTC'(大小写不敏感). 见 支持货币。 。 。 .opts- 可选;Options | null放弃(或通过)null)用于默认行为.
回返
true如果地址是该货币的有效钱包地址. 掷出Missing validator for currency: <symbol>如果货币不明.
interface Options {
networkType?: 'prod' | 'testnet' | 'both' | 'stagenet';
chainType?: string;
}
两个字段都是可选的 opts 本身可能被省略或 null。缺席 networkType
表现为 'prod'· ; 'both' 执行两个网络; 'stagenet' 只有摩尼罗. chainType
仅由 USDT 校验器读取,以便在 ERC-20 和 Omni 表格中选择
货币忽略它, 它被键入 string 因此,呼叫者可以通过自己的链式识别符.
validate() 返回时 false 空或废 address。它只抛出一个未知的
货币; 使用 findCurrency() 测试支持而不扔.
getCurrencies()
回返
Currency[]每一个支持货币.
findCurrency(symbol)
返回匹配
Currency,或null如果该符号不支持。 与validate(), (中文(简体) ), 这不扔.
支持的加密货币
- 0x/兹尔克
'0x'或者说'zrx' - 1英寸网络/英寸
'1inch Network'或者说'1inch'erc-20 验证无 bep-20、xdai或雪崩 c-链 - 爱因/爱因
'Aave Coin'或者说'aave' - Aavegotchi/ghst (英语)
'Aavegotchi'或者说'ghst' - 弹出/出纸
'Amp'或者说'amp' - 阿拉贡/南特
'Aragon'或者说'ant' - 阿尔法财务实验室/阿尔法
'Alpha Finance Lab'或者说'alpha'仅 erc-20 验证 无 bep-20 - 奥迪乌斯/奥迪奥
'Audius'或者说'audio' - 奥古尔/雷普
'Augur'或者说'rep' - 奥古尔V2/repv2
'AugurV2'或者说'repv2' - 奥罗拉-科因/ur
'AuroraCoin'或者说'aur' - 轴无限/轴
'Axie Infinity'或者说'axs' - 恶棍 DAO/恶棍
'Badger DAO'或者说'badger' - 结余/bal
'Balancer'或者说'bal' - 银行/银行
'Bancor'或者说'bnt' - 带状协议/带状
'Band Protocol'或者说'band'仅 erc-20 验证无 bep-20, xdai 或 fantom - 银行ex/bkx
'Bankex'或者说'bkx' - 基本注意/战斗
'Basic Attention Token'或者说'bat' - 海狸科因/bvc
'BeaverCoin'或者说'bvc' - 宾斯·克因主网/bnb
'Binance Coin Mainnet'或者说'bnb' - 生物币/生物
'BioCoin'或者说'bio' - 比特币/btc
'Bitcoin'或者说'btc' - 比特币 SV/bsv
'Bitcoin SV'或者说'bsv' - 比特币卡/bch
'BitcoinCash'或者说'bch' - 比特币金币/btg
'BitcoinGold'或者说'btg' - 比特币 私人/btcp
'BitcoinPrivate'或者说'btcp' - 比特币Z/btcz
'BitcoinZ'或者说'btcz' - 块贸易/btt
'BlockTrade'或者说'btt' - 布卢泽尔/布卢兹
'Bluzelle'或者说'blz' - BTU 议定书/附件
'BTU Protocol'或者说'btu' - bZx 协议/bzrx
'bZx Protocol'或者说'bzrx' - 卡利斯托/克罗
'Callisto'或者说'clo' - 卡多诺/达达
'Cardano'或者说'ada' - 笛卡尔/克西
'Cartesi'或者说'ctsi'仅 erc-20 验证无 bep-20、多边形或雪崩 c-链 - 摄氏/摄氏度
'Celsius'或者说'cel' - 奇利兹/奇利兹
'Chiliz'或者说'chz'仅 erc-20 验证 无 bep-20 - 链路/链路
'Chainlink'或者说'link' - 公民/简历c
'Civic'或者说'cvc' - 化合物/化合物
'Compound'或者说'comp' - 奶油财务/奶油
'Cream Finance'或者说'cream'仅 erc-20 验证无 bep-20, xdai 或 fantom - 克莱德/伊巴
'Cred'或者说'lba' - Crypto.com 阴道/阴道
'Crypto.com Coin'或者说'cro' - 曲线 DAO 托肯/简历
'Curve DAO Token'或者说'crv' - 美元/利息
'CUSD'或者说'cusd' - 盘/盘
'Dash'或者说'dash' - 权力下放/管理
'Decentraland'或者说'mana' - 死亡/伤员
'Decred'或者说'dcr' - 登入/缩入
'Dent'或者说'dent' - 数字键/ dgb
'DigiByte'或者说'dgb' - 区/区
'District0x'或者说'dnt' - 多吉币/狗
'DogeCoin'或者说'doge', (中文(简体) ), - dYdX/ dydx 数据
'dYdX'或者说'dydx' - 简便Fi/ez
'EasyFi'或者说'ez' - 无限托肯/efi
'Efinity Token'或者说'efi' - Enjin Coin/ enj (英语)
'Enjin Coin'或者说'enj' - 酶/毫升
'Enzyme'或者说'mln' - EOS/eos 系统
'EOS'或者说'eos' - 时间/时间
'Ethereum'或者说'eth' - 乙型六氯环己烷/乙型六氯环己烷
'EthereumClassic'或者说'etc' - Ethereum 名称服务
'Ethereum Name Service'或者说'ens' - 道德链/永久
'Ethernity Chain'或者说'ern' - 以太过/etz
'EtherZero'或者说'etz' - 离职/离职
'Expanse'或者说'exp' - 电子雷达/外部
'e-Radix'或者说'exrd' - 扇形/相机
'Fantom'或者说'ftm' - FirmaChain/fct (中文(简体) )
'FirmaChain'或者说'fct' - 弗赖因/弗赖克
'FreiCoin'或者说'frc' - FTX 托肯/ftt
'FTX Token'或者说'ftt' - 风琴/风琴
'FUNToken'或者说'fun' - 游戏认证/游戏
'GameCredits'或者说'game' - 加里·科因/克勒克
'GarliCoin'或者说'grlc' - 克诺斯/克诺
'Gnosis'或者说'gno' - 无链/神
'Gods Unchained'或者说'gods' - 戈莱姆/克拉姆
'Golem'或者说'glm' - Golem (GNT)/gnt (日语)
'Golem (GNT)'或者说'gnt' - 高端贸易/高端贸易
'HedgeTrade'或者说'hedg' - 高血压/高血压
'Hegic'或者说'hegic' - 喜/热
'Holo'或者说'hot'只确认 erc-20 无 xdai - 嘘/嘘
'Hush'或者说'hush' - 超空间/ xsc
'HyperSpace'或者说'xsc' - ICON/icx 数据
'ICON'或者说'icx' - iExec RLC/rlc 数据
'iExec RLC'或者说'rlc' - 不可移动 X/imx
'Immutable X'或者说'imx' - 铝/铝
'Illuvium'或者说'ilv' - 注射剂/注射剂
'Injective'或者说'inj' - 印度洋金枪鱼/海洋
'IOTA'或者说'miota' - 科莫多/克姆德语
'Komodo'或者说'kmd' - 守护者DAO/驱动器
'KeeperDAO'或者说'rook' - Kyber 网络 Crystal v2/ knc
'Kyber Network Crystal v2'或者说'knc' - LBRY 信贷/lbc
'LBRY Credits'或者说'lbc' - 低地轨道/低地轨道
'UNUS SED LEO'或者说'leo' - 立书/立书
'Lisk'或者说'lsk' - 立特币/立特克
'LiteCoin'或者说'ltc' - 循环/弧
'Loopring'或者说'lrc' - 网间/室间
'Loom Network'或者说'loom' - 制造商/mkr
'Maker'或者说'mkr' - 马林/平地
'Marlin'或者说'pond' - 火柴池/黄金
'Matchpool'或者说'gup' - 数学/数学
'Matic'或者说'matic' - 巨型币/巨型币
'MegaCoin'或者说'mec' - 金属/毫升
'Melon'或者说'mln' - 金属/公吨
'Metal'或者说'mtl' - 镜像协议/镜像
'Mirror Protocol'或者说'mir'仅限 erc-20 验证无 bep-20 或 terra - 莫纳科因/莫纳
'MonaCoin'或者说'mona' - 单人/xmr
'Monero'或者说'xmr' - 多担保代号DAI/dai
'Multi-collateral DAI'或者说'dai' - 我的邻居爱丽丝/爱丽丝
'MyNeighborAlice'或者说'alice'仅 erc-20 验证 无 bep-20 - 名称Coin/nmc
'NameCoin'或者说'nmc' - 尼姆/闪电
'Nem'或者说'xem' - 尼欧/尼欧
'Neo'或者说'neo' - 新气体/气体
'NeoGas'或者说'gas' - 努梅雷尔/恩姆尔
'Numeraire'或者说'nmr' - 海洋议定书/海洋
'Ocean Protocol'或者说'ocean' - 奥德赛/奥辛
'Odyssey'或者说'ocn' - OKB/okb 数据
'OKB'或者说'okb' - 办公室/办公室
'OmiseGO'或者说'omg' - 兰花/牛
'Orchid'或者说'oxt' - 原产地议定书/
'Origin Protocol'或者说'ogn' - 猎户座议定书/orn
'Orion Protocol'或者说'orn' - 和平会/蜡笔会
'Paxos'或者说'pax' - 珍珠/皮尔
'Pearl'或者说'pearl' - 同行币/ppc
'PeerCoin'或者说'ppc' - 永久协议/perp
'Perpetual Protocol'或者说'perp' - 法拉网络/法
'Phala Network'或者说'pha' - PIVX/pivx (中文(简体) )
'PIVX'或者说'pivx' - 波尔克多/点
'Polkadot'或者说'dot' - 聚氨酯/聚氨酯
'Polymath'或者说'poly' - 主干/平时
'PrimeCoin'或者说'xpm' - 原生股/笔
'ProtoShares'或者说'pts' - 庞迪X/平迪克斯
'Pundi X'或者说'pundix' - 类/类
'Qtum'或者说'qtum' - 数量/数量
'Quant'或者说'qnt' - 问号/qsp
'Quantstamp'或者说'qsp' - 量子阻断器
'Quantum Resistant Ledger'或者说'qrl' - 雷顿网络托肯/德恩
'Raiden Network Token'或者说'rdn' - 可读/rari
'Rarible'或者说'rari' - 珊瑚礁/珊瑚礁
'Reef'或者说'reef' - 储备权利/rr
'Reserve Rights'或者说'rsr' - 里皮奥信贷网络/cn
'Ripio Credit Network'或者说'rcn' - 盐/盐
'Salt'或者说'salt' - 自动键/ 键
'Selfkey'或者说'key' - 血清/湿度
'Serum'或者说'srm' - 服务/服务
'Serve'或者说'serv' - SHIBA INU/ shib (英语)
'SHIBA INU'或者说'shib' - 西亚币/克
'Siacoin'或者说'sc' - Singularity NET/agix 网络
'SingularityNET'或者说'agix' - SKALE 网络/skl
'SKALE Network'或者说'skl' - 斯诺格姆/升
'SnowGem'或者说'sng' - 太阳币/ slr
'SolarCoin'或者说'slr' - 索拉纳/索尔
'Solana'或者说'sol' - 溶液/溶液
'SOLVE'或者说'solve' - 消耗币/泉水
'Spendcoin'或者说'spnd' - 状况/状况
'Status'或者说'snt' - 斯托克/上层
'Storj'或者说'storj' - 风暴/风暴
'Storm'或者说'storm' - 风暴X/stmx
'StormX'或者说'stmx' - 流体/数据
'Streamr'或者说'data' - 苏希·斯瓦普/苏希
'SushiSwap'或者说'sushi', (中文(简体) ), - 超级引信/超级
'SuperFarm'或者说'super'仅 erc-20 验证无 bep-20 或多边形 - 超径/稀有
'SuperRare'或者说'rare' - 沼泽城市/县
'Swarm City'或者说'swt' - 刷号/sxp
'Swipe'或者说'sxp' - 合成网络/ snx
'Synthetix Network'或者说'snx' - 磁带/ xtp
'Tap'或者说'xtp' - TEMCO/腾克
'TEMCO'或者说'temco' - 电话/电话
'Tellor'或者说'trb' - TenX/付费
'TenX'或者说'pay' - 系绳/系绳
'Tether'或者说'usdt' - 铁道科利克/tvk
'Terra Virtua Kolect'或者说'tvk' - 特佐斯/克兹
'Tezos'或者说'xtz' - 图表/图表
'The Graph'或者说'grt' - 沙盒/沙滩
'The Sandbox'或者说'sand' - 现金/被毁坏
'Tornado Cash'或者说'torn' - 特龙/特克斯
'Tron'或者说'trx' - 实值/实值
'TrueUSD'或者说'tusd' - 超度/单位
'Ultra'或者说'uos' - 单相/单相
'Uniswap Coin'或者说'uni' - 普遍市场准入/市场
'Universal Market Access'或者说'uma' - 硬币/美元c
'USD Coin'或者说'usdc' - 韦钱/韦特
'VeChain'或者说'vet' - 韦特币/vtc
'VertCoin'或者说'vtc' - 频率/月度
'Verasity'或者说'vra' - 输血/阴道
'Viberate'或者说'vib' - VIDT 数据链接/视频
'VIDT Datalink'或者说'vidt' - 选票/选票
'VoteCoin'或者说'vot' - 波/波
'Waves'或者说'waves' - 翼/翼
'Wings'或者说'wings' - 环绕 Nexus 互通/wnxm
'Wrapped Nexus Mutual'或者说'wnxm' - ZCash/zec 数据
'ZCash'或者说'zec' - 年. 金融/网易
'yearn.finance'或者说'yfi' - 义尔德公会运动会/比赛
'Yield Guild Games'或者说'ygg' - ZClassic/zCl 数据
'ZClassic'或者说'zcl' - Zen/zen
'ZenCash'或者说'zen'
使用量
// TypeScript / ESM
import { validate } from '@fordefi/crypto-address-validator-ts';
validate('1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa', 'bitcoin', null); // true
validate('0x1111111111111111111111111111111111111111', 'eth', null); // true
validate('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'btc', { networkType: 'testnet' });
// CommonJS
const { validate } = require('@fordefi/crypto-address-validator-ts');
validate('1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa', 'bitcoin', null); // true
框架实例
角指令
import {Directive, Input} from '@angular/core';
import {AbstractControl, NG_VALIDATORS, ValidationErrors, Validator} from '@angular/forms';
import { validate } from '@fordefi/crypto-address-validator-ts';
@Directive({
selector: '[ccyCode]',
providers: [{provide: NG_VALIDATORS, useExisting: CryptoAddressValidationDirective, multi: true}]
})
export class CryptoAddressValidationDirective implements Validator {
//For example BTC
@Input() public ccyCode: string;
public validate(field: AbstractControl): ValidationErrors | null {
if (!validate(field.value, this.ccyCode, null)) {
return {messageCode: 'Invalid bitcoin address'};
}
return null;
}
}
HTML 语言
<input id="address"
[ccyCode]="currency">
与上游的差异
相对 crypto-address-validator-ts 0.5.11,这个分叉的点不同. 见
变动情况 每一个释放的细节.
已添加
- 索拉纳 (单位:千美元)
sol地址验证. - 珍珠 (单位:千美元)
pearl地址验证——Bech32,HRPprl在主网和tprl在测试网. Currency财务报告和审定财务报表Options从软件包根导出.
已更改
- 现按
@fordefi/范围. - 建筑的发射 常见JS,所以包装在节点和捆绑器中。 释放 排放了节点无法解决的无害环境管理,排放了0.5.12-0.5.14 AMD.
validate()第三个参数接受null。 。 。 .Options.chainType这是可选的——只为USDT查阅.- 索拉纳通过基数58解码地址验证,需要32字节,而不是通过
构建一个
@solana/web3.jsPublicKey行为不变,依赖性已不复存在. - 只有包根可以导入 。 深度进口,例如
@fordefi/crypto-address-validator-ts/dist/validators/...不属于公共API. - 需要节点.js >= 20.19.
删除
- 默认导出 . 使用命名导入 .
- 连线( R)
xrp),"婴儿快餐"(取自:babyxrp),斯特拉尔(xlm),纳诺(nano和雷布洛克斯(xrb) (中文(简体) ). 其验证器于0.5.20被删除.validate()掷出Missing validator for currency: <symbol>将悄悄地打破的改变 代码从上游迁移。 使用findCurrency(symbol)在不丢弃的情况下测试支持.
发展
npm ci
npm run build # tsc -> dist/
npm test # runs the suite twice: against src, then against the built dist
npm run lint:pkg # publint + @arethetypeswrong/cli against a packed tarball
npm run lint:dead # knip (see knip.jsonc)
npm run lint:docs # the currency list below must match src/currencies.ts
npm run test:pack # installs the packed tarball into a temp project and loads it
CI在20.19、22、24和26号节点运行上述所有设备.
剧本假设 POSIX 外壳(test:dist 用途 env和烟雾试验弹
npm 财务报告和审定财务报表 tar) (中文(简体) ).
释放
弹出 version 内 package.json 更新 CHANGELOG.md 在同一拉动请求中。 合并后,
CI 运行 master;一旦CI通过,释放工作比较 package.json'npm的版本对npm
登记和——如果该版本尚未公布——运行全门、出版、标记承诺
v<version> 并打开 GitHub 释放.
决定是注册状态,而不是一个版本 diff : 如果 先前的尝试使当前版本未公布。 版本打开后, 任何内容都不会被公布 登记.
出版使用 npm 信任的出版(OIDC),所以没有 npm 令牌存储在这个寄存器中以及 来源证明是自动生成的。 释放工作在CI通过后才开始 对于同样的承诺.
一次性设置
此寄存器中没有三种设置, 必须由有管理员的人应用 :
- A 类 信任的出版商 页:1
@fordefi/crypto-address-validator-ts在 npmjs.com 上——供应商 GitHub 动作,这个重播,工作流程release.yml,允许操作npm publish在它存在之前 发布步骤失败 . - 关于《京都议定书》
release环境.release.yml声明environment: release,但是没有保护规则的环境被隐含地创建在 在审查人员配置之前master实值 相当于发布访问. - 部门保护
master需要四个verify检查,所以无法发布 由绕过CI的推力所触发.
第一次出版之后
以0.6.0取代名称:
npm deprecate "@fordefi-public/crypto-address-validator-ts@*" "moved to @fordefi/crypto-address-validator-ts"
npm deprecate "@fordefi/crypto-address-validator-ts@<0.6.0" "not loadable by Node; upgrade to >=0.6.0"
第二个很重要,因为一个护身符范围 0.x 版本给小号打针 : ^0.5.18 永远不会
决 议 0.6.0,所以现有的受抚养人必须手动改变范围才能得到固定.