Bitcoin Forum

Bitcoin => Project Development => Topic started by: NxtChg on February 26, 2016, 12:53:36 PM



Title: The Simplest Bitcoin Wallet
Post by: NxtChg on February 26, 2016, 12:53:36 PM
Online Bitcoin wallets often have one or two annoying idiosyncrasies, like demanding mandatory 2-FA, and there's nothing you can do about it.

It's also not clear what information they collect. Besides, sometimes you just need a simple wallet.

So I made The Simplest Bitcoin Wallet :)

https://simcoin.info/tsbw/

https://tsbw.io

Mostly for myself, but maybe somebody will find it useful too. Main discussion is here (https://simtalk.org:444/index.php?topic=174).

Please help test it, if you have a spare minute.

If you like it, send some love here: 19BryCNdGs5F48J6yvw41pVSd5RDiA4j1x.

----

The code (https://github.com/NxtChg/tsbw) is based on coinb.in: I removed 3/4 of it, fixed a few bugs and rewrote the rest. It is now easier to read and verify.

It's also a good start if you are interested to learn about Bitcoin and JS wallets since it's a lot simpler than the original.

Usage example:
Code:
var tx = btc.new_tx();

tx.add_input ('01020304abcdef', 0, '76a9141d8f0476ea05d9459e004fd0ff10588dd3979e6788ac'); // txid, no, script
tx.add_output('13nwZVh9RsKuZGegVn5KWHM51dA98Mho5f', 1234); // address, amount

var keys = btc.get_keys('123'); // 123 = passphrase

var signed = tx.sign(keys);

console.log(signed);

Nothing is sent to my server, everything is done in the browser. It gets utxo and sends signed txs via external API's.

All API access is wrapped in a "backend" object, which can be easily swapped. I wrote two: for blochchain.info and blockexplorer.com.

You can enter a compressed or uncompressed WIF key as your passphrase; this means you can use the same wallets you have at https://coinb.in or any other wallet that allows exporting in this format.


Title: Re: The Simplest Bitcoin Wallet
Post by: Jeremycoin on February 27, 2016, 02:17:29 AM
I see that your project is always about making crptocurrency things more simple than it usually be. Maybe you should call your project "The Simple Project" ;D


Title: Re: The Simplest Bitcoin Wallet
Post by: EdenHazard on February 27, 2016, 06:52:05 AM
Online Bitcoin wallets often have one or two annoying idiosyncrasies, like demanding mandatory 2-FA, and there's nothing you can do about it.

It's also not clear what information they collect. Besides, sometimes you just need a simple wallet.

So I made The Simplest Bitcoin Wallet :)

https://simcoin.info/tsbw/

Mostly for myself, but maybe somebody will find it useful too. Main discussion is here (https://simtalk.org:444/index.php?topic=174).

Please help test it, if you have a spare minute.

If you like it, send some love here: 13nwZVh9RsKuZGegVn5KWHM51dA98Mho5f.

----

The code (https://github.com/NxtChg/tsbw) is based on coinb.in: I removed 3/4 of it, fixed a few bugs and rewrote the rest. It is now easier to read and verify.

It's also a good start if you are interested to learn about Bitcoin and JS wallets since it's a lot simpler than the original.

Usage example:
Code:
var tx = btc.new_tx();

tx.add_input ('01020304abcdef', 0, '76a9141d8f0476ea05d9459e004fd0ff10588dd3979e6788ac'); // txid, no, script
tx.add_output('13nwZVh9RsKuZGegVn5KWHM51dA98Mho5f', 1234); // address, amount

var keys = btc.get_keys('123'); // 123 = passphrase

var signed = tx.sign(keys);

console.log(signed);

Nothing is sent to my server, everything is done in the browser. It gets utxo and sends signed txs via external API's.

All API access is wrapped in a "backend" object, which can be easily swapped. I wrote two: for blochchain.info and blockexplorer.com.

You can enter a compressed WIF key as your passphrase; this means you can use the same wallets you have at https://coinb.in or any other wallet that allows exporting in this format.

and how about wallet transaction?i've been open that link,and i think its really simple,and too simple for wallet,maybe you must add some logos or anything.
i try to input some phrase,and than appear wallet addres,i dont understand,i put random phrase.


Title: Re: The Simplest Bitcoin Wallet
Post by: gregyoung14 on February 27, 2016, 07:03:51 AM
I see that your project is always about making crptocurrency things more simple than it usually be. Maybe you should call your project "The Simple Project" ;D

Pretty nice actually what you're trying to do here. I think people would go for this. Hope this works out for you buddy. Your "Simple Project" as sir here refers it to.


Title: Re: The Simplest Bitcoin Wallet
Post by: Patatas on February 27, 2016, 10:44:08 AM
If the logical addressing is not taking part on the server side.Don't you think your wallet is prone to many attacks? I'm talking about simple injection of Java Scripts which simply run smoothly in any browser ? Where are the paraphrases stored anyway ?On the browser or as a session cookie ?


Title: Re: The Simplest Bitcoin Wallet
Post by: NxtChg on February 27, 2016, 11:53:15 AM
and how about wallet transaction?i've been open that link,and i think its really simple,and too simple for wallet,maybe you must add some logos or anything.
i try to input some phrase,and than appear wallet addres,i dont understand,i put random phrase.

If the logical addressing is not taking part on the server side.Don't you think your wallet is prone to many attacks? I'm talking about simple injection of Java Scripts which simply run smoothly in any browser ? Where are the paraphrases stored anyway ?On the browser or as a session cookie ?

Your passphrase is not stored anywhere, it's your key, so make it strong.

The address is generated directly from your passphrase (after some key stretching with two different hash functions).

The security model here is no different than the coinb.in. A trusted browser should not allow javascript injection, especially into HTTPS connections.

Not sure about browser extensions... It's probably best to use the wallet in the incognito mode and don't allow extensions to work there.


Title: Re: The Simplest Bitcoin Wallet
Post by: NxtChg on February 28, 2016, 07:07:03 PM
Sorry, if occasionally it doesn't load - Classic is running on the same server and is getting DDoS'ed today.

Can always get it from github: https://github.com/NxtChg/tsbw


Title: Re: The Simplest Bitcoin Wallet
Post by: ignitiondefect on April 27, 2016, 04:28:42 PM
I like this a lot. Id like to build an IOS app built on this. Testing it out now. Thanks for building this!


Title: Re: The Simplest Bitcoin Wallet
Post by: apoorvlathey on April 27, 2016, 05:07:59 PM
This is the simplest and easy to use wallet.

BTW There is one line on the site that states :

You can download it from github and use it locally.

There is no use of running it locally as there can't be any bitcoin transactions without internet !


Title: Re: The Simplest Bitcoin Wallet
Post by: NxtChg on April 27, 2016, 07:00:47 PM
There is no use of running it locally as there can't be any bitcoin transactions without internet !

If you run it locally, you can:

a) check the source code only once and then avoid the risk that I inject something into it,

b) make sure it's still available, even if my site goes down,

c) use a different API for your transactions or modify anything else.



