1
I have a multisig setup where the signing is done through external HSM's. I am using Bcoin and its wallet to receive funds. What I am trying to do is to create a transaction and sign it with the HSMs. There are 2 approaches:
- Manually create the transaction using MTX.
- Use the wallet to create the transaction.
Method #1 solves my problem. The code is even shown here. However, this method has a big drawback. It requires that I create the Coins. That means, I need to manually create the VOuts and VIns. Meaning that I need to get my UTXO set and choose the ones I need for the transaction. This is very tedious and error prone.
Method #2 solves this issue. When using the wallet, createTx() will create the transaction for you, choosing the VOuts and VIns from the UTXO set for that wallet. However, the problem with this approach is that createTX() signs the transaction. I do not want this as the signing needs to be done by other sources.
So, is there a way for me to get the raw transaction from a wallet without it signing?
MTX has the method toRaw() which gives the raw transaction. Is there any way I can get the wallet to create the transaction, or at least create the VOut/Vin sets?
Thank you.
Thank you @pinhead. You are right, I forgot that the private key is not in the wallet. I was considering using an MTX and using
fund()to get the coins from the wallet, butcreateTX()would be a better choice. Thank you for suggesting bmultisig. This is probably what we need. We are expecting to use AWS HSM for signing. If you have any references or material in this regard I would really appreciate if you can share them. Thanks so much again. – madu – 2019-07-17T00:20:23.833