Untitled


SUBMITTED BY: Guest

DATE: Aug. 22, 2013, 2:38 a.m.

FORMAT: Java

SIZE: 2.0 kB

HITS: 1005

  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import com.google.bitcoin.core.Base58;
  4. import com.google.bitcoin.crypto.ChildNumber;
  5. import com.google.bitcoin.crypto.DeterministicHierarchy;
  6. import com.google.bitcoin.crypto.DeterministicKey;
  7. import com.google.bitcoin.crypto.HDKeyDerivation;
  8. import com.google.common.collect.ImmutableList;
  9. import com.google.common.collect.ImmutableList.Builder;
  10. /**August 22, 2013 with bitcoinJ 0.10 */
  11. public class Main {
  12. /**compare public keys of 0'/0'/0' and and 0'/0'/0
  13. * @param args none used*/
  14. public static void main(String[] args) {
  15. System.out.println("start");
  16. DeterministicHierarchy masterHrchy = new DeterministicHierarchy(
  17. HDKeyDerivation.createMasterPrivateKey("BitcoinJRulez".getBytes()));
  18. // builder for /0/0
  19. ArrayList<ChildNumber> zeroZero = new ArrayList<ChildNumber>();
  20. zeroZero.add(new ChildNumber(0, true));
  21. zeroZero.add(new ChildNumber(0, true));
  22. // builders for public and private nodes at /0/0/0
  23. Builder<ChildNumber> privateNode = new ImmutableList.Builder<ChildNumber>();
  24. privateNode.addAll(zeroZero);
  25. privateNode.add(new ChildNumber(0, true /* private */));
  26. DeterministicKey priv = masterHrchy.get(privateNode.build(), false, true);
  27. Builder<ChildNumber> pubNode = new ImmutableList.Builder<ChildNumber>();
  28. pubNode.addAll(zeroZero);
  29. pubNode.add(new ChildNumber(0, false /* public */));
  30. DeterministicKey pub = masterHrchy.get(pubNode.build(), false, true);
  31. assert Arrays.equals(priv.getPubKeyBytes(), pub.getPubKeyBytes()) :
  32. Base58.encode(priv.getPubKeyBytes()) + " vs. " + Base58.encode(pub.getPubKeyBytes());
  33. System.out.println("end");
  34. }
  35. }

comments powered by Disqus