Sign multisignature-transactions without Private Keys

+2 votes

I read this doc about multisignature-transactions( and I confused for using 2 commands createrawsendfrom and signrawtransaction:

  • for how we use Action:sign without private key
  • for how we sign transaction with only hex-blob
  • why do we need to switch to the second server to make signing 

Some related questions about multisignature answered by this  for understanding

multisignature but here I can't find any mention for using Node Signing .

asked Jun 18, 2018 by mina

1 Answer

0 votes
The multisignature in the tutorial is 2-of-2, meaning that two different signatures are required from two different private keys. There is one key in each MultiChain node, each on a different server.

So you can use action:sign without supplying a private key, because the private key for signing the multisignature on behalf of one address is already in that node's wallet. Then the second server needs to sign the same transaction, after the first has signed it, and the transaction is passed from one to another as a hex blob.
answered Jun 19, 2018 by MultiChain
So if the node has multiple private keys in it's wallet we have to define which private key explicitly. Also can we track the hex blob to know signing is completed or not and also I want to show pending transaction for known key ?
If the wallet has the multisig address added as well (via the addmultisigaddress API) then it will automatically know which private key to use.

After you call signrawtransaction, you can see whether signing is complete in the "complete" field of the output.

I'm not sure what you mean by "pending transaction for known key" because nothing actually goes onto the blockchain until the transaction is fully signed and sent. So one node cannot know about a partially signed transaction created by another node, unless you explicitly publish it on the chain (e.g. in a stream).