Bitcoin Forum
May 02, 2024, 11:40:48 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 [4]  All
  Print  
Author Topic: [BOUNTY] 200 BTC for lightweight colored coin client(s)  (Read 10617 times)
killerstorm (OP)
Legendary
*
Offline Offline

Activity: 1022
Merit: 1015



View Profile
April 13, 2013, 08:22:54 PM
 #61

I'm trying to get bitcoinjs-server working under Windows 7. Where is bin/bitcoinjs supposed to find module "step"?

That's brave.

We have a Linux server for development... I can give you ssh access.

Or even set up NX...

 I worked via NX for about a month, until I bought a new laptop which made it unnecessary.

Chromia: a better dapp platform
1714693248
Hero Member
*
Offline Offline

Posts: 1714693248

View Profile Personal Message (Offline)

Ignore
1714693248
Reply with quote  #2

1714693248
Report to moderator
1714693248
Hero Member
*
Offline Offline

Posts: 1714693248

View Profile Personal Message (Offline)

Ignore
1714693248
Reply with quote  #2

1714693248
Report to moderator
1714693248
Hero Member
*
Offline Offline

Posts: 1714693248

View Profile Personal Message (Offline)

Ignore
1714693248
Reply with quote  #2

1714693248
Report to moderator
"I'm sure that in 20 years there will either be very large transaction volume or no volume." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714693248
Hero Member
*
Offline Offline

Posts: 1714693248

View Profile Personal Message (Offline)

Ignore
1714693248
Reply with quote  #2

1714693248
Report to moderator
killerstorm (OP)
Legendary
*
Offline Offline

Activity: 1022
Merit: 1015



View Profile
April 19, 2013, 11:24:42 AM
 #62

New bounties will be announced via issue tracker.

Updates (fragments of emails from bitcoinX mailing list, sorry); :



Here's it running on testnet: http://devel.hz.udoidio.info:3125/index.html
You can grab testcoins here: http://testnet.mojocoin.com/

"Colorize" button doesn't do anything useful... It simply identifies color of each unspent transaction output in a wallet. If that is successful it alerts 'triumph'.



Here's how to run it:

1. I use nodejs 0.8.9, otherwise there seems to be a problem with building bitcoinjs-server.
    Although if you feel enthusiastic you can try later version of node. Maybe I'm missing something...
2. clone git repos:
git clone https://github.com/killerstorm/bitcoinjs-server.git
git clone https://github.com/killerstorm/bitcoinjs-gui.git --recursive
git clone https://github.com/killerstorm/node-bitcoin-exit.git --recursive
git clone https://github.com/killerstorm/bitcoin-tx-spent-db.git

For bitcoin-tx-spent-db, make sure you're on branch extra, and if you already cloned it before you need to wipe some commits, sorry:

git reset --hard refs/remotes/origin/extra

2. install bitcoinjs-server as described here: https://github.com/bitcoinjs/bitcoinjs-server/wiki/Installation
3. launch bitcoinjs-server:
3.1. launch bitcoind -testnet, it seriously speeds up blockchain download for some reason
3.2. run bitcoinjs run --testnet, once it initializes hit ctrl-c and edit ~/.bitcoinjs/testnet/settings.js:
        add cfg.verifyScripts = false; to the end
        set cfg.jsonrpc.password = "admin"; and cfg.jsonrpc.enable = true;
3.3. copy ~/.bitcoinjs/testnet/settings.js to ~/.bitcoinjs/settings.js
3.4. now you can run bitcoinjs run --tesnet and let it download blockchain

4. copy bitcoinjs-gui/config/config.sample.js to bitcoinjs-gui/config/config.js and edit exitNodeHost
    ln -s ~/bitcoinjs-gui ~/node-bitcoin-exit/public

5. in node-bitcoin-exit:
   npm link bitcoinjs
   npm install

6. stop bitcoinjs, in node-bitcoin-exit run `node server.js --testnet`
7.in bitcoin-tx-spend-db, npm install and then run `node app.js`
8. it should work now, point browser to http://localhost:3125/index.html

Note that even though it is on testnet, it shows mainnet address, so it won't properly.

To fix this, edit 7th line of bitcoinjs-gui/scripts/vendor/bitcoinjs-lib/src/address.js

  this.version = 0x6f;