Title: Re: The Simplest Bitcoin Wallet
Post by: ignitiondefect on April 29, 2016, 02:21:12 PM
What happens if 2 or more people pick the same password?


Title: Re: The Simplest Bitcoin Wallet
Post by: NxtChg on April 29, 2016, 03:09:57 PM
What happens if 2 or more people pick the same password?

They will open the same wallet, obviously.


Title: Re: The Simplest Bitcoin Wallet
Post by: dsyahputera on April 29, 2016, 03:40:59 PM
This is perfect solution for non-smartphone users since most online wallets are too complex so they can't work with mobile browser like Opera Mini. But, when I test it with "Responsive design view" in Firefox, the Send button don't appear in small resolution.

Sorry for bad English :D

EDIT: Correction, I wrong, the Send button appears. Anyway, good job!


Title: Re: The Simplest Bitcoin Wallet
Post by: NxtChg on April 29, 2016, 03:52:10 PM
But, when I test it with "Responsive design view" in Firefox, the Send button don't appear in small resolution.

If you can tweak CSS in index.html to make it appear I will happily merge your edits.

If not - I've added it to my to-do list, so hopefully it will be fixed one day :)


EDIT: Glad to hear it works now.


Title: Re: The Simplest Bitcoin Wallet
Post by: 27QVUTZj8rgZP1 on April 30, 2016, 03:07:56 AM
Online Bitcoin wallets often have one or two annoying idiosyncrasies, like demanding mandatory 2-FA, and there's nothing you can do about it.
While "blockchain.info" really tries to "sell" the "2-FA" feature, it is not mandatory.

I never use "2-FA" myself. What if my cell phone is stolen and I can't recover my account?!

Better safe than sorry!


Title: Re: The Simplest Bitcoin Wallet
Post by: NxtChg on May 01, 2016, 04:41:45 PM
While "blockchain.info" really tries to "sell" the "2-FA" feature, it is not mandatory.

