Bitcoin Forum
May 05, 2024, 07:23:04 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: [BOUNTY] Node JS Pool Server (0.5 BTC)  (Read 3562 times)
San1ty (OP)
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
April 05, 2013, 11:02:19 AM
Last edit: April 09, 2013, 10:33:40 AM by NodePool
 #1

Hi All,

I have been lurking around this forum for a while and I see a lot of people wanting to set up a pool of their own either private or public. I think that's a good thing, but I don't think there are a lot of people succeeding, while the principle of a pool server is pretty simple, the technical part isn't that easy. The only opensource project I know of seems to be eloipool and it's written in python without any documentation. As most people here have at least some knowledge of JavaScript, I think it might be interesting if someone were to create a clean lightweight documented pool server written in JS.

So I am looking for someone that would like to take up the challenge, there is already some opensource code to communicate with bitcoind using node:

https://github.com/freewil/node-bitcoin

A couple of requirements I have:

- Written entirely in Node.JS
- GBT as protocol to communicate with miners. Optional extra plugable Stratum Module
- A simple payout system included that can be easily expanded and customized by the pool operator. Optional sample score based payout script.
- Database of preference is MongoDB, but PostgreSQL is also allowed.
- Web interface should be created by the pool operator and therefor should not be included in the pool software.
- Code should be available on github
- Basic documentation is required and I'm volunteering to add more once the code is finished

The bounty is negotiable and if too high I'd like to crowdfund with the community if there is a lot of interest for something like this.

Current Bounty: 0.5 BTC

Any Questions, Remarks, Things I forgot?

Thanks for reading and let's make this happen!

Found my posts helpful? Consider buying me a beer :-)!:
BTC - 1San1tyUGhfWRNPYBF4b6Vaurq5SjFYWk NXT - 17063113680221230777
Every time a block is mined, a certain amount of BTC (called the subsidy) is created out of thin air and given to the miner. The subsidy halves every four years and will reach 0 in about 130 years.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
San1ty (OP)
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
April 05, 2013, 11:20:40 PM
 #2

No one interested?

Found my posts helpful? Consider buying me a beer :-)!:
BTC - 1San1tyUGhfWRNPYBF4b6Vaurq5SjFYWk NXT - 17063113680221230777
A Meteorite
Full Member
***
Offline Offline

Activity: 120
Merit: 100


View Profile WWW
April 06, 2013, 01:52:14 PM
 #3

I would be interested in working on this. I have a pretty good amount of experience with Node.js and have a decent overview of what makes Bitcoin tick, but would need to look into how the pool side works more.

I have some code that I've worked on most lately on GitHub and would be willing to post a link to my profile. Bounty offers/pledges welcome. I'll be more available later today if there's interest.

BTC: 1MeTeorfxZNsY6gJDBtrF8JA8KEv6SKGUmLTC: Lejxgou6hUkjupF6RoruxJGG9AQ7t3ovYt
San1ty (OP)
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
April 06, 2013, 06:22:39 PM
 #4

I would be interested in working on this. I have a pretty good amount of experience with Node.js and have a decent overview of what makes Bitcoin tick, but would need to look into how the pool side works more.

I have some code that I've worked on most lately on GitHub and would be willing to post a link to my profile. Bounty offers/pledges welcome. I'll be more available later today if there's interest.

Thank you so much for you're reply. As you can see I don't really have an idea yet if there is a lot of interest in this besides myself.
If you think you can pull it off I'd be more then happy to pledge you some BTC!

Found my posts helpful? Consider buying me a beer :-)!:
BTC - 1San1tyUGhfWRNPYBF4b6Vaurq5SjFYWk NXT - 17063113680221230777
A Meteorite
Full Member
***
Offline Offline

Activity: 120
Merit: 100


View Profile WWW
April 07, 2013, 07:56:48 AM
 #5

So I've had a chance to look more into this (no code as of yet of course). A couple random points since my first post:

  • Would probably want to use getblocktemplate at first since that's already natively used against bitcoind and is JSON for simplicity, Stratum could later be plugged in.
  • Coinbaser is, as far as I know, something that was in Luke-Jr's bitcoind branch and was never merged upstream - see #569, #708, and #719.
  • As an alternative a simple pluggable system within the pool that generates the coinbase and specific payout algorithms could be swapped in (seems most pool software does this).
  • MongoDB would be a good choice. Redis could potentially fit in here as well.

Though I'd really need to see if there's more interest and people willing to pledge towards a bounty. A few BTC would likely not be worth my time, even though this sounds like a really fun project to get started on. Smiley

BTC: 1MeTeorfxZNsY6gJDBtrF8JA8KEv6SKGUmLTC: Lejxgou6hUkjupF6RoruxJGG9AQ7t3ovYt
whiskers75
Hero Member
*****
Offline Offline

