分层确定性的概念早在 BIP32 提案提出。根据比特币核心开发者 Gregory Maxwell 的原始描述和讨论,Pieter Wuille 在2012 年 02月 11日整理完善提交 BIP32, 后续的BIP43 、 BIP34 、BIP44的规则使得 HD 钱包非常强大,用户只需要保存一个种子,就能控制所有币种,所有账户的钱包。具体可以查看(https://github.com/bitcoin/bips)
很多交易所都使用HD 钱包做为冷钱包,每新加入一个用户通过HD公钥生成一个地址,因此也需要多散落在分散HD 地址里的地址进行归集。
国内企业钱包服务商 ET 钱包开源了他们的归集工具,本文他们的代码为蓝本讲解。
相关代码在 https://github.com/etwallet/etpay 的etPayCollects 目录下
首先讲解ETH 以及Erc20代币的归集
1.准备gas费用
Erc 20的归集需要支付gas费用,具体根据实际情况让相应地址里有对应的eth 即可。
2.通过助记词生成私钥。
EthUtils 工具类里面 调用静态类函数getPrivateKeyByMnemonicCode
就可以实现
3.构建交易
EthUtils 调用静态类函数createEthTx 根据传入进来的地址 金额 gas费用等 调用ethereumj 组成交易(在组交易的过程中需要到eth节点获取一个once)
4.签名交易
5.广播交易到 eth网络
Erc20 的代币归集类似 具体封装在EthTokenUtils 有需要的童鞋可以参考一下。
637

被折叠的 条评论
为什么被折叠?



