Bitcoin Forum
April 23, 2014, 09:16:00 AM *
News: Due to the OpenSSL heartbleed bug, changing your forum password is recommended.
 
   Home   Help Search Donate Login Register  
Pages: [1] 2 3  All
  Print  
Author Topic: [ANNOUNCE] Webcoin Alpha Sneak Preview  (Read 11692 times)
Stefan Thomas
Administrator
Full Member
*
Offline Offline

Activity: 230


AKA: Justmoon


View Profile WWW
May 05, 2011, 08:21:09 PM
 #1

Hey everybody,

I just uploaded a little screencast as a preview of our upcoming code dump. Smiley

It's basically an implementation of a heavy-server, lightweight-client in JavaScript (Node.js on the server and jQuery in the client). Highlights:

- The server does NOT use the JSON-RPC API. The server uses node-bitcoin-p2p to connect directly to the Bitcoin network. Right now we still connect to a single trusted node because node-bitcoin-p2p lacks a full script interpreter for proper tx verification, but we're hoping to add that at some point.

- The server does NOT see your private keys. Transaction signing is done on the client side. Of course in a webapp the server can just serve you code that has you send it your private keys. But firstly, it still provides some protection against hackers, because the client HTML/JS can be hosted on a very secure static HTTP server, whereas all the dynamic node.js stuff is on a different machine. Secondly, future clients will be open-source desktop or mobile clients where the same checks apply as with the official client. (People can look at the code and make sure it doesn't send the private keys anywhere.)

Right now Webcoin is still pretty buggy, but we're planning to release the rest of the code and an official beta deployment very soon.

You can watch the video here:
http://www.youtube.com/watch?v=KTmFwnIRG9c
(Sorry for audio sync issues and poor resolution - next screencast will be better in those respects. Also, you can download it in 1280x800 here.)

Follow our progress here:
http://twitter.com/bitcoinjs
http://www.bitcoinjs.org/
http://github.com/bitcoinjs

Tip here:
13SjwsodtKsAhQwPx14s7aqKpnooeep4i5

Contact us here:
bitcoinjs (at-sign) justmoon.net

And I'm happy to answer any questions here in the thread. Documentation obviously will be forthcoming, but based on your comments here I'll be able to get a sense what you guys are most interested in and therefore what we should focus on.

I've also got major thanks to give out to these fine folks:

- [mike] for BitcoinJ - much of our code is just a port of this excellent library
- Andrew Schaaf of Bitcoin Labs for reviewing the API and letting us use some of his code
- Gavin Andresen for reviewing the API documentation and providing feedback
- booo from github for JSLint'ing and cleaning up a lot of node-bitcoin-p2p
- jb55 from github for debugging and pull requests

Massive thanks to the guys at Trucoin who have supported this project every step of the way. I'd encourage everybody to keep a close eye on them, they are working on some badass stuff! They've also agreed to provide the funding for a reference Webcoin installation.

I want to point out that this is a preview, there are still plenty of bugs cropping up. We'll post a link to a demo installation once we get it a little bit more stable.

Cheers,

Stefan  Smiley

Unbeatable Service & Product Support
Grab Your Miners at GAWMiners.com
Order Before April 25th to receive
Double your Hashing Power for 1 week!

Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1398244560
Hero Member
*
Offline Offline

Posts: 1398244560

View Profile Personal Message (Offline)

Ignore
1398244560
Reply with quote  #2

1398244560
Report to moderator
ByteCoin
Sr. Member
****
expert
Offline Offline

Activity: 413


View Profile

Ignore
May 05, 2011, 08:48:12 PM
 #2

I watched the video, and browsed the source code, especially the mathsy stuff. Looks good!

Note how it's built off bitcoinj rather than the C++ code. I wonder whether the development and the addition of new features will occur faster on this codebase and the C++ codebase will stagnate somewhat by comparison.

ByteCoin
jimbobway
Hero Member
*****
Offline Offline

Activity: 1269



View Profile

Ignore
May 05, 2011, 09:41:12 PM
 #3

Amazing...great work guys.
Vasili Sviridov
Member
**
Offline Offline

Activity: 104


View Profile WWW

Ignore
May 05, 2011, 09:41:59 PM
 #4

Donated Smiley Looks way cool and slick too.

1JHYtsmsGq2McwGHmWayVjVtHds8rp1R5
Mike Hearn
Hero Member
*****
expert
Offline Offline

Activity: 1232


View Profile

Ignore
May 05, 2011, 09:43:34 PM
 #5

Looks great! I've wondered for a while how practical a JavaScript implementation of BitCoin would be. Good to know modern engines are fast enough to handle it.

I took a browse through the code, I think you give BitCoinJ too much credit - it's clearly a fresh implementation, which is good. My only caveat is that if you're using the algorithms there for block chain reorgs, make sure to keep up with the latest version from svn head. I don't have re-org handling totally right yet, though it's getting closer. Also, I'm sure you're aware of this, but BitCoinJ does not implement all the rules of the network and so isn't safe to use yet - eg, it will happily generate transactions that don't meet the fee requirements and thus never confirm.

The UI is very clean. Really looking forward to seeing this develop and discussing it with you on Saturday.

12LMm82ZgAzf7yNDpPydEYxEr4Ap7XtSSK
cypherdoc
Hero Member
*****
Offline Offline

Activity: 1120



View Profile

Ignore
May 05, 2011, 10:29:03 PM
 #6

congrats guys.  nice work. Cheesy
dust
Hero Member
*****
Offline Offline

Activity: 840



View Profile WWW

Ignore
May 05, 2011, 10:52:40 PM
 #7

This looks very promising... excellent work.

Cryptocoin Mining Info | OTC | PGP | Twitter | freenode: dust-otc | BTC: 1F6fV4U2xnpAuKtmQD6BWpK3EuRosKzF8U
Matt Corallo
Hero Member
*****
expert
Offline Offline

Activity: 574


View Profile

Ignore
May 05, 2011, 10:52:45 PM
 #8

Brilliant, nice work.

Bitcoin Ubuntu PPA maintainer
1JBMattRztKDF2KRS3vhjJXA7h47NEsn2c
PGP ID: 0A82 5097 67C7D4A5D14DA2301AE1D35043E08E54
lulzplzkthx
Sr. Member
****
Offline Offline

Activity: 308



View Profile WWW

Ignore
May 05, 2011, 11:25:25 PM
 #9

Wow. That is beautiful. Very nice job, and I might try it out in a few minutes.

Very cool.

Stefan Thomas
Administrator
Full Member
*
Offline Offline

Activity: 230


AKA: Justmoon


View Profile WWW
May 05, 2011, 11:40:35 PM
 #10

My only caveat is that if you're using the algorithms there for block chain reorgs, make sure to keep up with the latest version from svn head. I don't have re-org handling totally right yet, though it's getting closer.

Thanks for the heads-up. Re-org isn't working yet - there was a split yesterday and node-bitcoin-p2p threw an exception. I doubt I'll be able to get it working reliably until we have a proper test harness that can simulate a split.


Note how it's built off bitcoinj rather than the C++ code. I wonder whether the development and the addition of new features will occur faster on this codebase and the C++ codebase will stagnate somewhat by comparison.

The C++ code is the backbone of Bitcoin and will remain so for years to come. I think clients in other languages will fill certain niches as well as providing a testbed for new features.


Very nice job, and I might try it out in a few minutes.

We're still re-packaging and uploading the code. Here's the status:

Edit: Updated the list below. Everything is uploaded now, but probably not enough documentation to get it running especially given how buggy it still is.

node-bitcoin-p2p: online
node-bitcoin-explorer: online, cool little demo app, start here if you want to get your feet wet
bitcoinjs-lib: online, but no docs and pretty rough around the edges
bitcoinjs-gui: online, no docs, hardcoded settings, ...
node-bitcoin-exit: online, no docs
node-bitcoin-wallet: in development

suntsu
Newbie
*
Offline Offline

Activity: 11


View Profile

Ignore
May 06, 2011, 02:51:31 PM
 #11

+1. very impressive demo. the prospect to run bitcoin in the browser to multiple computers, run it on a mobile phone and have secure wallet storage in the cloud looks very promising.

caveden
Hero Member
*****
Offline Offline

Activity: 1092



View Profile

Ignore
May 06, 2011, 03:16:11 PM
 #12

Great job!!

Regarding the issue of the server providing you bad scripts, how hard would it be to make this code a browser extension with a configurable connection point to access the bitcoin network?

18rZYyWcafwD86xvLrfuxWG5xEMMWUtVkL
Dusty
Hero Member
*****
Offline Offline

Activity: 636


Libertas a calumnia


View Profile WWW

Ignore
May 06, 2011, 03:39:21 PM
 #13

Very impressive stuff, very clever implementation, hat off!

Articoli bitcoin: Il portico dipinto
Stefan Thomas
Administrator
Full Member
*
Offline Offline

Activity: 230


AKA: Justmoon


View Profile WWW
May 06, 2011, 07:57:59 PM
 #14

Regarding the issue of the server providing you bad scripts, how hard would it be to make this code a browser extension with a configurable connection point to access the bitcoin network?

Shouldn't be too hard. In the case of Firefox, you'd create a new extension, include bitcoinjs-gui as a subfolder and add a button that opens a tab with it using the correct chrome:// URL. You'd probably make some changes like add an options panel where people can choose a different exit node and use some other API than localStorage for storing the data.

Hal
VIP
Sr. Member
*
expert
Offline Offline

Activity: 314



View Profile

Ignore
May 06, 2011, 11:12:50 PM
 #15

Q on the video:

You received 1 btc, then before it was confirmed, made a payment of 0.1 btc. Was that payment real? When we cut to the future, the 1 btc tx had 2 confirmations, but the 0.1 had none. Both txns could have been confirmed in the same block. Do you know why that didn't happen?

Hal Finney
Stefan Thomas
Administrator
Full Member
*
Offline Offline

Activity: 230


AKA: Justmoon


View Profile WWW
May 07, 2011, 12:44:51 AM
 #16

Q on the video:

You received 1 btc, then before it was confirmed, made a payment of 0.1 btc. Was that payment real? When we cut to the future, the 1 btc tx had 2 confirmations, but the 0.1 had none. Both txns could have been confirmed in the same block. Do you know why that didn't happen?

Yep, the transactions are real:

http://blockexplorer.com/address/1FhXuUHaww1qkn2Mb6BURZgR3T9xoyjQtz

The 0.1 BTC transaction got confirmed seven hours later. I haven't done any small fee-less transaction lately, but around the time when we recorded the video I had quite a few cases where that type of tx took a long time to confirm.

For example this is a 0.01 BTC fee-less transaction, sent with the official client (0.3.21) that took 32.5 hours to confirm:

http://blockexplorer.com/tx/0c1a398a2534c79639fcf9416b26aad3e5f5aa51a5907d79f2f5ff4fe927a5e9
Sent: 5/4/2011 01:59
Confirmed: 5/5/2011 10:24

cypherdoc
Hero Member
*****
Offline Offline

Activity: 1120



View Profile

Ignore
May 07, 2011, 05:49:44 AM
 #17

justmoon, can you clarify; where are the private keys stored esp. in the situation in the future when we have smartphone, laptop, and desktop clients?
Steve
Hero Member
*****
Offline Offline

Activity: 840



View Profile WWW

Ignore
May 07, 2011, 01:17:30 PM
 #18

This is really fantastic and I'm glad you chose to use JavaScript on the server.  It's great when you have only one language to deal with on both the client and the server.  Nice work!

Also, I like the architecture of keeping all private keys on the client and performing all transaction signing there.  I think this is the right way to do hosted wallets.

(gasteve on IRC) Does your website accept cash? https://bitpay.com
LZ
Staff
Hero Member
*****
Offline Offline

Activity: 1050


Satoshi everywhere!


View Profile WWW

Ignore
May 07, 2011, 01:54:11 PM
 #19

I can not find words! Cheesy

"Never invest unless you can afford to lose your entire investment."  ©  S3052
Feel free to contact me using Bitmessage: BM-GtRPz1ESAoFCGjHwD2c3y8McqzXjjo1f
disq
Jr. Member
*
Offline Offline

Activity: 41



View Profile

Ignore
May 08, 2011, 06:31:05 AM
 #20

looking good, also it's good to see some nodejs action in a project about bitcoin Smiley

1LFWHcXqRAfq6GiS3s7disq1p7iKkinshp <-- just to show off my address, who tips to forum signatures anyway?

Rug Monitor - Monitor your mining rigs, generate useful if not pretty charts.
Pages: [1] 2 3  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!