BIP44

安装

存储库:

 
repositories {
    maven {
        url 'https://dl.bintray.com/novacrypto/BIP/'
    }
}

添加依赖:

 
dependencies {
    compile 'io.github.novacrypto:BIP44:2019.01.27'
}

用法

结构流畅

AddressIndex addressIndex = BIP44
                                .m()
                                .purpose44()
                                .coinType(2)
                                .account(1)
                                .external()
                                .address(5);

至串

 
String path = m().purpose44()
                 .coinType(2)
                 .account(1)
                 .external()
                 .address(5)
                 .toString(); //"m/44'/2'/1'/0/5"

推导

使用NovaCrypto/BIP32Derivation密钥。

从根开始

 
Derive<YourKeyType> derive = new CkdFunctionDerive<>((parent, childIndex) -> {/*your CKD function*/}, yourRootKey);
YourKeyType ketAtPath = derive.derive(addressIndex, AddressIndex.DERIVATION);

从 root 开始的帐户

 
Account account = m().purpose44()
                     .coinType(2)
                     .account(1);
YourKeyType addressKey = derive
                     .derive(account, Account.DERIVATION);

来自帐户私人

Derive<YourKeyType> derive = new CkdFunctionDerive<>((parent, childIndex) -> {/*your CKD function*/}, accountPrivateKey);
YourKeyType addressKey = derive
                     .derive(addressIndex, AddressIndex.DERIVATION_FROM_ACCOUNT);

来自公众账户

Derive<YourKeyType> derive = new CkdFunctionDerive<>((parent, childIndex) -> {/*your CKD function*/}, accountPublicKey);
YourKeyType addressKey = derive
                     .derive(addressIndex, AddressIndex.DERIVATION_FROM_ACCOUNT);

源自 NovaCrypto BIP32

使用NovaCrypto/BIP32密钥,直接实现Derive<>:

在制品


!!!请注意,BIP32正在开发中,您不应该将其用于任何主网交易。 !!!

从根开始

 
PrivateKey addressKey = rootPrivateKey
                     .derive(addressIndex, AddressIndex.DERIVATION);

从 root 开始的帐户

 
Account account = m().purpose44()
                     .coinType(2)
                     .account(1);
PrivateKey addressKey = rootPrivateKey
                     .derive(account, Account.DERIVATION);

来自帐户私人

 
PrivateKey addressKey = accountPrivateKey
                     .derive(addressIndex, AddressIndex.DERIVATION_FROM_ACCOUNT);

来自公众账户

 
PublicKey addressKey = accountPublicKey
                     .derive(addressIndex, AddressIndex.DERIVATION_FROM_ACCOUNT);

原文来自:TokenPocket社区

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值