Author

Topic: netWallet, Read Litecoin wallet hosted on a server! (Read 1128 times)

legendary
Activity: 1204
Merit: 1002
RUM AND CARROTS: A PIRATE LIFE FOR ME
Isn't this a bit like what electrum is doing?
hero member
Activity: 714
Merit: 500
I've had this idea in my head for awhile, and I've only shared it with 2 people. It's called netWallet, and it's basically having the QT(Or any client that decides to implement this) to read a wallet file from an online server that you can host yourself. It can be anything file name because the file contents are the same.

How I want it to work, you generate a secure unique Wallet URL and Key that's encrypted in AES, you paste the encoded link in the QT and enter the password and the QT will create a connection to the wallet, so it doesn't have to be downloaded. You will host the wallet and a php file that the client will connect to, the client will send the key to the php file for verification and return the wallets contents(Never exposes the actual wallets url, also please rename wallet.dat to something.xD). The QT will never save the Key, and the only possible way for a hacker to steal the wallet.dat info would be to intercept the packets(Unless your hosting it on a SSL site).

I created a small example of generating these unique URLs and Keys in C#:
Key and URL generation:


./netWallet new

Decrypting URL with Key:


./netWallet getlink

Please note that "wallet.dat" in the pictures will be replaced with "something.php" once I code the php server part of this.

As you can also see that the URL and Key are in BASE64. Reason being me compressing the encrypted key and link bytes to BASE64 so the user can easily copy the info down.

The way I'm able to create the single key(AES requires a key and IV) is me converting the key and IV bytes to BASE64 and adding the LTC char between them(Easier for later parsing), and then converting the whole string into a BASE64 string again.

You can use see the code I used for the images above here: http://pastebin.com/84ir3RtS

It's very simple to implement, so feel free to create your own version in whatever language you please.

If anyone wants to add to this idea, go ahead, it's open to anyone. I'm not very proficient in PHP or C++, so if anyone wants to finish off the PHP server part or even make a simple implementation of to the QT, go for it!


--Simran
Jump to: