mirror of
https://github.com/Qortal/qortal.git
synced 2025-07-23 04:36:50 +00:00
Added Address info support for Litecoin
This commit is contained in:
@@ -4,6 +4,7 @@ import org.bitcoinj.core.Transaction;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.qortal.crosschain.AddressInfo;
|
||||
import org.qortal.crosschain.Bitcoiny;
|
||||
import org.qortal.crosschain.BitcoinyHTLC;
|
||||
import org.qortal.crosschain.ForeignBlockchainException;
|
||||
@@ -11,6 +12,8 @@ import org.qortal.repository.DataException;
|
||||
import org.qortal.test.common.Common;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
@@ -127,4 +130,36 @@ public abstract class BitcoinyTests extends Common {
|
||||
System.out.println(address);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenerateRootKeyForTesting() {
|
||||
|
||||
String rootKey = BitcoinyTestsUtils.generateBip32RootKey( this.bitcoiny.getNetworkParameters() );
|
||||
|
||||
System.out.println(String.format(getCoinName() + " generated BIP32 Root Key: " + rootKey));
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetWalletAddresses() throws ForeignBlockchainException {
|
||||
|
||||
String xprv58 = getDeterministicKey58();
|
||||
|
||||
Set<String> addresses = this.bitcoiny.getWalletAddresses(xprv58);
|
||||
|
||||
System.out.println( "root key = " + xprv58 );
|
||||
System.out.println( "keys ...");
|
||||
addresses.stream().forEach(System.out::println);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testWalletAddressInfos() throws ForeignBlockchainException {
|
||||
|
||||
String xprv58 = getDeterministicKey58();
|
||||
|
||||
List<AddressInfo> addressInfos = this.bitcoiny.getWalletAddressInfos(xprv58);
|
||||
|
||||
System.out.println("address count = " + addressInfos.size() );
|
||||
System.out.println( "address infos ..." );
|
||||
addressInfos.forEach( System.out::println );
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,42 @@
|
||||
package org.qortal.test.crosschain;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import org.bitcoinj.core.NetworkParameters;
|
||||
import org.bitcoinj.crypto.ChildNumber;
|
||||
import org.bitcoinj.crypto.DeterministicKey;
|
||||
import org.bitcoinj.script.Script;
|
||||
import org.bitcoinj.wallet.DeterministicKeyChain;
|
||||
import org.bitcoinj.wallet.DeterministicSeed;
|
||||
import org.bitcoinj.wallet.Wallet;
|
||||
import org.qortal.crosschain.ForeignBlockchainException;
|
||||
import org.qortal.crosschain.Litecoin;
|
||||
import org.qortal.repository.DataException;
|
||||
import org.qortal.test.common.Common;
|
||||
|
||||
public class BitcoinyTestsUtils {
|
||||
|
||||
public static void main(String[] args) throws DataException, ForeignBlockchainException {
|
||||
|
||||
Common.useDefaultSettings();
|
||||
|
||||
final String rootKey = generateBip32RootKey( Litecoin.LitecoinNet.TEST3.getParams());
|
||||
String address = Litecoin.getInstance().getUnusedReceiveAddress(rootKey);
|
||||
|
||||
System.out.println("rootKey = " + rootKey);
|
||||
System.out.println("address = " + address);
|
||||
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
public static String generateBip32RootKey(NetworkParameters networkParameters) {
|
||||
|
||||
final Wallet wallet = Wallet.createDeterministic(networkParameters, Script.ScriptType.P2PKH);
|
||||
final DeterministicSeed seed = wallet.getKeyChainSeed();
|
||||
final DeterministicKeyChain keyChain = DeterministicKeyChain.builder().seed(seed).build();
|
||||
final ImmutableList<ChildNumber> path = keyChain.getAccountPath();
|
||||
final DeterministicKey parent = keyChain.getKeyByPath(path, true);
|
||||
final String rootKey = parent.serializePrivB58(networkParameters);
|
||||
|
||||
return rootKey;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user