npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

blinkhash-server

v0.0.12

Published

An extremely efficient, highly scalable, all-in-one, easy to setup cryptocurrency mining pool

Downloads

17

Readme

Blinkhash Server

Codecov Coverage Blinkhash CI License: GPL v2 Downloads Version Known Vulnerabilities Discord

This portal is an extremely efficient, highly scalable, all-in-one, easy to setup cryptocurrency mining pool written entirely in Node.JS. Its main features include a stratum poolserver and reward/payment/share processor. The website functionality has been removed in lieu of a client that will be developed in a separate repository.

Need Support?

If you need help with a code-related matter, the first place to look is our Discord, where the developers will be available to answer any questions. However, please do not come to me with issues regarding setup. Use Google and the existing documentation for that.


Specifications

Features

  • For the pool server it uses the blinkhash-stratum module, which supports vardiff, POW/POS, anti-DDoS, IP banning, multiple hashing algorithms.
  • Multipool ability - this software was built from the ground up to run with multiple coins simultaneously (which can have different properties and hashing algorithms). It can be used to create a pool for a single coin or for multiple coins at once. The pools use clustering to load balance across multiple CPU cores.
  • For reward/payment processing, shares are inserted into Redis (a fast NoSQL key/value store). The PPLNT reward system is used with Redis Transactions for secure and super speedy payouts. There is zero risk to the pool operator. Shares from rounds resulting in orphaned blocks will be merged into share in the current round so that each and every share will be rewarded
  • This portal does not have user accounts/logins/registrations. Instead, miners simply use their coin address for stratum authentication.

Security

  • Without a registration/login system, non-security-oriented miners reusing passwords across pools is no longer a concern.
  • Automated payouts by default and pool profits are sent to another address so pool wallets aren't plump with coins, giving hackers few rewards and keeping your pool from being a target.
  • Miners can notice lack of automated payments as a possible early warning sign that an operator is about to run off with their coins.

Transparency

  • The API was specifically designed to be as transparent as possible regarding payouts and shares. Everything is logged for users to check and ensure that everything is legitimate.
  • The server itself will always be open-source. Feel free to create relevant issues and pull requests whenever necessary.

Attack Mitigation

  • Detects and thwarts socket flooding (garbage data sent over socket in order to consume system resources).
  • Detects and thwarts zombie miners (botnet infected computers connecting to your server to use up sockets but not sending any shares).
  • Detects and thwarts invalid share attacks:
    • This server is not vulnerable to the low difficulty share exploits happening to other pool servers. Rather than using hardcoded max difficulties for new hashing algorithms, it dynamically generates the max difficulty for each algorithm based on values found in the coin source code.
    • IP banning feature which on a configurable threshold will ban an IP for a configurable amount of time if the miner submits over a configurable threshold of invalid shares.
  • The server is written in Node.js which uses a single thread (async) to handle connections rather than the overhead of one thread per connection. Clustering is also implemented so that all CPU cores are taken advantage of.

Donations

Maintaining this project has always been driven out of nothing more than a desire to give back to the mining community, however I always appreciate donations, especially if this repository helps you in any way.

  • Bitcoin: 3EbrVYLxN5WeQmPpL6owo3A7rJELXecbbc
  • Ethereum: 0xd3e3daED621d228244Fa89A3dd8AF07B52E72319
  • Litecoin: MFWpARrSADAy3Qj79C4pSasS9F156QipwC
  • ZCash: t1NSk8gyiou8TxWRZTVuUkfM5f9riopN58A

License

Released under the GNU General Public License v2. See http://www.gnu.org/licenses/gpl-2.0.html for more information