Ever tried logging in from a different geographical location? Or even a different browser?

If you have an email set in your profile, you will be asked to authenticate using a link. And as far as I know, once you set that email, you can only replace it with a different one, never remove it.

Anyway, I was talking in general about other services, not blockchain.info in particular.


Title: Bitcoin Cash added
Post by: NxtChg on August 06, 2017, 11:07:02 PM
Added Bitcoin Cash version:

http://simcoin.info/tsbw/bcc/

(You can use private keys as passphrase too).

Please test with small amounts first, I just implemented it.

Report any issues on github or here.

Also, if anyone knows who runs blockdozer.com, please either tell them to add HTTPS or send me their contact info.


Title: Re: The Simplest Bitcoin Wallet
Post by: NxtChg on August 08, 2017, 09:26:36 AM
For BCC version the fee is set to 0.0001, it should be enough with bigger blocks.

Let me know if you experience any delays (or you can edit the fee yourself in index.html and run it locally).


Title: Re: The Simplest Bitcoin Wallet
Post by: JTASSOCIATES on August 09, 2017, 08:08:12 PM
I kindly request you to explain what the topic is about. I would like to know more about it thanks


Title: Re: The Simplest Bitcoin Wallet
Post by: NxtChg on August 13, 2017, 09:11:29 AM
Switched to the Roger Ver's new blockchain explorer so it now works over HTTPS:

https://simcoin.info/tsbw/bcc/


Title: Re: The Simplest Bitcoin Wallet
Post by: nightrider on August 13, 2017, 12:41:59 PM
Online Bitcoin wallets often have one or two annoying idiosyncrasies, like demanding mandatory 2-FA, and there's nothing you can do about it.

It's also not clear what information they collect. Besides, sometimes you just need a simple wallet.

So I made The Simplest Bitcoin Wallet :)

https://simcoin.info/tsbw/

Mostly for myself, but maybe somebody will find it useful too. Main discussion is here (https://simtalk.org:444/index.php?topic=174).

Please help test it, if you have a spare minute.

If you like it, send some love here: 13nwZVh9RsKuZGegVn5KWHM51dA98Mho5f.

----

The code (https://github.com/NxtChg/tsbw) is based on coinb.in: I removed 3/4 of it, fixed a few bugs and rewrote the rest. It is now easier to read and verify.

It's also a good start if you are interested to learn about Bitcoin and JS wallets since it's a lot simpler than the original.

Usage example:
Code:
var tx = btc.new_tx();

tx.add_input ('01020304abcdef', 0, '76a9141d8f0476ea05d9459e004fd0ff10588dd3979e6788ac'); // txid, no, script
tx.add_output('13nwZVh9RsKuZGegVn5KWHM51dA98Mho5f', 1234); // address, amount

var keys = btc.get_keys('123'); // 123 = passphrase

var signed = tx.sign(keys);

console.log(signed);

Nothing is sent to my server, everything is done in the browser. It gets utxo and sends signed txs via external API's.

All API access is wrapped in a "backend" object, which can be easily swapped. I wrote two: for blochchain.info and blockexplorer.com.

You can enter a compressed WIF key as your passphrase; this means you can use the same wallets you have at https://coinb.in or any other wallet that allows exporting in this format.



What do you think about 2FA? It's silly to think that it's a nuisance. First of all, the web wallet supports you, it will help you facilitate the execution of the transaction, you can do it anywhere. And 2FA is just a way to ensure the safety of your money.


Title: Re: The Simplest Bitcoin Wallet
Post by: NxtChg on August 15, 2017, 07:51:34 AM
What do you think about 2FA? It's silly to think that it's a nuisance. First of all, the web wallet supports you, it will help you facilitate the execution of the transaction, you can do it anywhere. And 2FA is just a way to ensure the safety of your money.

https://simtalk.org:444/index.php?topic=190.0


Title: Re: The Simplest Bitcoin Wallet
Post by: momochang on August 15, 2017, 09:58:23 AM

May I ask why you haven't answered any of my questions in this thread concerning your web wallets?   :-\

https://bitcointalk.org/index.php?topic=1377810.msg14028184#msg14028184
https://bitcointalk.org/index.php?topic=1377810.msg14686494#msg14686494
https://bitcointalk.org/index.php?topic=1377810.msg14704924#msg14704924
https://bitcointalk.org/index.php?topic=1377810.msg14723771#msg14723771



I'm also waiting for your answers regarding his question. Prove your web wallet is a legit one.


Title: Re: The Simplest Bitcoin Wallet
Post by: NxtChg on August 15, 2017, 03:38:56 PM
https://cashexplorer.bitcoin.com/ seems to be down at the moment, so HTTPS version of Bitcoin Cash wallet is not working.

As a backup, HTTP version will continue to be hosted here: http://simcoin.info/tsbw/bcc/ - it works via blockdozer.com


Title: Re: The Simplest Bitcoin Wallet
Post by: GetFreeCoins on August 15, 2017, 10:33:43 PM
I see that your project is always about making crptocurrency things more simple than it usually be. Maybe you should call your project "The Simple Project" ;D

more simple - more popular, isnt?
it is good way to popularization)


Title: Re: The Simplest Bitcoin Wallet
Post by: NxtChg on August 15, 2017, 10:52:31 PM
I see that your project is always about making crptocurrency things more simple than it usually be. Maybe you should call your project "The Simple Project" ;D

more simple - more popular, isnt?
it is good way to popularization)