Activity: 658
Merit: 502


Doesn't use these forums that often.


View Profile
April 08, 2013, 05:07:01 AM
 #6

Don't use node-bitcoin!  Shocked
Use kapitalize. It's WAAAAY easier!

(I talk with experience - yes, I code in Node.js and have Bitcoin experience Smiley)

Elastic.pw Elastic - The Decentralized Supercomputer
ELASTIC ANNOUNCEMENT THREAD | ELASTIC SLACK | ELASTIC FORUM
A Meteorite
Full Member
***
Offline Offline

Activity: 120
Merit: 100


View Profile WWW
April 08, 2013, 05:15:15 AM
 #7

Don't use node-bitcoin!  Shocked
Use kapitalize. It's WAAAAY easier!

(I talk with experience - yes, I code in Node.js and have Bitcoin experience Smiley)
The API looks very similar and node-bitcoin looks maintained compared to Kapitalize. It looks like Kapitalize's implementation is simpler, but besides that not much else. Could you expand on it anymore?

BTC: 1MeTeorfxZNsY6gJDBtrF8JA8KEv6SKGUmLTC: Lejxgou6hUkjupF6RoruxJGG9AQ7t3ovYt
San1ty (OP)
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
April 08, 2013, 08:47:36 AM
 #8

So I've had a chance to look more into this (no code as of yet of course). A couple random points since my first post:

  • Would probably want to use getblocktemplate at first since that's already natively used against bitcoind and is JSON for simplicity, Stratum could later be plugged in.
  • Coinbaser is, as far as I know, something that was in Luke-Jr's bitcoind branch and was never merged upstream - see #569, #708, and #719.
  • As an alternative a simple pluggable system within the pool that generates the coinbase and specific payout algorithms could be swapped in (seems most pool software does this).
  • MongoDB would be a good choice. Redis could potentially fit in here as well.

Though I'd really need to see if there's more interest and people willing to pledge towards a bounty. A few BTC would likely not be worth my time, even though this sounds like a really fun project to get started on. Smiley

  • Would probably want to use getblocktemplate at first since that's already natively used against bitcoind and is JSON for simplicity, Stratum could later be plugged in.
  • Good remark! GBT will also work with ASIC's. Let's go with GBT for now and add Stratum as an optional module.
  • Coinbaser is, as far as I know, something that was in Luke-Jr's bitcoind branch and was never merged upstream - see #569, #708, and #719.
  • Interesting, I didn't know that!
  • As an alternative a simple pluggable system within the pool that generates the coinbase and specific payout algorithms could be swapped in (seems most pool software does this).
  • Ok, As long as it is easy and clear for the Pool OP what it does and if it is easily changed and managed. An example Score based payout system would be a nice to have. (Wouldn't want starting Pool OP's to use prop and get pool hopped all day)
  • MongoDB would be a good choice. Redis could potentially fit in here as well.
  • Agreed!

Found my posts helpful? Consider buying me a beer :-)!:
BTC - 1San1tyUGhfWRNPYBF4b6Vaurq5SjFYWk NXT - 17063113680221230777
San1ty (OP)
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
April 09, 2013, 10:32:10 AM
 #9

@A Meteorite: Can you please check your PM's? I have a couple if things I'd like to discuss.

Also if anyone is interested in contributing to the bounty, please post a reply.

I'll start the BOUNTY with 0.5 BTC.
Minimum Offer: 0.1 BTC

Found my posts helpful? Consider buying me a beer :-)!:
BTC - 1San1tyUGhfWRNPYBF4b6Vaurq5SjFYWk NXT - 17063113680221230777
A Meteorite
Full Member
***
Offline Offline

Activity: 120
Merit: 100


View Profile WWW
April 09, 2013, 11:48:04 AM
 #10

@A Meteorite: Can you please check your PM's? I have a couple if things I'd like to discuss.

Replied. Smiley

I'll start the BOUNTY with 0.5 BTC.
Minimum Offer: 0.1 BTC

Glad to see a bounty going! Though I'm not sure what the minimum offer is about. Is anyone trustworthy willing to escrow the bounty, especially if we get anyone else pitching in? Then they can decide if the project would meet the specs satisfactorily.

As for an update, no code yet since no one else had expressed interest and specific bounties weren't mentioned. But I've been going over GBT more and checking out eloipool in a bit more depth. I also think some components of bitcoinjs-server could be helpful in building the pool.

Also, people, if you want to see a node.js pool server, say something (surely a little bit of variety in pool server software is a good thing)! Or even better yet, chip into the bounty! I'm afraid it does need to be a bit more to make it a priority project for me. Smiley

