5

In the explanation about the long-lived transactions here, they mention that

waiting on the signatures can block ... an account

and there is a solution proposed, involving a temporary account creation. I tried to find more information about that (for example: does one need to provide a minimum balance to that temporary account) but can't see much so far.

Is there a place where the exact mechanics of the long-lived transaction explained in more details?

4

The problem behind the multi-sig transactions is described in docs:

Because all transactions are constructed with specific sequence numbers, waiting on the signatures can block Anush’s account.

A transaction contains a specific account sequence number. That's why in case if the source account submits any other transaction, for example a payment, the long-lived transaction becomes invalid as source account sequence has been changed.

The proposed solution (temporary account) implies the following steps:

  1. Generate a new key pair for the temporary account.
  2. Fund new account. In order to create it you need to send at least 1 XLM to the newly created address. The minimum account balance depends on your goals. Each additional signature, trustline, order, and data entry requires 0.5 XLM reserve. And do not forget to add at least 0.001 XLM to cover transaction fees. So if you want to make a payment in, say, EURT secured by multi-sig with 2 additional signers, you'll need to send at least 1+0.5+0.5×2+0.001=2.501XLM.
  3. Create a trustline and send assets, add additional signers to the account if your business logic requires it.
  4. Prepare a long-lived transaction on behalf of the temporary account.
  5. ...wait for some time...
  6. Gather all required signatures if you are using multi-sig.
  7. Submit your transaction to network.
  8. Merge temporary account back to your main account to release reserved funds (2.5 XLM in our example).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.