Interface KeyChainGroupStructure


public interface KeyChainGroupStructure
Defines a structure for hierarchical deterministic wallets.

Use BIP32 for BIP-32 wallets and BIP43 for BIP-43-family wallets.

bitcoinj BIP-32 wallets use DeterministicKeyChain.ACCOUNT_ZERO_PATH for ScriptType.P2PKH and DeterministicKeyChain.ACCOUNT_ONE_PATH for ScriptType.P2WPKH

BIP-43-family wallets structured via KeyChainGroupStructure will always use account number zero. Currently, only BIP-44 (P2PKH) and BIP-84 (P2WPKH) are supported.

  • Field Details

  • Method Details

    • accountPathFor

      @Deprecated default HDPath accountPathFor(ScriptType outputScriptType)
      Map desired output script type to an account path. Default to MainNet, BIP-32 Keychains use the same path for MainNet and TestNet
      Parameters:
      outputScriptType - the script/address type
      Returns:
      account path
    • accountPathFor

      HDPath accountPathFor(ScriptType outputScriptType, Network network)
      Map desired output script type and network to an account path
      Parameters:
      outputScriptType - output script type (purpose)
      network - network/coin type
      Returns:
      The HD Path: purpose / coinType / accountIndex
    • accountPathFor

      @Deprecated default HDPath accountPathFor(ScriptType outputScriptType, NetworkParameters networkParameters)
      Map desired output script type and network to an account path
      Parameters:
      outputScriptType - output script type (purpose)
      networkParameters - network/coin type
      Returns:
      The HD Path: purpose / coinType / accountIndex
    • purpose

      static HDPath purpose(ScriptType scriptType)
      Return the (root) path containing "purpose" for the specified scriptType
      Parameters:
      scriptType - script/address type
      Returns:
      An HDPath with a BIP44 "purpose" entry
    • coinType

      static ChildNumber coinType(Network network)
      Return coin type path component for a network id
      Parameters:
      network - network id string, e.g. BitcoinNetwork.ID_MAINNET
    • account

      static ChildNumber account(int accountIndex)
      Return path component for an account
      Parameters:
      accountIndex - account index
      Returns:
      A hardened path component