安装
存储库:
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
在制品
!!!请注意,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社区