Post
Topic
Board Project Development
Merits 4 from 3 users
Topic OP
Blinkhash - Updating NOMP to be useful in 2021
by
Blinkhash
on 28/04/2021, 18:43:32 UTC
⭐ Merited by aliashraf (2) ,vv181 (1) ,ETFbitcoin (1)
About a year ago, I was looking into creating my own mining pool in order to test a tool that I was working on, but after some research, realized that there are actually very few good open-source options out there, with YIIMP and CKPool really being the only viable options. Both still aren't great, with the former having issues with being especially difficult to read/understand (at least for me, I dislike PHP), and the latter being limited solely to Bitcoin. I also stumbled upon NOMP, zone117x's open-source JS solution, but it hadn't been maintained in years and has since fallen into disrepair. Even so, this was the one that interested me the most, as I feel much more comfortable with JS.

So for the past six months or so, I've been working on a complete rewrite/update of NOMP. I decided on start to specifically make this source a lot more barebones--to focus on just the pool functionality. This means no UI, no coinswitching, no MPOS, etc. As I'm getting closer to the build of the initial release, I decided to post this and see if I can get some feedback on the project, as well as any other features that people would want supported. I'm not going to add back any of the features removed, however. On top of this, I won't allow any 'coin configuration' files to be present in the Github. After everything with the source is done, I'll create a website for documentation that will include a list of working configuration files. A summary of the changes (https://github.com/blinkhash) thus far is below:

Stratum (https://github.com/blinkhash/blinkhash-stratum)
  • Cleaned up/rewrote everything
  • Commented everything to improve readability
  • Comprehensive testing suite
  • Update node version from v0.10.x to v12.x+
  • Added/fixed stratum methods according to docs (https://braiins.com/stratum-v1/docs)
  • Asicboost support (needs testing)
  • Implemented CI/coverage/linting pipelines
  • Miscellaneous bugfixes/etc.

Server (https://github.com/blinkhash/blinkhash-server)
  • Cleaned up/rewrote everything (In progress)
  • Commented everything to improve readability (In progress)
  • Comprehensive testing suite (In progress)
  • Update node version from v0.10.x to v12.x+
  • Reorganized configuration files to be more intuitive/cleaner
  • Reorganized database scheme to be more intuitive/cleaner
  • Added solo-mining functionality for users
  • Made PPLNT the default payout scheme (removed PROP)
  • Added 'partnering' scheme for usage w/ API to promote advertising
  • Reorganized/reworked API entirely (In progress)
  • Miscellaneous bugfixes/etc.

Let me know your thoughts! I'll add updates as i move closer to the initial release. There may be some changes that I'm forgetting in the above list, I've been working on the source for a bit and some things may have slipped my mind.
 
Note: Neither blinkhash-server nor blinkhash-stratum will work as a drag+drop solution for any other open-source solution. Also, blinkhash-server isn't completely working yet. Don't try to run it unless you want to make your own changes + debug.