- Notifications
You must be signed in to change notification settings - Fork235
deepMiner webminer proxy (update for cryptoNight R)
License
deepwn/deepMiner
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
- deepMiner (idea like coinhive.js) By evil7@deePwn
- Working on XMR(Monero) and ETN(Electroneum) personal wallet
- Eazy way mining in browsers & Nice payback than Ad-inject
- Goodbye Coinhive. You opened a new view for Web-Object + Blockchains.
- And All coins who follow
cryptoNight
/cryptoNight v7 & v8 / cryptoNight R
&& pool connect inJSONRPC2
- Some coins used cryptoNotehttps://cryptonote.org/coins/ (example: Monero / Electroneum /Sumokoin / Aeon ...)
- The whitebook:
cryptoNight.txt
andcryptoNight.md
. Come from:https://cryptonote.org/standards/ - Technology:https://cryptonote.org/inside/
Add some javascript and write like this :
<scriptsrc="https://your_domain.com/lib/deepMiner.min.js"></script><script>varminer=newdeepMiner.Init('miner_name');miner.start();</script>
As now say. we only can have 25H/s maybe in the browsers (i7-4GHz/16G-RAM) because the cryptonight R updated.
And that's why people called "hardless to mining" in browsers.
And it's why the Coinhive choose closed too.
But by the way. If you can have 100USER/24H always online or running a online vedio website with 5k or 1M users and staying over 1h?
Maybe you can get a nice payback more than 1$ every day. (25H/s/day/100Users = 1$ now).
So as you see. you can just do learn JS something with this repo. Or do another develping with it. Or do build a fee system more than Ad injection.
cd deepMiner&& npm install&& npm start
all wasm source files in cryptonight-wasm
server.js for srv side (webSocket<>tcpSocket)
web/lib/ |__ worker.js the worker to create hash job |__ deepMiner.js the main of all should add in web | (used `npm i -g minify` and running `minify deepMiner.js > deepMiner.min.js` if min file you need) |__ cryptonight.js/.wasm come from emcc building. if in dev you can checking and rebuilding from folder: cryptonight-wasm
curl https://raw.githubusercontent.com/deepwn/deepMiner/master/install.sh> install.shsudo sh install.sh
lib request:*nodejs
/*npm
/?nginx
useful pakages:forever
ssl support:https://certbot.eff.org/ /https://acme.sh/
OS tested on:ubuntu(debian)
- Not Support ASMJS in this master release
You can use events in your page, to handling the HTML with mining status.
<script> // Listen on events miner.on('found', function(){/* Hash found */}) miner.on('accepted', function(){/* Hash accepted */}) // Update stats once per second setInterval(function(){varhashesPerSecond=miner.getHashesPerSecond();vartotalHashes=miner.getTotalHashes();varacceptedHashes=miner.getAcceptedHashes();console.table({"hashesPerSecond":hashesPerSecond,"totalHashes":totalHashes,"acceptedHashes":acceptedHashes});// Output to HTML elements...}, 1000);</script>
new deepMiner.Init( [site, options] )
site : New a miner, that you can add a siteID / nameID or some string for Identify.
options : threads / throttle
E.g.:
varminer=newdeepMiner.Init(document.location.host,{autoThreads:true});miner.start();
.start( [mode] )
mode: deepMiner.IF_EXCLUSIVE_TAB / deepMiner.FORCE_EXCLUSIVE_TAB / deepMiner.FORCE_MULTI_TAB
E.g.:
miner.start(deepMiner.IF_EXCLUSIVE_TAB);
.stop( )
Stop mining and disconnect from the pool.
.isRunning( )
Returns true|false whether the miner is currently running: connected to the pool and has working threads.
.isMobile( )
Returns true|false whether the user is using a phone or tablet device. You can use this to only start the miner on laptops and PCs.
.hasWASMSupport( )
Returns true|false whether the Browser supports WebAssembly. If WASM is not supported, the miner will automatically use the slower asm.js version. Consider displaying a warning message to the user to update their browser.
.getNumThreads( )
Returns the current number of threads. Note that this will report the configured number of threads, even if the miner is not yet started.
.setNumThreads( numThreads )
Set the desired number of threads. Min: 1. Typically you shouldn't go any higher than maybe 8 or 16 threads even if your users have all new AMD Threadripper CPUs.
.getThrottle( )
Returns the current throttle value.
.setThrottle( throttle )
Set the fraction of time that threads should be idle. A value of 0 means no throttling (i.e. full speed), a value of 0.5 means that threads will stay idle 50% of the time, with 0.8 they will stay idle 80% of the time.
.getHashesPerSecond( )
Returns the total number of hashes per second for all threads combined. Note that each thread typically updates this only once per second.
.getTotalHashes( [interpolate] )
Returns the total number of hashes this miner has solved. Note that this number is typically updated only once per second.
.getAcceptedHashes( )
Returns the number of hashes that have been accepted by the pool. Also see the accepted event.
.on( event, callback(params) { } )
Specify a callback for an event.
event | description |
---|---|
optin | The user took action on the opt-in screen (AuthedMine only). The params.status is either "accepted" or "canceled". See below for an example. |
open | The connection to our mining pool was opened. Usually happens shortly afterminer.start() was called. |
authed | The miner successfully authed with the mining pool and the siteKey was verified. Usually happens right after open. In case the miner was constructed with CoinHive.Token, a token name was received from the pool. |
close | The connection to the pool was closed. Usually happens whenminer.stop() was called or the CoinHive.Token miner reached its goal. |
error | An error occured. In case of a connection error, the miner will automatically try to reconnect to the pool. |
job | A new mining job was received from the pool. |
found | A hash meeting the pool's was found and will be send to the pool. |
accepted | A hash that was sent to the pool was accepted. |
All sources in foldercryptonight-wasm.
You need installEmscripten first, and run./build.sh
to make this wasm file up.
thebuild.sh
will help you build it and copy the new one to./web/lib
.
Just cd to/srv/deepMiner
rungit pull
Don't forget backup yourconfig.json
at first.
Some VPS's can't find pool's IP. change your VPS's DNS will work.
SSL cert request default isTRUE
. So usecertbot
oracme.sh
to quick request a free cert.
Or you can just running in devepment version without nginx usingcd FILE_PATH && npm start
orforever start FILE_PATH/cluster.js
Choice another pool which you wanna using:https://github.com/timekelp/xmr-pool-choice or online websitehttp://www.moneropools.com/
MIThttps://raw.githubusercontent.com/deepwn/deepMiner/master/LICENSE
(I will add a dev donate session in next version or in the manager web view)
XMR41ynfGBUDbGJYYzz2jgSPG5mHrHJL4iMXEKh9EX6RfEiM9JuqHP66vuS2tRjYehJ3eRSt7FfoTdeVBfbvZ7Tesu1LKxioRU
About
deepMiner webminer proxy (update for cryptoNight R)
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors3
Uh oh!
There was an error while loading.Please reload this page.