CoinHive Stratum Proxy
This proxy allows you to use CoinHive's JavaScript miner on a custom stratum pool. This package was inspired by x25's coinhive-stratum-mining-proxy.
Installation
npm install -g coin-hive-stratum
Usage
You just need to launch a proxy pointing to the desired pool:
coin-hive-stratum 8892 --host=xmr-eu1.nanopool.org --port=14444
And then just point your CoinHive miner to the proxy:
<script src="https://coinhive.com/lib/coinhive.min.js"></script>
<script>
CoinHive.CONFIG.WEBSOCKET_SHARDS = [["ws://localhost:8892"]];
var miner = CoinHive.Anonymous('your-monero-address');
miner.start();
</script>
Now your CoinHive miner would be mining on nanopool.org
XMR pool, using your monero address. This will work for any pool based on the Stratum Mining Protocol. You can even set up your own.
CLI
Usage: 'coin-hive-stratum <port>'
<port>: The port where the server will listen to
Options:
--host The pool's host.
--port The pool's port.
--log Enable/Disable the logs, default is true
API
-
createServer
: Creates a proxy
server. It may take an options
object with the following optional properties:
-
proxy.listen(port)
: launches the server listening on the specified port, which by default is 8892
.
FAQ
Can I use this programatically?
Yes, like this:
const createProxy = require('coin-hive-stratum');
const proxy = createProxy({
host: 'xmr-eu1.nanopool.org',
port: 14444,
});
proxy.listen(8892);
Can I use several workers?
Yes, just create a CoinHive.User
and the username will be used as the stratum worker name:
<script src="https://coinhive.com/lib/coinhive.min.js"></script>
<script>
CoinHive.CONFIG.WEBSOCKET_SHARDS = [["ws://localhost:8892"]];
var miner = CoinHive.User('your-monero-address', 'my-worker');
miner.start();
</script>
Disclaimer
This project is not endorsed by or affiliated with coinhive.com
in any way.