Class DeterministicKeyChain.Builder<T extends DeterministicKeyChain.Builder<T>>

  • Enclosing class:
    DeterministicKeyChain

    public static class DeterministicKeyChain.Builder<T extends DeterministicKeyChain.Builder<T>>
    extends java.lang.Object
    • Field Detail

      • random

        protected java.security.SecureRandom random
      • bits

        protected int bits
      • passphrase

        protected java.lang.String passphrase
      • creationTime

        @Nullable
        protected java.time.Instant creationTime
      • entropy

        protected byte[] entropy
      • outputScriptType

        protected ScriptType outputScriptType
      • accountPath

        protected HDPath accountPath
    • Constructor Detail

      • Builder

        protected Builder()
    • Method Detail

      • self

        protected T self()
      • entropy

        public T entropy​(byte[] entropy,
                         java.time.Instant creationTime)
        Creates a deterministic key chain starting from the given entropy. All keys yielded by this chain will be the same if the starting entropy is the same. You should provide the creation time for the chain: this lets us know from what part of the chain we can expect to see derived keys appear.
        Parameters:
        entropy - entropy to create the chain with
        creationTime - creation time for the chain
      • entropy

        @Deprecated
        public T entropy​(byte[] entropy,
                         long creationTimeSecs)
        Deprecated.
      • seed

        public T seed​(DeterministicSeed seed)
        Creates a deterministic key chain starting from the given seed. All keys yielded by this chain will be the same if the starting seed is the same.
      • random

        public T random​(java.security.SecureRandom random,
                        int bits)
        Generates a new key chain with entropy selected randomly from the given SecureRandom object and of the requested size in bits. The derived seed is further protected with a user selected passphrase (see BIP 39).
        Parameters:
        random - the random number generator - use new SecureRandom().
        bits - The number of bits of entropy to use when generating entropy. Either 128 (default), 192 or 256.
      • random

        public T random​(java.security.SecureRandom random)
        Generates a new key chain with 128 bits of entropy selected randomly from the given SecureRandom object. The derived seed is further protected with a user selected passphrase (see BIP 39).
        Parameters:
        random - the random number generator - use new SecureRandom().
      • watch

        public T watch​(DeterministicKey accountKey)
        Creates a key chain that watches the given account key.
      • spend

        public T spend​(DeterministicKey accountKey)
        Creates a key chain that can spend from the given account key.
      • outputScriptType

        public T outputScriptType​(ScriptType outputScriptType)
      • passphrase

        public T passphrase​(java.lang.String passphrase)
        The passphrase to use with the generated mnemonic, or null if you would like to use the default empty string. Currently must be the empty string.
      • getPassphrase

        protected java.lang.String getPassphrase()