Closed lospringliu closed 4 years ago
现在主流交易所钱包是优盾那几个吧
这个原理是啥,能解释下吗,搞个中文的助记词,是不是很好玩?
不管硬钱包,至少提到的那个网站上需要支持井通/墨客, 中文助记词其实挺方便
主要是包装一下bip39, 做下编码解码让井通链应用能直接调用
不需要单独的库了,基于bip39 并对jcc_jingtum_base_lib做部分改动可以实现,
改动需要讲jcc_jingtum_base_lib
里的encode和decode功能提取出来,在以下代码中我把他们变成了static函数。
代码如下:
const KeyPairs = require('./keypairs');
const bip39 = require('bip39');
export const secretToMnemonic = secret => {
const bufferEntropy = KeyPairs.decode(33, secret); //33 is the prefix of `SWT`
const hexEntropy = base16.encode(bufferEntropy);
return bip39.entropyToMnemonic(hexEntropy);
};
export const mnemonicToSecret = mnemonic => {
const recoverHexString = bip39.mnemonicToEntropy(mnemonic);
const recoverHexBuffer = base16.decode(recoverHexString);
return KeyPairs.encode(33, recoverHexBuffer);
};
另外有一个需要注意的是随机生成的entropy转换为hex之后,有可能hexEntropy.length = 15,这个时候没有达到entropyToMnemonic最低16位的要求,会报错。需要重新生成。
稍后钱包完成之后我会开源钱包的代码。
还是需要的, jcc_jingtum_bnabse_lib应该不再维护了
需要使用swtc-keypairs 或者 swtc-codecs 库 更新网站 / 包装兼容性 / nativescript支持的工作都需要花些精力
jcc_jingtum_base_lib基本上不会维护了,相关更新可pr到swtclib @hanwencheng
这个我自己来做, 现在条件成熟了 计划工时: 10 人天, 参考一楼
文档 代码: 02/10 - 02/17
不需要单独的库了,基于bip39 并对jcc_jingtum_base_lib做部分改动可以实现,
另外有一个需要注意的是随机生成的entropy转换为hex之后,有可能hexEntropy.length = 15,这个时候没有达到entropyToMnemonic最低16位的要求,会报错。需要重新生成。 稍后钱包完成之后我会开源钱包的代码。
https://swtcdoc.netlify.com/docs/wallet/ 新文档 直观操作, 支持HDWallet
审计工时: 3人天
钱包: jURJTtmfYWuSzGRxJHYxxw3ijd4DTpe3it
使用bip39来派生不同的钱包现在已经是主流了, 井通/墨客也需要能够方便的使用它
井通 / 墨客 在bip44中均已注册,但是没有人去推动相关事项
需要 利用/包装 bip32 / bip39 / bip44 成井通能直接使用的库
包装成库调整现有的开发库,以适应bip32操作