关于Ton链的wallet-sdk生成地址的问题

1、我有一套测试助记词 12 个: lounge face pattern cinnamon shrug average spend rapid field cheese wrist weather

2、将这套助记词导入okx和trust-wallet中,生成的Ton地址: UQAttjOP_6isnDY-tXEV89bq7Lx57GH14FXtu0rEwqmv9nai

3、但是SDK生成的地址不一致:

test('create address', async () => {
        const mnemonic = "lounge face pattern cinnamon shrug average spend rapid field cheese wrist weather";
        const seed = bip39.mnemonicToSeedSync(mnemonic, "")
        const addressInfo =  createTonAddress(seed, 0)
        console.log("addressInfo===", addressInfo)
    });
addressInfo=== {
      privateKey: '9d61cc19c27c7043a2eb7912c0ed1c1029564d665db4e791ca3dbfd6a3e4752c8bb9822a2f5b4e5b8f1a7f4c3ec75df2db2a63b07f0a0f79095c509a773e5843',
      publicKey: '8bb9822a2f5b4e5b8f1a7f4c3ec75df2db2a63b07f0a0f79095c509a773e5843',
      address: 'EQD--EgA4vLZEA5ObGM50X_vNRU5sva1pwh7sn2TDbGbvwM4'
    }
全部回复(3)
kit

1 eq是旧地址,在转账交易中发生错误,TON 会自动返还回原账户 Non-Bounceable 地址(EQ开头) const nonBouncableAddress = address.toString(true, true, true, true); 测试网对应 kQ开头 2 uq是新引入地址,只要发起转账即使失败也不会返回,直接销毁 Bounceable 地址(UQ开头) const bouncableAddress = address.toString(true, true, false, true); 测试网对应 kQ开头0Q

    toString(isUserFriendly?: boolean, isUrlSafe?: boolean, isBounceable?: boolean, isTestOnly?: boolean)
点赞
回复
Leo

const { key } = derivePath("m/44'/607'/0'", seedHex); 推导的地秘钥对的地址改成这样可以试试。我试过是可以的了

点赞
回复
seek CTO

助记词问题

  • 找零或者没有找零
  • 链的序号一定对

地址版本,常用的版本

  • V3R2
  • V4R1
  • V4R3

如果你不确定地址版本,那么可以打一笔钱去激活地址,在浏览器上可以查看到这个地址版本, 点击下面链接查看 - https://tonscan.org/address/UQCQCLTvR0XYTyM0uxh_H8kLAR7u7v98pEKZKpbq8w2per6d

地址的 toString 编码的参数需要证明

toString(isFriendly, isUrlSafe, IsBoundle, isTest)

需要注意这里面的四个参数

如果你不确定 toString 编码格式,可以看 0:hex 这个地址是不是正确。

点赞
回复
我来回答
热门问答
memo 是什么,在中心化钱包开发中有什么作用,请举例说明那些链带有 Memo, Memo 另一个名字是什么
BIP-32、BIP-39、BIP-44 和 BIP-86 是比特币改进提案中的一部分,分别解决了什么问题?
permit permit2 EIP712 都是什么,和 离线签名有关系吗
发生硬分叉时,做为钱包的开发,您应当怎么去处理这种状况, 以 ETHPOW 和 ETH2.0 分叉这个过程
为什么 schnorr 比特币手续费可以降低
有用过 rosetta api, 请简单描述起作用,并举几个钱包常用的接口说明
Solana 和 Tezos 质押流程描述
MPC GG20 算法 Keygen 和 Sign 分别需要经过多少轮共识
Cosmos 新版本和老版本签名异同点
HD 钱包助记词生成的流程
两种执行publicKey 的结果不一致
关于Ton链的wallet-sdk生成地址的问题
solana 交易签名有有效期说法吗?若有情描述什么场景的签名会出现这种状况,怎么去解决?
TON 支持合约吗?若支持,请说出其合约开发语言
.描述一下交易钱包的充值和提现流程
谁能总结一下 KDA 的特性
ETH2.0 的 epoch, slot 和 block 简述
Cosmos 钱包资金精度,Cosmos 签名结构中的 account_number 和 seqence 怎么获取
简要说明 EOS 账户的激活过程,EOS 同源的有哪些链
去中心化和中心化钱包开发中的异同点有哪些?
助记词的验证过程
LSD 产品的质押流程(以 lido 为例说明)
Cosmos 共识算法是什么
关于solana的质押,是不是任意两个account之间就可以进行质押
比特币的地址有哪些格式,请说明
简单描述以太坊交易类型,并说明这个交易类型的作用
ERC721 和 ERC1155 区别与联系
cosmos-sdk 的应用场景
描述一些 UTXO 和账户模型的区别
相比较之下 EDDSA 性能,安全性都会高一些,为什么比特币以太坊用了 ECDSA,没有用 EDDSA
SOL生成地址调用derivePath比ETH生成地址调用derivePath少一层
为什么比特币早期时候不直接用 schnorr 签名算法
解释一下什么是 EVM 同源链,举例说明一下
简述 Cosmos 的 Interchain Security 和 IBC Protocol
生成助记词,128位生成6个助记词,而不是12个
Ton钱包
kda跨链转账问题
我通过钱包的创建出来的solana私钥长度为86位,但是通过keyPair.generate生成的secretKey为128位
对于没有ts库的链,怎么方便调研
kda测试用例问题
Sui发送交易RPC接口问题
kadena钱包地址对不上
ton钱包地址格式
对solana交易进行签名的时候,是不是只需要签交易发起账户就可以了
Keypair.fromSecretKey 的时候,这个skipValidation是否可以去掉
我的phantom钱包的solana秘钥86位,但是keyPair.generate().secretKey得到的秘钥128位
针对./rpc-service rpc 这个名利,有没有那种可以debug模式执行的方式
opio.WithInterruptBlocker(context.Background()) 这段代码的核心作用是啥,能否去掉
compile.sh 这个脚本触发是写在哪的?
我们如果自己定义的这个grpc服务,我们的服务注册和服务发现会怎么弄。
我看了针对Http接口设置了超时机制,对应的grpc服务是否也需要设置超时,重试相关的机制呢
使用go grpc调用node.js 的离线签名应该怎么搞
下面两个方法使用指针作为方法接收方会不会好一点
我看到httpUtil里面的的Close,Closed,Stop,Shutdown相关的四个方法,有点看不明白
链适配器工厂映射这个map没有看太明白
交易所钱包,我们会对链上的本币进行归集,但是类似于ERC20,ERC721这些代币需要归集吗
关于手续费问题
如果一条公链发生硬分叉之后,交易所一般需要做哪些动作