Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi node, multi signature offline signing support #1985

Open
jbair06 opened this issue Sep 3, 2024 · 0 comments
Open

Multi node, multi signature offline signing support #1985

jbair06 opened this issue Sep 3, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@jbair06
Copy link
Member

jbair06 commented Sep 3, 2024

Problem

Issue is copied from JS SDK, please review the conversation: hashgraph/hedera-sdk-js#2481

The SDK currently does not support the use case of multiple signatures for multiple nodes when signing is done offline. Transaction.sign(key) works for multi node, multi sig but not offline. PrivateKey.signTransaction(transaction) supports offline multi sig, but not multi node.

Solution

A new object and a couple new methods can solve this situation.

  • Signature/SignatureDictionary - this object can mimic transaction in that it would have sub-signatures, each signature would be tied to a node account id. Or this object could just be a simple { [key: string]: string } dictionary.
  • PrivateKey.sign(transaction) - this function would create the signature object. Goes through all the sub transactions and creates a signature for each.
  • Transaction.addSignature(PublicKey, signature/signatureDictionary) - this function would add each signature in the dictionary to the matching sub-transaction, based on node account id.

Alternatives

No response

@jbair06 jbair06 added the enhancement New feature or request label Sep 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant