Bitcoin Forum
May 05, 2024, 11:09:54 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: [BOUNTY] Electrum Firefox Extension  (Read 6968 times)
ThomasV (OP)
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
May 10, 2012, 06:10:33 PM
Last edit: August 16, 2012, 09:10:59 AM by ThomasV
 #1

I want a Firefox extension that implements an Electrum client in javascript, and that users can install in one click.
I have no experience writing Firefox extensions, so I guess it is better to find someone else who can do that.

Here is what needs to be done in order to claim the bounty:
 - the client should be able to generate addresses, send and receive coins, show the transaction history.
 - the client should use the Electrum deterministic address generation and mnemonics. It must be able to read/write the wallet on disk, using the same file format.
 - the client should synchronize its wallet with the server (eg using a timer)
 - javascript. The code should be entirely included in the extension. No code should be downloaded by the extension.
 - the extension should detect bitcoin: URIs

Note that a big part of the work has already been done by Joric (see http://brainwallet.org/) : his brainwallet code can generate Electrum addresses and sign transactions. What needs to be done is the jsonrpc communication with Electrum servers, packaging the whole thing as a Firefox extension.

I am pledging 10 BTC for this task.
If you want to increase the bounty, please send your pledges to:  bitcoin:1NiiYDMxHgfUH2nFcu5A6z6rix8Yc4cgVs

If the bounty has not been claimed within 3 months (august 11th), plegdes will be returned to their originators (the first input address of the transaction).


Update (august 16, 2012): the bounty campaign was not successful. Pledge returned.

Electrum: the convenience of a web wallet, without the risks
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714907394
Hero Member
*
Offline Offline

Posts: 1714907394

View Profile Personal Message (Offline)

Ignore
1714907394
Reply with quote  #2

1714907394
Report to moderator
1714907394
Hero Member
*
Offline Offline

Posts: 1714907394

View Profile Personal Message (Offline)

Ignore
1714907394
Reply with quote  #2

1714907394
Report to moderator
da2ce7
Legendary
*
Offline Offline

Activity: 1222
Merit: 1016


Live and Let Live


View Profile
May 11, 2012, 04:40:17 AM
 #2

I applaud this effort, so much so I am willing to make add a 10 BTC bounty for a Google Chrome 'app' in the same style as the Firefox one.

Edit: To claim this bounty, the FF one must be first claimed to ThomasV's satisfaction.

One off NP-Hard.
minimalB
Donator
Hero Member
*
Offline Offline

Activity: 674
Merit: 522


View Profile
May 11, 2012, 09:49:58 AM
 #3

I pledge 5btc.
ThomasV (OP)
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
May 12, 2012, 12:40:19 PM
 #4

bumping this. 25 btc have been pledged so far.

Electrum: the convenience of a web wallet, without the risks
ThomasV (OP)
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
May 14, 2012, 06:47:01 PM
 #5

bump again!
please participate!

A Firefox wallet addon would be as easy to use as a web wallet, with the security and availability of Electrum!

Electrum: the convenience of a web wallet, without the risks
ThomasV (OP)
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
May 21, 2012, 12:50:20 PM
 #6

Clarification:

the extension has to read/write the wallet on disk.
this does not mean that the wallet has to reside on the path used by other clients; it can be in your .firefox directory



Electrum: the convenience of a web wallet, without the risks
Eli
Full Member
***
Offline Offline

Activity: 128
Merit: 100



View Profile
May 21, 2012, 03:45:10 PM
 #7

I applaud this effort, so much so I am willing to make add a 10 BTC bounty for a Google Chrome 'app' in the same style as the Firefox one.

Edit: To claim this bounty, the FF one must be first claimed to ThomasV's satisfaction.

I join this with a pledge of 5BTC generally, and add an extra 10BTC to the pledge if this is implemented for Safebit.

Safebit is currently a Chrome app, does this work for you, da2ce7? Smiley
ThomasV (OP)
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
May 21, 2012, 03:59:08 PM
 #8

I applaud this effort, so much so I am willing to make add a 10 BTC bounty for a Google Chrome 'app' in the same style as the Firefox one.

Edit: To claim this bounty, the FF one must be first claimed to ThomasV's satisfaction.

I join this with a pledge of 5BTC generally, and add an extra 10BTC to the pledge if this is implemented for Safebit.

Safebit is currently a Chrome app, does this work for you, da2ce7? Smiley

I am not sure to understand what you mean...
Safebit is currently a chrome frontend to bitcoind.
Are you proposing to extend it so that it works with an Electrum server? that would be terrific

Electrum: the convenience of a web wallet, without the risks
ffe
Sr. Member
****
Offline Offline

Activity: 308
Merit: 250



View Profile
May 21, 2012, 10:05:29 PM
 #9

track
Xenland
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
May 26, 2012, 10:25:18 PM
 #10

interesting.....
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
June 01, 2012, 01:25:43 PM
 #11

will the packages be signed? by who?

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
ThomasV (OP)
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
June 01, 2012, 01:36:46 PM
 #12

will the packages be signed? by who?

it depends on how the extension is distributed.
note that we currently have the same problem with windows builds.

Electrum: the convenience of a web wallet, without the risks
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
June 01, 2012, 05:36:54 PM
 #13

will the packages be signed? by who?

it depends on how the extension is distributed.
note that we currently have the same problem with windows builds.


yes,... and android, I guess, right?

It's still unclear (as talked about on irc quite a while back) to me as to how package trust can be established. Surely you can't oversee / facilitate production of the packages for all the platforms and you're currently not the producer of the windows binaries, right? There also are no android packages as of now, correct?

sorry to have veered a little off-topic, bit this issue is nagging in the back of my head.

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
ThomasV (OP)
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
June 01, 2012, 05:57:08 PM
 #14

will the packages be signed? by who?

it depends on how the extension is distributed.
note that we currently have the same problem with windows builds.


yes,... and android, I guess, right?

It's still unclear (as talked about on irc quite a while back) to me as to how package trust can be established. Surely you can't oversee / facilitate production of the packages for all the platforms and you're currently not the producer of the windows binaries, right? There also are no android packages as of now, correct?

sorry to have veered a little off-topic, bit this issue is nagging in the back of my head.

No problem, it is indeed an important issue.
Note that the problem is a bit different for source code and compiled versions.

For the bitcoin-qt client, binaries are compiled independently by several developers, and they check that they get the same result (they publish a hash of the compiled file). It would be nice to have that kind of check for the Windows binaries of Electrum.

In addition, it would be good if the hashes would be published on a different website than the sitethat distributes the packages or binaries. (in case the site gets hacked)

Electrum: the convenience of a web wallet, without the risks
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
June 01, 2012, 07:56:51 PM
 #15

will the packages be signed? by who?

it depends on how the extension is distributed.
note that we currently have the same problem with windows builds.


yes,... and android, I guess, right?

It's still unclear (as talked about on irc quite a while back) to me as to how package trust can be established. Surely you can't oversee / facilitate production of the packages for all the platforms and you're currently not the producer of the windows binaries, right? There also are no android packages as of now, correct?

sorry to have veered a little off-topic, bit this issue is nagging in the back of my head.

No problem, it is indeed an important issue.
Note that the problem is a bit different for source code and compiled versions.

For the bitcoin-qt client, binaries are compiled independently by several developers, and they check that they get the same result (they publish a hash of the compiled file). It would be nice to have that kind of check for the Windows binaries of Electrum.

That's not a bad idea. You need at least 2 packagers per platform for that to work and some mechanism by which a rogue packager can be prevented to distribute his "alternative version". I doubt you'll get the users to compare hashes from different sources, so there has to be some instance or collaborative effort to do that?

In addition, it would be good if the hashes would be published on a different website than the sitethat distributes the packages or binaries. (in case the site gets hacked)

maybe put them in the blockchain somehow?

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
anfedorov
Newbie
*
Offline Offline

Activity: 44
Merit: 0


View Profile
June 03, 2012, 06:01:12 AM
 #16

- the client should use the Electrum deterministic address generation and mnemonics. It must be able to read/write the wallet on disk, using the same file format.

Could you explain the reasoning behind this? Will you be editing or accessing the wallet file directly on the filesystem? Browser extensions usually don't write to the filesystem, and actually can't in any browser but Firefox, where it gets a bit hairy since paths are platform-dependent. Would it be acceptable to write the file to localStorage (which is saved on the filesystem)?
ThomasV (OP)
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
June 03, 2012, 06:07:27 AM
 #17

- the client should use the Electrum deterministic address generation and mnemonics. It must be able to read/write the wallet on disk, using the same file format.

Could you explain the reasoning behind this? Will you be editing or accessing the wallet file directly on the filesystem? Browser extensions usually don't write to the filesystem, and actually can't in any browser but Firefox, where it gets a bit hairy since paths are platform-dependent. Would it be acceptable to write the file to localStorage (which is saved on the filesystem)?

yes it is acceptable to use localstorage.
the idea is that users should not be stuck with the extension;
the "restore from seed" procedure should be identical, and users should be able to export their wallet in a format that is read by the python client.

(note: it is also possible to export the wallet as a json object; it is trivial to adapt the python client to read json)

Electrum: the convenience of a web wallet, without the risks
ThomasV (OP)
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
June 10, 2012, 10:25:41 AM
 #18

one month has elapsed! two more months to go..

several developers have expressed interest in this project.
it is still time to add a donation and increase the bounty!

Electrum: the convenience of a web wallet, without the risks
anfedorov
Newbie
*
Offline Offline

Activity: 44
Merit: 0


View Profile
June 14, 2012, 10:29:58 PM
 #19

Note that a big part of the work has already been done by Joric (see http://brainwallet.org/) : his brainwallet code can generate Electrum addresses and sign transactions. What needs to be done is the jsonrpc communication with Electrum servers, packaging the whole thing as a Firefox extension.

To anyone working on this, I cleaned up the address generation code to be a bit easier to understand. You can get it here: https://gist.github.com/2933373
anfedorov
Newbie
*
Offline Offline

Activity: 44
Merit: 0


View Profile
June 15, 2012, 02:37:25 AM
 #20

(note: it is also possible to export the wallet as a json object; it is trivial to adapt the python client to read json)

ThomasV: could you implement import/export via JSON in the next version of the Electrum client? As you say, it shouldn't be too hard...
Pages: [1] 2 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!