fibercrypto / fibercrypto/skycoin

Offline Wallet Transaction Signing Feature

Open
#736 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
0
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Offline Wallets:

Skycoin will have some more features for doing offline wallets or wallets on computers not connected to a network. You for instance, may generate a wallet and seed on a computer not connected to any internet. Your "cold wallet". Then you send the coins to the first address in the code wallet. Then you load the unspent output hash by hand (typing it into the computer).

To send coins out of the code wallet, without connecting the computer to the internet, the wallet generates a transaction on the computer not connected to the network and produces a QR code you scan with a cell phone to inject that transaction into the network.

There should be a way of doing this safer than USB. Maybe coupling a cell phone app to a laptop over speaker/microphone.

Necessary components:

- CLI command to create transaction from specific unspent output hashes.
- CLI command to check if a raw transaction string/file is valid
- Wallet UI page for "Offline Transaction" or "Manual Transaction Builder"
-- User enters 1 or more unspent outputs hashes. For each output hash, they must select a corresponding holding address from their list of addresses (the software will not know because it is offline and does not have a synced blockchain). They must also specify how many coins are in this output hash. They may optionally specify how many hours are in this output hash.
-- User enters 1 or more output addresses, and an amount of coins and hours to send to each
-- User submits this form
-- Backend endpoint attempts to create the transaction. If it would create an invalid transaction (for example, spending too many coins), it returns an error to the client and the client displays this error.
-- Backend endpoint will send any leftover coins in a change output to one of the unspent output hashes' address.
-- Client will display a QR code representing the raw transaction [This will need some integration with a mobile wallet]
-- Client will display a "Download Transaction" button and this allows the user to download a text file with the raw transaction

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.