Bitcoin Forum
June 27, 2022, 02:10:10 AM *
News: Latest Bitcoin Core release: 23.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Project Development / Blinkhash - Open-source, easy to use, mining pool software on: March 20, 2022, 01:00:05 AM
Introduction:

It's no secret that mining pools, and the mining process as a whole, have been becoming more and more centralized in recent years. In many coins, a single pool is most often responsible for the majority of the hashrate on the network. 51% attacks notwithstanding, it’s much safer and better for a community to have multiple options when mining. It’s my theory that viable, easy-to-use, open-source software would not only help to solve this issue, but it would provide another way for many less-technical individuals to supplement their income passively while contributing to a project. Anyone should be able to setup and host a mining pool with minimal difficulties.

Foundation:

For the past two years, I’ve been rebuilding NOMP from the ground up, with an emphasis on scalability, simplicity, and reliability. In some ways, the new source, Foundation, is a complete rewrite, but I kept the bones of the project, while gutting pretty much all of the extra/unnecessary features (coin-switching, UI, CLI, etc). The result addresses many of the issues brought up by users over the years and implements a number of features left out of the original solution, while simultaneously boasting cleaner source code and an expansive testing suite. Some of the main improvements notwithstanding the rewrite itself, bug fixes and those mentioned above include the following:

  • Segwit/Bech32 compliance
  • Updated stratum methods according to documentation
  • AsicBoost support
  • Reorganized configurations that are more intuitive/cleaner
  • Reorganized database schema that is more intuitive/cleaner
  • Solo-mining functionality for users
  • Merged-mining functionality for users
  • PPLNT made the default payout scheme (removed PROP)
  • Reorganized/reworked API to improve statistics management
  • API caching to cut down on database workload
  • Updated Node version from v0.10.x to v15.x+
  • Full SSL/TLS support
  • CI/coverage/linting pipelines
 
With all these changes and improvements upon the initial source, Foundation is no doubt one of the most sophisticated open-source mining pool solutions currently available, and one of the few that is still being actively developed. It will always be open-source. You can access it here: https://github.com/blinkhash/foundation-server/

Blinkhash:

On top of this, while building Foundation, I had the idea for a platform that acted as a central “hub” for mining pools. Perhaps the most difficult part of running a mining pool, for the pool owner, is marketing. Until now, all options for mining pools have come with their own UI. The pool owner is responsible not only for setting up the infrastructure but also hosting the attached website and directing traffic to it. Foundation + Blinkhash removes all of that from the equation.

Instead, once Foundation is setup and reachable on a server, all that’s necessary is for a pool owner to create an account on the Blinkhash platform: https://blinkhash.com/. In the “Pools” page of their dashboard will be a button that reads “Link a Mining Pool”. The user just needs to fill out this multi-step form with their pool’s information and the platform will handle the rest. After a few minutes, the pool will be “linked”, active, and reachable to anyone. Some examples of linked pools include the following:


Note that at this point, though, development on both Foundation and Blinkhash is still ongoing. While both are completely usable, there are a few pages on the platform that still need to be built out (/mining specifically). Feel free to join the Discord (https://discord.gg/rNjez6VgNF) to follow development and keep track of everything happening in the Blinkhash ecosystem!

TLDR:


I rebuilt NOMP from the ground up with an emphasis on scalability, simplicity, and reliability. I’m also in the process of building out a platform that allows users to “link” their pools to leverage a streamlined UI + analytics module (https://blinkhash.com/mining/11a9b195-8b8b-4f3f-bd5c-f55905933f5c) for free until the payment processor + beta testing is done.
2  Bitcoin / Project Development / [Feedback Appreciated!] Blinkhash - Making mining pool ownership accessible on: April 28, 2021, 06:43:32 PM
(4/28/2021):

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.

On top of this, it's no secret that it's not easy for the layman to create, host, and manage their own mining pool. As such, mining pools and the mining process as a whole has been becoming more and more centralized, especially for smaller altcoins, where a single pool is most often responsible for the majority of the hashrate on the network. Viable, easy-to-use open-source mining pool software with extensive documentation would help to solve this, as it would specifically help to simply the process of setting up a pool to the point where anyone could manage it. This was my goal in starting this project.

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. I would really appreciate some feedback--either on the code itself or the idea as a whole, as well as any features that people would want supported. I'm not going to add back any of the features removed, however. A summary of the changes (https://github.com/blinkhash) thus far is below:

Stratum
  • Cleaned up/rewrote everything
  • Commented everything to improve readability
  • Comprehensive testing suite
  • Update node version from v0.10.x to v12.x+
  • Segwit/Bech32 compliance
  • 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
  • Cleaned up/rewrote everything
  • Commented everything to improve readability
  • Comprehensive testing suite
  • 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
  • Implemented CI/coverage/linting pipelines
  • Miscellaneous bugfixes/etc.

Note: Neither blinkhash-server nor blinkhash-stratum will work as a drag+drop solution for any other open-source project.



(6/17/2021):

Server: https://github.com/blinkhash/blinkhash-server
Stratum: https://github.com/blinkhash/blinkhash-stratum
Hashing: https://github.com/blinkhash/blinkhash-multi-hashing
UTXO: https://github.com/blinkhash/blinkhash-utxo-lib

I just ended up finishing the initial build of the software and officially released it for testing. Here's the links to each of the individual repositories that are in use. Let me know your thoughts! Here's the link to the discord to stay updated on development or ask me any specific questions: https://discord.gg/8xtHZFKJQY. For my next steps, I'm currently working on building out documentation and tutorials on how to implement and work with Blinkhash, as well as a separate repository of coin configurations for users to consult. Following that, I'll develop a dashboard/client for the server itself and include support for Equihash coins.



(7/30/2021):

Finished up the documentation and made a simple landing page for it. Here's the current site, decided to make it from scratch because I couldn't find a template I liked, which is why it took longer: https://blinkhash.com/docs. Working on an idea for the landing page now, which might take a bit longer. The repository for the documentation is here if you're interested: https://github.com/blinkhash/blinkhash-documentation/
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!