Pages:
Author

Topic: JavaScript UI for Bitcoin, QR code, bitcoin: URIs (Read 11975 times)

jr. member
Activity: 37
Merit: 1
I modified my copy of bitcoin-js-remote to accept a wallet passphrase and allow sending from an encrypted wallet. If any wants a copy just PM me.

jr. member
Activity: 37
Merit: 1
I had come across bitcoin-js-remote about a year ago and wanted to use it. But since bitcoind did not encrypt the wallet file at the time, I decided not to. Now that bitcoind does encrypt the wallet, bitcoin-js-remote would be a great way to access that wallet. However, it just needs to support the new RPC commands to send the wallet passphrase. tcatm, are you still interested in this project?
jr. member
Activity: 37
Merit: 1
I have setup bitcoin-js-remote 0.3.6. https://github.com/tcatm/bitcoin-js-remote

It communicates with bitcoind nicely and provides a great interface for sending and receiving bitcoins.

However when I have bitcoind encrypt the wallet file and then try to send bitcoins, I get the message:

  Error: Please enter the wallet passphrase with walletpassphrase first.

However on the form to send bitcoins there is no field to enter the wallet passphrase. I also checked in the Settings/Server Info and there was no field for wallet passphrase there either.

Since bitcoind supports wallet encryption with a passphrase, it would be great if the form to send bitcoins allowed the wallet passphrase to be entered.
sr. member
Activity: 337
Merit: 265
v0.3.5:
* support for subcent values
hero member
Activity: 616
Merit: 500
Firstbits.com/1fg4i :)
Hm, what version of Python does it need?
member
Activity: 107
Merit: 10
And a lot more people will start to use their phones to tip people in bitcoins using the js-remote and the open source bitcoin bank that will eventually exist (hint, hint to developers looking for a good project).

I'm presently working on this. I'll post again once I have something working up on github. I'm actually kinda surprised nobody has use js-remote in this way yet.

I created a new topic to discuss application of tcatm's project here.
hero member
Activity: 616
Merit: 500
Firstbits.com/1fg4i :)
I see, thanx
sr. member
Activity: 337
Merit: 265
Because of Cross-Site Scripting protection in most browsers you need the python server.
hero member
Activity: 616
Merit: 500
Firstbits.com/1fg4i :)
wait, for connecting to bitcoind running on the same machine, do i need to run the python  server or just loading the html page sets everything up?
Hal
vip
Activity: 314
Merit: 3954
do i have to run the ssl server to use it locally?
The js-remote script implements a ssl web server, fully self contained. You don't need apache. Just run SSLserver.py, open up port 8338 for incoming, and connect with your mobile browser to https://yourhost.com:8338. Then you can access your wallet from anywhere, check balance, make payments, etc.
hero member
Activity: 714
Merit: 500
And a lot more people will start to use their phones to tip people in bitcoins using the js-remote and the open source bitcoin bank that will eventually exist (hint, hint to developers looking for a good project).

I'm presently working on this. I'll post again once I have something working up on github. I'm actually kinda surprised nobody has use js-remote in this way yet.
hero member
Activity: 616
Merit: 500
Firstbits.com/1fg4i :)
do i have to run the ssl server to use it locally?
member
Activity: 107
Merit: 10
I have not tried, yet, but that isn't my concern. I think I need to describe two scenarios to illustrate the point I'm trying to get across. Try to see yourself in each situation. If anyone else can boil this down to the important points, I will appreciate it greatly.

Scenario 1: Person (me) to Person (Fred)
For whatever reason, I am transferring bitcoins to Fred. He has tcatm's js-remote and generates a qr code for me. I trust that the qr-code containing a bitcoin address is Fred's because Fred is the one who generated it for me and I watched him do it. Therefore, I don't need to see a digitally signed message in order to trust that my bitcoins will go to Fred.

Scenario 2: Person (me) to Employee (Fred)*
Fred makes sandwiches at a local sandwich shop. The owner of the shop posted a poster on the wall that has pictures of all the employees on the wall and their corresponding qr-codes underneath each person. How do I know that my bitcoins will go to Fred? For all I know, the boss could own the bitcoin addresses and take all the tips. Fred doesn't really understand what Bitcoin is, but he understands that he can get tips with it, so he trusts his boss to manage the tips for him. WHY? He can manage them himself. All Fred needs to do is give his boss a qr-code with a signed message containing his Bitcoin address and his name. All his boss needs to do is display an image resembling Fred's and Fred's qr-code. Any patron who scans the code can easily verify two things: the picture on the wall looks like Fred, and, the name in the qr-code says "Fred".

My concern is that a qr-code with a signed message will be really big, but that's ok because it will be displayed on a big poster. Any smart phone should be able to resolve the qr image since it is so big. But, the tools to parse the payload from the signed message don't exist yet, or so I understand. If someone can develop these tools, I think a lot more posters will go up. And a lot more people will start to use their phones to tip people in bitcoins using the js-remote and the open source bitcoin bank that will eventually exist (hint, hint to developers looking for a good project).



* This should go in a new topic for more depth, but eventually, there won't be employers and employees. There will be people pursuing their passions. The current passion of the "employer" is to serve excellent sandwiches to his guests. He will let butchers bring in various types of meats, bakers bring in various types of bread, farmers bring in various types of vegetables, and people contribute their sandwich making skills. Patrons won't be patrons. They will be people looking to have a good sandwich experience. If they like the product that everybody combined to make (a sandwich at a nice place to eat sandwiches), they will tip the contributors accordingly or else they will be seen as stingy and ungrateful within the community (which runs the risk of being ostracized / booted out / ban hammered / eighty-sixed). The "employer" will decide who's posters will appear on the wall. Think of it as a wall of fame. Placement and rank has to be earned by producing something valuable first. Quality goes up, cost goes down.
sr. member
Activity: 337
Merit: 265
Have you tried the example QR codes? You can include a message that is displayed to the user (not signed, though) and where he can either send or cancel the transaction.

I'd like to start a "bank" that uses js-remote as it's frontend, but I'm very busy lately so it might take some months but some backend code is already working.
member
Activity: 107
Merit: 10
Are there any Bitcoin banks that have integrated this? Are there any banks out there willing to integrate this? I bet they would make good competition for mybitcoin.

tcatm, suppose I wanted to print my bitcoin address on a poster in the form of a qr code. How big would the qr code have to be to hold a digitally signed message containing a person's name and their address? Is it theoretically possible for your app to read the qr code, parse out the name and bitcoin address, display them nicely, and present an empty text field with a "send" button?
sr. member
Activity: 337
Merit: 265
Yes, you can host it on Apache, but you need to tell Apache to tunnel the JSON RPC requests to bitcoin. (I don't know how to do that)
newbie
Activity: 56
Merit: 0
When I try that, the python script repeatedly asks me for the PEM passphrase, and the page never loads. Is it possible for me to host this using Apache?
sr. member
Activity: 337
Merit: 265
Just create certificates with openssl:

openssl req -new -newkey rsa:1024 -days 365 -nodes -x509 -keyout server.pem -out server.cert

and run it with:

python SSLserver.py -r http://localhost:8332/

then connect to https://$IP:8338/
newbie
Activity: 56
Merit: 0
I can't seem to get this working. Do I have to use your Python SSL server, or can I use Apache? How do I configure it?
sr. member
Activity: 337
Merit: 265
Fixed a bug preventing sending in labelsmode in some cases.
Pages:
Jump to: