在 Tangem Wallet 中管理派生路径全指南

Author logo
Patrick Dike-Ndulue
Post image

当你从支持多账户的第三方钱包导入助记词时(即每次转账后会为同一币种生成新地址的钱包),你通常只能看到第一个地址的余额——而这个地址的余额可能为 0。

要解决这个问题,你需要创建一个自定义代币,并使用与导入助记词的钱包相同的派生路径。

 

什么是派生路径?

派生路径指的是通过主种子或根密钥,按照一组数字和斜杠(/)组成的路径,生成特定地址或公钥的过程。

派生路径构建出类似树状的结构,每一级对应一个新的密钥对。路径决定了要生成的密钥对所在的分支。

这样,你可以通过一个主种子生成多个地址和密钥,便于针对不同用途或账户统一管理和组织地址。

例如,派生路径 "m/44'/0'/0" 表示:从主种子(m)开始,依次经过 44'(加固密钥)、0'(加固密钥)、0(普通密钥)这几级,最终生成特定地址。

常见的派生路径结构如下:

m/purpose'/coin_type'/account'/change/address_index
  • m: 代表主密钥(或根密钥)
     
  • Purpose: 该字段由 BIP43 引入,用于指定派生路径的标准。例如 044 代表默认的 BIP44 P2PKH / ‘1’ legacy 地址,45 代表 BIP45 多方多签钱包(提案),47 代表 BIP47 可复用支付码(草案),48 代表硬件多签钱包(暂无 BIP 或标准),49 代表 BIP49 P2WPKH-nested-in-P2SH / ‘3’ SegWit 地址,84 代表 BIP84 P2WPKH / ‘bc1’ 原生 SegWit 地址。 

Tangem Wallet supports only Legacy BIP44 (P2PKH) and SegWit BIP84, (P2WPKH).

  • Coin type: 指定多币种钱包中所用的加密货币类型。所有币种(包括测试网比特币)都有固定编号。例如,Hedera (HBAR) 账户的派生路径为 m/44'/3030'BIP45 会将此级定义为“Cosigner Index”。
     
  • Account: 在多账户钱包中,该字段用于区分不同的资金用途(如储蓄、捐赠等)。注意:BIP45 不包含此字段,BIP47 则定义为“Identity”,与“Account”作用相同。
     
  • Change: 若为 0,表示“外部链”(常规)地址;若为 1,表示“内部链”或找零地址。注意:BIP47 在此级用于通知密钥和临时支付码。
     
  • Address Index: 表示同一账户下的具体地址序号。

 

“Account”和“Address Index”均从 0 开始计数。这类似于欧洲建筑的“0 层”概念(而美国通常从 1 层计),即采用零起始编号

举例:如果你有一个符合 BIP44 标准的比特币钱包,想要找到第三个账户下的第二个找零地址,其派生路径为:m/44'/0'/2'/1/1

 

以下是基于上述信息整理的比特币路径格式表:

格式

派生路径

地址前缀

说明

Legacy (P2WSH)

m/44'/0'/0'/0/*

"1"

兼容所有比特币钱包和交易所。

嵌套 Segwit (P2SH-P2WSH)

m/49'/0'/0'/0/*

"3"

比 Legacy 地址安全性更高,交易手续费更低。

原生 Segwit (P2WSH)

m/84'/0'/0'/0/*

"bc1"

最高效且安全的比特币地址格式,节省成本并提升安全性。

Taproot (P2TR)

了解更多 Taproot 地址
m/86'/0'/0'/*"bc1p"采用 Schnorr 签名,提供更高安全性、更低费用和更灵活的多密钥交易

 

哪些区块链需要指定派生路径?

部分区块链采用 UTXO(未花费交易输出)模型,每笔入账都会生成新地址。UTXO 是一次加密货币交易后剩余的币额,UTXO 模型让用户能追踪所有加密货币的所有权。要获取其派生路径,你需要找到该区块链的 XPUB 密钥,以便自动导入所有交易。

采用 UTXO 模型的区块链示例:

  • Bitcoin
  • Bitcoin Cash
  • BitcoinGold
  • Dash
  • DigiByte
  • Dogecoin
  • Dash
  • Kaspa
  • Litecoin

每条区块链的 xpub 密钥都不同,因此你需要分别为每个资产导出。

如何通过派生路径导入钱包

如果你用助记词导入钱包后,发现部分代币余额为零或缺失,可能是这些代币地址采用了不同的派生路径,而 Tangem 不支持这种路径。以下以 Bitcoin 为例,介绍解决方法:

 

1. 从原钱包获取派生路径
 

大多数加密钱包会在 XPUB 文件中提供代币地址的派生路径。你可以在钱包设置中找到 XPUB 文件,或查阅钱包开发者/厂商的文档与指南,通常会有关于派生路径或密钥管理的说明。

以下是根据不同钱包获取 xpub 密钥的示例:

Trezor

Trezor Suite derivation path.webp
  • 连接 Trezor 钱包,打开 Trezor Suite 桌面或网页版应用。
  • 在侧边栏选择目标账户。
  • 点击 Details 选项卡,复制派生密钥 m/84'/0'/0。

 

Ledger:

xpub ledgeer.png
  • 打开你想获取 xpub 的账户。
  • 点击扳手图标。
  • Edit Account 窗口展开 Advanced Logs 部分。
  • 查找并复制显示的地址路径,如 "44'/0'/0'/0'/1。
     

Kaspa

  • KDX/Kaspanet Web Wallet 使用 m/44'/972'/0' 派生路径(12 个助记词)。
  • Core Golang CLI 钱包和 Kaspium 使用 m/44'/111111'/0' 派生路径(24 个助记词)。
    注意:972111111 分别为不同币种类型。

KDX 钱包不兼容 BIP-32,因此其代币不会自动显示在 tangem wallet 中,因为 KDX 派生路径已被视为过时。可按下述步骤让这些代币显示。

如何通过 xpub 获取派生路径

你可以通过区块链浏览器利用 xpub(扩展公钥)获取派生路径。

操作步骤如下:

  1. 访问 https://bitcoinexplorer.org/
  2. 在“搜索”栏输入你的 xpub。
  3. 复制显示的 BIP32 PATH。
     

2. 在 Tangem Wallet 创建自定义代币

现在,你需要用原钱包的派生路径创建自定义代币。具体步骤如下:

  1. 打开 Tangem Wallet,点击右上角的三个点。
IMG_2843.PNG

2. 在 Details 页面选择对应钱包。

IMG_2844.PNG

 

3. 在钱包设置下点击 Manage tokens

IMG_2845.PNG

 

4. 在代币列表右上角点击“+”图标,进入添加自定义代币菜单。

IMG_2848.PNG

 

5. 选择网络,例如 Bitcoin

image.png

 

6. 点击 Derivation Path

image.png

 

7. 选择 Custom derivation

image.png

 

8. 输入你的派生路径,例如 m/84'/0'/0。输入时必须以 m/  开头,否则 Tangem Wallet 无法验证代币。点击 OK

image.png

 

9. 输入访问码或生物识别信息,并扫描 Tangem 设备以授权更改。

image.png

 

10. 新派生的代币会在首页正确显示余额。

image.png
Author logo
作者 Patrick Dike-Ndulue

Senior editor covering crypto, onchain equities, and technology.

Author logo
經審核 Rukkayah Jigam

Writer & editor covering digital assets and product updates.