BTC: 1MeTeorfxZNsY6gJDBtrF8JA8KEv6SKGUmLTC: Lejxgou6hUkjupF6RoruxJGG9AQ7t3ovYt
San1ty (OP)
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
April 11, 2013, 09:06:27 AM
 #11

Bump!

Found my posts helpful? Consider buying me a beer :-)!:
BTC - 1San1tyUGhfWRNPYBF4b6Vaurq5SjFYWk NXT - 17063113680221230777
San1ty (OP)
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
April 15, 2013, 09:26:16 AM
 #12

Bump!

Found my posts helpful? Consider buying me a beer :-)!:
BTC - 1San1tyUGhfWRNPYBF4b6Vaurq5SjFYWk NXT - 17063113680221230777
idev
Hero Member
*****
Offline Offline

Activity: 859
Merit: 1004


BTC OG and designer of the BitcoinMarket.com logo


View Profile
April 16, 2013, 08:24:47 PM
 #13

I would donate to see this up and running, would be great if it could support multiple coin types.
A Meteorite
Full Member
***
Offline Offline

Activity: 120
Merit: 100


View Profile WWW
April 16, 2013, 09:04:05 PM
 #14

I would donate to see this up and running, would be great if it could support multiple coin types.
If you'd like to see it, definitely consider pledging towards the bounty. While I really want to do this project, it's hard to justify diverting large chunks of my time at the current bounty.

Altchain support would be possible. I originally planned to only support a GBT backend, so I'm not sure if all the altchains support it (it is somewhat newer and they don't always backport Bitcoin's changes). Despite that, though, it would still be possible to implement legacy getwork or such.

BTC: 1MeTeorfxZNsY6gJDBtrF8JA8KEv6SKGUmLTC: Lejxgou6hUkjupF6RoruxJGG9AQ7t3ovYt
Lemon
Member
**
Offline Offline

Activity: 89
Merit: 10


View Profile WWW
April 16, 2013, 09:05:19 PM
 #15

I'm willing to take care of this at the current bounty. I'm the guy behind https://crypto.pm - I've worked on projects in node.js for LinkedIn, and I'm also responsible for some other random projects such as the largest public usenet index on the the interwebs.

Edit: Even if the bounty falls through, more than happy to develop this regardless - I'm a big proponent of open technology.

https://crypto.pm/ -- public cryptocurrency exchange currently in testing.

https://escrow.pm/ -- fee free automated escrow.
wormbog
Hero Member
*****
Offline Offline

Activity: 561
Merit: 500



View Profile
April 16, 2013, 09:16:28 PM
 #16

I'd love to see this project come to life. I'll set up a public pool if it does.
San1ty (OP)
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
April 17, 2013, 09:32:42 AM
 #17

I'm happy to finally see some activity show up on this subject Smiley!

I have spoken with A Meteorite already about this subject and he is very interested on working on it. He also is more then capable of finishing the job. However seeing the offer that Lemon posted, I more then welcome his help as well.

A Meteorite and Lemon, could you both PM me on what you prefer, there are two options to consider now:
- One of you gets the job and bounty
- You both collaborate on the project and split the bounty 50/50.

I will update my main post once and a while when I get more bounty offers or if I have some added requirements.

PS: For the people who said they were interested in contributing to the bounty, please state your amount either in this topic or PM me.

Found my posts helpful? Consider buying me a beer :-)!:
BTC - 1San1tyUGhfWRNPYBF4b6Vaurq5SjFYWk NXT - 17063113680221230777
San1ty (OP)
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
April 18, 2013, 02:24:11 PM
 #18

I had a chat with both developers and I have come to a decision:

I'm making Lemon the official developer of this project for a number of reasons:

- Since I posted the topic, I am the only one willing to contribute to the bounty. Lemon is extremely motivated to work on the project and finish it as soon as possible regardless of bounty.
- Lemon has more time available and therefor makes me more confident that the project will see a successful end.

As the code in the end will be open sourced, I hope everyone will profit from the work Lemon will do, and who knows A Meteorite might be able to make a fork of the project with different features.

Good luck Lemon and keep us updated!

Found my posts helpful? Consider buying me a beer :-)!:
BTC - 1San1tyUGhfWRNPYBF4b6Vaurq5SjFYWk NXT - 17063113680221230777
jstty
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
February 09, 2014, 08:45:50 AM
 #19

I'm quite interested in this project.
Was the project finished?
Was the source release?
San1ty (OP)
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
February 09, 2014, 02:37:31 PM
 #20

No lemon was a scam and no-one took this up unfortunately.

Found my posts helpful? Consider buying me a beer :-)!:
BTC - 1San1tyUGhfWRNPYBF4b6Vaurq5SjFYWk NXT - 17063113680221230777
Pages: [1] 2 »  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!