(Yep, it should be automatic, in theory, but nobody bothered to implement it...
I'm not even sure you can detect whether it is testnet in context of bitcoinjs-lib...)



First, we need a better name... Original author called it webcoin, I like it. But I guess we need to distinguish it...
Maybe WebcoinX?

I'm going to try issue tracker-driven process:

1. tasks will be posted to issue tracker. it includes bounty amount
2. if you want to do it, assign it to yourself
3. write code, commit it to your repo
4. include your bitcoin address in commit's comment
5. notify me
6. after your commit is reviewed and incorporated, bounty will be paid to your address

We are going to try github's issue tracker for the start. Since project is spread over many repositories, it won't be issue tracker associated with a concrete repo, but instead this one:

https://github.com/bitcoinx/colored-coin-tools/issues

Should you use pull requests? Well, I don't see value in them, just write an issue comment, notify me over email or something.
If you are a big fan of pull requests, I don't mind.

Repositories hosted on https://github.com/killerstorm/ account should be considered dev branches
Repositories hosted on https://github.com/bitcoinx/ will be more like a stable branch.

Policy:
We need to develop this software as fast as possible, so it is not acceptable to grab task for a long time and make no progress, as it will slow down progress of a whole project.
So, please, grab an issue right before you start working on it. If it takes a lot of time, or you cannot work on it anymore for some reason, consider releasing it so other can grab. If not sure, write a comment. Release partial code.

If there is anything which doesn't fit to a particular issue, please post a message to this list, or write to me personally.
Discussion of code architecture, refactoring etc. is welcome.

If you think bounty is too low, notify me, I'll bump it upward, no problem.

It is possible to make a special arrangement to take ownership of a part of a code base.
It will make it easier to do refactoring in that area without going through issue tracker.

If github isn't adequate for this stuff we'll try something else.

Chromia: a better dapp platform
nyusternie
Full Member
***
Offline Offline

Activity: 211
Merit: 100


"Living the Kewl Life"


View Profile
April 19, 2013, 12:11:59 PM
 #63

i'll check this out over the weekend.
see if there is anywhere i can contribute.

1SDoTrAWQnbJ2ZHvLs3a2XxazqNSishn1
GPG A1638B57 | OTC nyusternie
tumak
Newbie
*
Offline Offline

Activity: 35
Merit: 0



View Profile WWW
April 23, 2013, 10:04:35 AM
 #64

Demo is running at:

http://webcoinx.tumak.cz/index.html

Chrome only (lots of debug console).

You'll need to use armory to issue yourself a color and add it as /colordefs/<colorid>.colordef in settings dialog. The web wallet is able to handle the rest (sending, receiving, color balances & tx sheet). Or simply post your testnet address and i'll hook you up Smiley
killerstorm (OP)
Legendary
*
Offline Offline

Activity: 1022
Merit: 1015



View Profile
April 23, 2013, 12:26:24 PM
 #65

You'll need to use armory to issue yourself a color and add it as /colordefs/<colorid>.colordef in settings dialog.

It is possible to issue colored coins without ArmoryX:

1. Send coins to yourself, for example, to webcoin wallet from testnet faucet (e.g. http://testnet.mojocoin.com/ )
2. Find transaction hash (in webcoin you can click button  in tx view and it shows you txhash there)
3. Find output index of output which belongs to you. Unfortunately, http://blockexplorer.com/testnet shows transactions only after they are included into blocks, but our own block explorer can show them immediately:
  http://devel.hz.udoidio.info:3334/bexplo.html
  (Ignore color definition form field, paste tx hash and click show. you can find your output by value it is supposed to have. Note that it shows value in satoshis.)
4. Use this form to generate color definition: http://btx.udoidio.info:8080/
    Name is up to your taste,
    unit is number of satoshis per unit of currency, for example 1.
    In textarea write txhash and outindex like this:

    df6b2f7bc5562b1209ba4b42ae2b0925e363bcb62962dfde50d694dc08b7b1d8:1
    Public key is not needed.
5. After you click submit, it will show you color ID and link to color definition file.
6. If you indend to use it for Webcoin, you only need colorid, go to Webcoin (logo)->Settings->Color settings, add it as /colordefs/<colorid>.colordef
7. You now can see your balance in colored coins are issued. (Use a dropdown menu to switch.)
8. Don't forget that when you send colored coins, recipient should have color definition installed BEFORE he receives them, otherwise coins might get lost.

Chromia: a better dapp platform
tumak
Newbie
*
Offline Offline

Activity: 35
Merit: 0



View Profile WWW
April 24, 2013, 08:06:53 AM
 #66

Some users reported all balances disappearing after transactions get confirmed in a block. This is bug in bitcoinjs (yet to be tracked down) unrelated to bitcoinx. Once this happens, only remedy at the moment is to generate new wallet.
nyusternie
Full Member
***
Offline Offline

Activity: 211
Merit: 100


"Living the Kewl Life"


View Profile
April 24, 2013, 01:45:02 PM
 #67

Some users reported all balances disappearing after transactions get confirmed in a block. This is bug in bitcoinjs (yet to be tracked down) unrelated to bitcoinx. Once this happens, only remedy at the moment is to generate new wallet.

when i first started working with bitcoinjs this was a very troubling bug (lost more than few btc -- back when they were $12). it occurs when the server is restarted and/or when the tx cache is cleared.

take a look at the storage.js file (towards the end)

Code:
hashes.push(key.slice(20));

can be change to:

Code:
var txhash = new Buffer(key.slice(20), 'binary');
hashes.push(txhash);

basically, it was only reading the last input

iirc this will fix that bug and ALL coins will automagically reappear Grin
that is unless you've deleted your wallet from the browser's storage in which case you're sol
even if you created a new wallet, the old one should still be there, just not active
let me know if you need help recovering any coins

edit: oh wait, you're running on testnet. so i guess its not a big deal

1SDoTrAWQnbJ2ZHvLs3a2XxazqNSishn1
GPG A1638B57 | OTC nyusternie
killerstorm (OP)
Legendary
*
Offline Offline

Activity: 1022
Merit: 1015



View Profile
April 24, 2013, 02:00:29 PM
 #68

take a look at the storage.js file (towards the end)

Code:
hashes.push(key.slice(20));

can be change to:

Code:
var txhash = new Buffer(key.slice(20), 'binary');
hashes.push(txhash);

basically, it was only reading the last input

I already fixed this one, but I think there is another bug in getAffectedTransactions(): it only returns hashes for one addressm hashes for other addresses are forgotten. (Check how hashes are passed in steps.)


Chromia: a better dapp platform
nyusternie
Full Member
***
Offline Offline

Activity: 211
Merit: 100


"Living the Kewl Life"


View Profile
April 24, 2013, 02:40:58 PM
 #69

I already fixed this one, but I think there is another bug in getAffectedTransactions(): it only returns hashes for one addressm hashes for other addresses are forgotten. (Check how hashes are passed in steps.)

huh, i vaguely remember that issue, but if i recall it was a problem with the exit node (in pubkeys.js), not with the server directly.

to be quite honest, i ran into so many issues with storage.js (or i just couldn't make sense of it) that i ended up re-writting the file from scratch. i'm now using async vs. step.

my development branch is a total mess right now as i'm experimenting with too many different things, however, I can review the code on my prod server and see if anything rings a bell. iirc it was a quick fix

1SDoTrAWQnbJ2ZHvLs3a2XxazqNSishn1
GPG A1638B57 | OTC nyusternie
tumak
Newbie
*
Offline Offline

Activity: 35
Merit: 0



View Profile WWW
April 26, 2013, 12:43:26 AM
 #70

Bug seems to be fixed:

https://github.com/katuma/bitcoinjs-server/commit/5bc47f6db270ccdf35026446df4db27164cf4ae6

Thanks to killerstorm for pointing out. At this point the web client seems to be solid, just did couple of dozen transactions without glitches. Cleaned up code for pull to bitcoinx repos & step by step guide how to deploy it will be released soon.
tumak
Newbie
*
Offline Offline

Activity: 35
Merit: 0



View Profile WWW
May 11, 2013, 11:27:59 PM
 #71

Just heads up, service is down for the moment, color server @

http://btx.udoidio.info:8080/static/colordefs

seems to be offline. Killerstorm?
matthewh3
Legendary
*
Offline Offline

Activity: 1372
Merit: 1003



View Profile WWW
July 04, 2013, 07:01:03 PM
 #72

Now that flattr accepting funding through bitcoin have you thought of setting up a flattr profile for the projects.  So that the projects can receive regular funding.  I'd be happy to set up a subscription.

killerstorm (OP)
Legendary
*
Offline Offline

Activity: 1022
Merit: 1015



View Profile
July 05, 2013, 06:27:02 PM
 #73

Our main developer (tumak) disappeared about 1 month ago.

We have quite functional prototype:

code: https://github.com/bitcoinx/webcoinx
demo: http://bitcoinx.github.io/webcoinx/

but it has many deficiencies, so both core and user interface need to be refactored/rewritten.

We are looking for developer(s) willing to take over development of colored coin web client and make it into a solid, stable product. (It won't be cut into multiple bounties, at least not at early stages.)

I'm mainly concerned about core part, i.e. one which implements wallet, coloring, transaction handling etc.

So we are looking mostly for candidates who

  • understand Bitcoin and Bitcoin-related cryptography (hashes, public/private keys, signing etc.)
  • understands security, i.e. is able to prevent problems which can lead to loss
  • has good 'software architect' skills, i.e. can organize code in such a way that parts will work well with each other, but offer great flexibility

Finding front-end developers is of lower priority.

Server side won't be implemented in JS, instead we'll use electrum-server with some colored coin-specific modifications. I'll be responsible for server side.

If you are interested, please contact me so we can discuss details.

Chromia: a better dapp platform
killerstorm (OP)
Legendary
*
Offline Offline

Activity: 1022
Merit: 1015



View Profile
July 05, 2013, 06:52:17 PM
 #74

Now that flattr accepting funding through bitcoin have you thought of setting up a flattr profile for the projects.  So that the projects can receive regular funding.  I'd be happy to set up a subscription.

1. Flattr doesn't pay in Bitcoins, as far as I can tell
2. Do you think such funding will be significant?
3. I really don't mind, but I'm not responsible for the web site (I'm responsible for everything else, LOL). So if you want to proceed with this I recommend using 1) contact form on http://www.bitcoinx.org/ 2) new web site is being planned, you can contact Amos in this regard (see mailing list)

Chromia: a better dapp platform
Pages: « 1 2 3 [4]  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!