I am a big fan of simplicity, yes :)

Simple things tend to be popular because people have to spend less time and mental effort.

And simple code tends to be more secure and reliable.


Title: Re: The Simplest Bitcoin Wallet
Post by: sabbathhawk on August 16, 2017, 11:41:17 AM
good job, nice to see people invest so much time and efforts to infrastructure of bitcoin. it helps a lot for wider adoption. thank you!


Title: Re: The Simplest Bitcoin Wallet
Post by: NxtChg on August 16, 2017, 11:55:22 AM
good job, nice to see people invest so much time and efforts to infrastructure of bitcoin. it helps a lot for wider adoption. thank you!

Thank you for your kind words.


Title: Re: The Simplest Bitcoin Wallet
Post by: Qunenin on August 16, 2017, 05:00:36 PM
So basically what you're looking for people to do, is to allow your website to create their private and public key pair. That information could easily be stored by you, in fact depending on the use of the wallet it would almost be expected. So with pretty much no business background that the public sees, you are expecting them to trust you with access to every single wallet that your site creates?


Title: Re: The Simplest Bitcoin Wallet
Post by: NxtChg on August 16, 2017, 05:12:16 PM
That information could easily be stored by you, in fact depending on the use of the wallet it would almost be expected.

Why would you expect that? No, it is not easy to store it as the client sends zero information to my site.

The whole point of deriving keys and signing the tx in JS is so the keys never leave your browser.

If you are extra paranoid, you can run it from your local machine. The wallet is open-source and much simpler than coinb.in, you can verify everything even if you are not an expert.


Title: Re: The Simplest Bitcoin Wallet
Post by: NxtChg on August 17, 2017, 09:04:51 AM
About smaragda and his lies:

https://medium.com/@nxtchg/about-smaragda-and-his-lies-c376e4694de9


Title: Re: The Simplest Bitcoin Wallet
Post by: NxtChg on August 21, 2017, 10:52:07 AM
Both BTC and BCC versions now support uncompressed private keys (those that start with 5).


Title: Re: The Simplest Bitcoin Wallet
Post by: NxtChg on August 21, 2017, 02:34:07 PM
The Simplest Bitcoin Wallet got its own domain:

https://tsbw.io

Also I'm using Let's Encrypt for the first time, so let me know if there are any issues with HTTPS connection.


Title: Re: The Simplest Bitcoin Wallet
Post by: NxtChg on August 25, 2017, 10:31:37 AM
Fees are now displayed in the wallet (if not, clear browser's cache and refresh the page).

For BTC the fee is set to 0.0009 and it might still not be enough :(


Title: Re: The Simplest Bitcoin Wallet
Post by: raymart0720 on August 25, 2017, 01:25:58 PM
safety and security is the first thing comes in my mind
simple codes for a wallet is more phrone to attackers...
system should be in critical algorithms and special codes server for them to run perfect and not to cause any malfunction
any problems can result in youir wallet to report and close down..
I've see a lot of sites been shut down because of like these :)


Title: Re: The Simplest Bitcoin Wallet
Post by: maeusi on August 26, 2017, 09:25:27 PM
The wallet is really simple to use. But can we trust the wallet? I will try with a little amount because I like it simple.


Title: Re: The Simplest Bitcoin Wallet
Post by: nightrider on August 27, 2017, 03:35:40 AM
Fees are now displayed in the wallet (if not, clear browser's cache and refresh the page).

For BTC the fee is set to 0.0009 and it might still not be enough :(

It seems that 0.0009 btc is still a small fee in btc, however, with the current bitcoin value, we are paying a high fee for each transaction. Too expensive if using bitcoin for small transactions.