Hive Multisig SDK
  • Welcome!
  • Quick Start
  • WebSocket flow
    • 1 - Users connect to the Websocket
    • 2 - User A requests a transaction
    • 3 - User B receives the signature request
    • 4 - User B signs the transaction
    • 5 - User B broadcasts the transaction
    • 6 - Users both receive a successful broadcast notification
  • API
  • Utils
    • Encode Transaction
    • Decode Transaction
  • Static helpers
    • Get/Reset HiveMultisig instance
    • Get Signers
    • Get Authorities
    • Validate Initiator
  • Demo
Powered by GitBook
On this page
  1. WebSocket flow

2 - User A requests a transaction

Previous1 - Users connect to the WebsocketNext3 - User B receives the signature request

Last updated 1 year ago

Once the user has successfully subscribed to the WebSocket, they can initiate a multisig transaction.

Create the operation

const op: Hive.TransferOperation = [
      'transfer',
      {
        from: 'joe',
        to: 'jane',
        amount: 1,
        memo: 'payment',
      },
    ];

Create a transaction by encapsulating with hiveTx

const _hiveTx = new hiveTx.Transaction();
const transaction = _hiveTx.create([op], getSeconds(expiration))

Encode the transaction

const txEncode: IEncodeTransaction = {
          transaction: transaction,
          method: 'posting',
          expirationDate: expiration,
          initiator: 'user-a',
        };
        
const multisig = HiveMultisig.getInstance(window: Window,options?:MultisigOptions); 
const encodedTx = await multisig.utils.encodeTransaction(txEncode)

Request for signatures

await multisig.wss.requestSignatures(encodedTx:RequestSignatureMessage);

The multisig.wss.requestSignatures() function informs the backend to distribute the encoded messages to the potential signers.

RequestSignatureMessage object

Property
Description
Type

signatureRequest

The object that contains the encrypted transaction that needs to be signed.

ISignatureRequest object

initialSigner

Details about the initial signer or initiator.

SignatureRequestInitialSigner object

This object is obtained by .

More details on encoding the transaction here.
encoding the transaction