Package org.bitcoinj.wallet
Class DeterministicKeyChain.Builder<T extends DeterministicKeyChain.Builder<T>>
- java.lang.Object
-
- org.bitcoinj.wallet.DeterministicKeyChain.Builder<T>
-
- Enclosing class:
- DeterministicKeyChain
public static class DeterministicKeyChain.Builder<T extends DeterministicKeyChain.Builder<T>> extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description protected HDPath
accountPath
protected int
bits
protected java.time.Instant
creationTime
protected byte[]
entropy
protected ScriptType
outputScriptType
protected java.lang.String
passphrase
protected java.security.SecureRandom
random
protected DeterministicSeed
seed
protected DeterministicKey
spendingKey
protected DeterministicKey
watchingKey
-
Constructor Summary
Constructors Modifier Constructor Description protected
Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description T
accountPath(java.util.List<ChildNumber> accountPath)
Use an account path other than the defaultDeterministicKeyChain.ACCOUNT_ZERO_PATH
.DeterministicKeyChain
build()
T
entropy(byte[] entropy, long creationTimeSecs)
Deprecated.T
entropy(byte[] entropy, java.time.Instant creationTime)
Creates a deterministic key chain starting from the given entropy.protected java.lang.String
getPassphrase()
T
outputScriptType(ScriptType outputScriptType)
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.T
random(java.security.SecureRandom random)
Generates a new key chain with 128 bits of entropy selected randomly from the givenSecureRandom
object.T
random(java.security.SecureRandom random, int bits)
Generates a new key chain with entropy selected randomly from the givenSecureRandom
object and of the requested size in bits.T
seed(DeterministicSeed seed)
Creates a deterministic key chain starting from the given seed.protected T
self()
T
spend(DeterministicKey accountKey)
Creates a key chain that can spend from the given account key.T
watch(DeterministicKey accountKey)
Creates a key chain that watches the given account key.
-
-
-
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
-
seed
protected DeterministicSeed seed
-
outputScriptType
protected ScriptType outputScriptType
-
watchingKey
protected DeterministicKey watchingKey
-
spendingKey
protected DeterministicKey spendingKey
-
accountPath
protected HDPath accountPath
-
-
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 withcreationTime
- 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 givenSecureRandom
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 givenSecureRandom
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.
-
accountPath
public T accountPath(java.util.List<ChildNumber> accountPath)
Use an account path other than the defaultDeterministicKeyChain.ACCOUNT_ZERO_PATH
.
-
build
public DeterministicKeyChain build()
-
getPassphrase
protected java.lang.String getPassphrase()
-
-