You seem to have confused a couple of things.
Firstly, HD wallets is specified by BIP 32, not BIPs 39 or 44.
Secondly, being able to set your own seed is completely unrelated to setting a custom derivation path. They are two different things that have no effect on each other.
Note that BIP 39 specifies a menmonic scheme, not a seed. When I say mnemonic, I will be referring to BIP 39 mnemonics. When I say seed, I refer to BIP 32 seeds. They are two different things.
Bitcoin Core has had BIP 32 HD wallet support since 0.13. Since 0.17, it has had a sethdseed
RPC which allows you to replace a wallet's BIP 32 seed with a custom one or a newly generated one. Note that this does not allow you to have multiple active seeds in one wallet.
While you can set a HD seed with sethdseed
, you cannot set a BIP 39 mnemonic. BIP 39 mnemonics and the seeds that they produce are incompatible with Bitcoin Core.
Lastly, while you can set a new HD seed, you cannot change the derivation paths that are used to derive keys. Bitcoin Core does not follow BIP 44's derivation path specification. Instead it uses m/0'/0'/i'
as the derivation path for receiving addresses, and m/0'/1'/i'
for change addresses.