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

Extend Transaction Signing options with sign-offline #201

Closed
frol opened this issue May 24, 2023 · 0 comments · Fixed by #209
Closed

Extend Transaction Signing options with sign-offline #201

frol opened this issue May 24, 2023 · 0 comments · Fixed by #209
Assignees
Labels
enhancement New feature or request

Comments

@frol
Copy link
Collaborator

frol commented May 24, 2023

Currently, all the available singing options require a user to have their access key on the same machine as they prepare the transaction. I want to be able to use an air-gapped machine to sign my transactions.

This is the flow:

  1. [online or offline] Prepare a transaction - select sign-offline to get an unsigned transaction [this issue] with empty-values instead of public_key, nonce, and block_hash
  2. [offline] Sign the prepared transaction by combining together:
    a. [offline] The prepared unsigned transaction (we can use base64 encoding to simplify copy-pasting)
    b. [offline] The public_key of the access key that corresponds to the signer_id of the transaction
    c. [online] The nonce for the access key and a recent block_hash should be obtained from a computer that has access to NEAR network (usually connected to the Internet)
  3. [online] Submit the signed transaction from a computer that has access to NEAR network (see Add command to send a signed transaction #200)

As of today, near-cli-rs does this all in one go, and only allows users to opt-out of sending a signed transaction immediately (effectively, you can only do (1) and (2) together), and while near-cli-rs can be used in air-gapped environment to prepare and sign a transaction, it would be great to have more granular control.

@frol frol added the enhancement New feature or request label May 24, 2023
@FroVolod FroVolod mentioned this issue May 31, 2023
@frol frol closed this as completed in #209 Jun 5, 2023
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

Successfully merging a pull request may close this issue.

2 participants