Airgapped wallet code sample on xrpl.org #47
wojake
started this conversation in
Closed (claimed or cancelled bounty)
Replies: 3 comments 2 replies
-
I believe this would be a valuable sample to have. I like the idea of explaining users how to setup a system like that and why it is recommended to sign and send transactions that way. |
Beta Was this translation helpful? Give feedback.
0 replies
-
This bounty has now been completed. |
Beta Was this translation helpful? Give feedback.
0 replies
-
We’ve accepted @wojake ’s submission for milestone 1, 2, 3, and 4 for this bounty. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Proposal
XRPL.org doesn't have a code sample for an airgapped wallet concept (here), so I'm proposing this as an addition.
Developers should have a basic idea of what an airgapped wallet is in Crypto, this code sample won't cover all the possible designs & structures to an airgapped wallet (ie. look at Ledger, it's an airgapped hardware wallet using security chips). The code sample should be simple enough to be able to introduce developers to the world of airgapped wallets.
Proposed programming language: Python
The airgapped wallet's design should consist of 2 parts:
Airgapped-Wallet.py
- This code should be stored in a standalone airgapped machine, it should consist of features to generate a wallet, store a keypair securely, sign a transaction and a way to share the signed transactionRelay-Transaction.py
- This code should be stored in any online machine, no credentials is stored on this code other than a signed transaction which would be sent to an XRPL node for it to be validated on the ledger.Preferably,
Airgapped-Wallet.py
should be on a Linux machine whileRelay-Transaction.py
could be on any OS.Proposed design
A signed transaction using the airgapped wallet should be transmitted either through text or a QR code, a QR code would be convenient as a signed XRPL transaction is long. The airgapped machine should not be connected to an online machine in any way, shape or form (which includes USB): So a QR code is the best option as it only shares the necessary info via the screen.
The user should have a phone in hand, it would be required to collect said QR code, the phone should then send the signed transaction (in text form) to an online machine with the
Relay-Transaction.py
code. After the signed transaction is inserted into the code, it should be sent to an XRPL node for validation.Requirements
The code sample should consist of a simple text-based tutorial on how to setup the airgapped machine and a walk through on how the code sample's design works. It's important to explain how it all works and why it works in its intended way.
The bounty requires extensive research & development into the implemented design for the airgapped wallet, the code sample must be an effective method to act as an airgapped wallet. This way, developers could have a basic idea of how an airgapped wallet works at an introduction level.
Note
I am interested in this bounty and if this is approved, I'll pursue it. I already have a codebase for it, the proposed design is my code's design. So to avoid a conflict of interest issue, I'm saying that I am interested in this bounty and will propose a PR for it on xrpl.org's repo.
Beta Was this translation helpful? Give feedback.
All reactions