Bitcoin Forum
May 05, 2024, 10:04:20 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
1714946660
Hero Member
*
Offline Offline

Posts: 1714946660

View Profile Personal Message (Offline)

Ignore
1714946660
Reply with quote  #2

1714946660
Report to moderator
The forum strives to allow free discussion of any ideas. All policies are built around this principle. This doesn't mean you can post garbage, though: posts should actually contain ideas, and these ideas should be argued reasonably.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714946660
Hero Member
*
Offline Offline

Posts: 1714946660

View Profile Personal Message (Offline)

Ignore
1714946660
Reply with quote  #2

1714946660
Report to moderator
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
ryuzaki01
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
March 04, 2014, 11:43:08 AM
 #21

Currently im developing mining pool in node js... soon i will publish it to github..
working function :
getwork
getaccount
acceptwork
checkwork
getblockcount

and some basic node functional..
TODO :
Threading, Pooling , submitblock, getblocktemplate, etc..
hostmaster
Sr. Member
****
Offline Offline

Activity: 266
Merit: 250


View Profile WWW
March 04, 2014, 11:45:54 AM
 #22

if you have difficulties in nodejs i can help in exchange some bounty.
San1ty (OP)
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
March 04, 2014, 11:56:48 AM
 #23

Currently im developing mining pool in node js... soon i will publish it to github..
working function :
getwork
getaccount
acceptwork
checkwork
getblockcount

and some basic node functional..
TODO :
Threading, Pooling , submitblock, getblocktemplate, etc..


Oh wow I forgot about my topic, but that would be awesome to see what you come up with.

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

Activity: 1358
Merit: 1000


AKA: gigavps


View Profile
March 27, 2014, 01:01:27 AM
 #24

Currently im developing mining pool in node js... soon i will publish it to github..
working function :
getwork
getaccount
acceptwork
checkwork
getblockcount

and some basic node functional..
TODO :
Threading, Pooling , submitblock, getblocktemplate, etc..


Oh wow I forgot about my topic, but that would be awesome to see what you come up with.

I would like to see this project come to a outcome with the code open sourced. I'd be willing to pay upwards of 3 BTC for:

  • Stratum and GBT support
  • pluggable datastore to include mongodb and amazon sns as initial options
  • Correct validations for work submitted including job validation, ntime size, ntime range, nonce, low diff, duplicate, etc
  • coinbase txn customization to allow the pools to pay miners directly

Contact me via PM if you have code in place or would like to discuss requirements.
San1ty (OP)
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
March 27, 2014, 09:04:26 AM
 #25

Hi GigaVPS,

Glad to see you are interested in this as well!
If possible could you keep communications publicly in this topic?

I want this open sourced and discussed with all people that show an interest in it.

Also: what is the fairest distribution system right now (I'm a bit out of the game)? Is it PPLNS?

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

Activity: 120
Merit: 100


View Profile
March 27, 2014, 09:59:02 AM
 #26

Count me in for 0.1BTC Smiley
jamesg
VIP
Legendary
*
Offline Offline

Activity: 1358
Merit: 1000


AKA: gigavps


View Profile
March 27, 2014, 01:49:52 PM
 #27

I've done some research and it looks like there are a couple projects already well under way.

https://github.com/pocesar/node-stratum

https://github.com/zone117x/node-stratum-pool

If anyone is a node expert, it may be a good idea to review and build upon the ideas put forth in these implementations.

I am also still interested in

a) having one of these project customized to me needs for a fee
b) using the best of both projects and putting something new together

If anyone is interested, lets get started.
jeppe
Sr. Member
****
Offline Offline

Activity: 434
Merit: 251


View Profile
March 27, 2014, 03:31:28 PM
 #28

Is this including the front end? If so u should add the option to payout % to different btc addresses once a month or weekly. This would make it Easy for people having there miners in shares for other people.
This is a great project would love to see it coming to life. Will this be for different alt coins like PPC as we'll or only btc ?
Thanks,
JT
jamesg
VIP
Legendary
*
Offline Offline

Activity: 1358
Merit: 1000


AKA: gigavps


View Profile
March 27, 2014, 03:37:56 PM
 #29

Is this including the front end?

No. Only the pool server.
zone117x
Newbie
*
Offline Offline

Activity: 18
Merit: 0


View Profile
April 24, 2014, 06:34:05 AM
 #30

Just stumbled across this thread. Looks like NOMP https://github.com/zone117x/node-open-mining-portal is what all of you are looking for.  Wink

I'll take the bounties now :p
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!