Hi, is there a JavaScript or PHP library that features:
1. generating a public and private 'seed' or 'root key'
2. based on the private seed or root key, generating a deterministic sequence of private keys
3. based on the public seed or root key, generating a deterministic sequence of Bitcoin addresses (corresponding with the private keys from step 2)
Steps 2 and 3 should be able to operate independently. The idea is to have an online 'read only' wallet, where one can check balance, generate new addresses, and prepare transactions. And having a separate offline wallet (in a safe, isolated environment) where the corresponding private keys can be generated, and where the previously created transactions can be signed (and then the hex tx data can be exported and pushed on the network separately).
Is bitcoin-js capable of this? The
github repos mentions HD wallet capabilities, but not the separation of public and private keys. And
bitcoinjs.org seems rather outdated.