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

merged-pool

v0.1.10

Published

High performance Stratum poolserver in Node.js for merged mining

Downloads

14

Readme

High performance Stratum poolserver in Node.js. One instance of this software can startup and manage multiple coin pools, each with their own daemon and stratum ports :)

This software has been modefied for merged mining. It is still in development.

Notice

This is a module for Node.js that will do nothing on its own. Unless you're a Node.js developer who would like to handle stratum authentication and raw share data then this module will not be of use to you.

Build Status

Why

This server was built to be more efficient and easier to setup, maintain and scale than existing stratum poolservers which are written in python. Compared to the spaghetti state of the latest stratum-mining python server, this software should also have a lower barrier to entry for other developers to fork and add features or fix bugs.

Features

  • Merged Mining Support
  • Daemon RPC interface
  • Stratum TCP socket server
  • Block template / job manager
  • P2P to get block notifications as peer node
  • Optimized generation transaction building
  • Connecting to multiple daemons for redundancy
  • Process share submissions
  • Session managing for purging DDoS/flood initiated zombie workers
  • Auto ban IPs that are flooding with invalid shares
  • POW (proof-of-work) & POS (proof-of-stake) support
  • Transaction messages support
  • Vardiff (variable difficulty / share limiter)
  • When started with a coin daemon that hasn't finished syncing to the network it shows the blockchain download progress and initializes once synced

Hashing algorithms supported:

  • SHA256 (Bitcoin, Freicoin, Peercoin/PPCoin, Terracoin, etc..)
  • Scrypt (Litecoin, Dogecoin, Feathercoin, etc..)
  • Scrypt-Jane (YaCoin, CopperBars, Pennies, Tickets, etc..)
  • Scrypt-N (Vertcoin [VTC])
  • Quark (Quarkcoin [QRK])
  • X11 (Darkcoin [DRK], Hirocoin, Limecoin)
  • X13 (MaruCoin, BoostCoin)
  • NIST5 (Talkcoin)
  • Keccak (Maxcoin [MAX], HelixCoin, CryptoMeth, Galleon, 365coin, Slothcoin, BitcointalkCoin)
  • Skein (Skeincoin [SKC])
  • Groestl (Groestlcoin [GRS])

May be working (needs additional testing):

  • ? Blake (Blakecoin [BLC])
  • ? Fugue (Fuguecoin [FC])
  • ? Qubit (Qubitcoin [Q2C], Myriadcoin [MYR])
  • ? SHAvite-3 (INKcoin [INK])

Not working currently:

  • Groestl - for Myriadcoin
  • Keccak - for eCoin & Copperlark
  • Hefty1 (Heavycoin [HVC])

Requirements

  • node v0.10+
  • coin daemon for primay and auxillery coins (preferably one with a relatively updated API and not some crapcoin :p)

Example Usage

Install as a node module by cloning repository

git clone https://github.com/KillerByte/node-stratum-pool node_modules/stratum-pool
npm update

Module usage

Please see the included example.js file for more information. This section should be expanded soon.

Credits

  • zone117x - Head developer of the original stratum mining pool for node.js
  • vekexasia - co-developer & great tester
  • LucasJones - got p2p block notify working and implemented additional hashing algos
  • TheSeven - answering an absurd amount of my questions, found the block 1-16 problem, provided example code for peer node functionality
  • pronooob - knowledgeable & helpful
  • Slush0 - stratum protocol, documentation and original python code
  • viperaus - scrypt adaptions to python code
  • ahmedbodi - more algo adaptions to python code
  • steveshit - ported X11 hashing algo from python to node module

Donations

To support development of this project to the original author (zone117x), feel free to donate :)

  • BTC: 1KRotMnQpxu3sePQnsVLRy3EraRFYfJQFR
  • LTC: LKfavSDJmwiFdcgaP1bbu46hhyiWw5oFhE
  • VTC: VgW4uFTZcimMSvcnE4cwS3bjJ6P8bcTykN
  • MAX: mWexUXRCX5PWBmfh34p11wzS5WX2VWvTRT
  • QRK: QehPDAhzVQWPwDPQvmn7iT3PoFUGT7o8bC
  • DRK: XcQmhp8ANR7okWAuArcNFZ2bHSB81jpapQ
  • DOGE: DBGGVtwAAit1NPZpRm5Nz9VUFErcvVvHYW
  • Cryptsy Trade Key: 254ca13444be14937b36c44ba29160bd8f02ff76

License

Released under the GNU General Public License v2

http://www.gnu.org/licenses/gpl-2.0.html