Code Monkey home page Code Monkey logo

autolykos2_nv_miner's Introduction

Cuda Miner for Autolykos v2 (Ergo) for Nvidia GPUs

Cuda miner for ergoplatform.com

You can find OpenCL miner at: OpenCL miner

Quick Pooled Mining Start

1- Download the miner for desired OS.

2- Run the ErgoStratumProxy executable (Bundled with the miner release)

  • In Windows PowerShell:
.\ErgoStratumProxy.exe -s <POOL_ADDRESS> -p <POOL_PORT> -u <WORKER_NAME>
  • In linux:
./ErgoStratumProxy_Linux -s <POOL_ADDRESS> -p <POOL_PORT> -u <WORKER_NAME>

3- Run the miner

  • If neccessary, edit config.json; set node address to the proxy's address (by default this address is: {"node":"http://127.0.0.1:3000"})

HTTP Info

Miner has a HTTP info page located at http://miningnode:36207 (one can change default port by adding -DHTTPAPI_PORT XXXX to Makefile).

It outputs total hashrate, and per-GPU hashrates, power usages and temperatures in JSON format (relies on NVML, can fail if NVML fails - if so, JSON contains error field).

Build

Prerequisites (Linux)

(For Ubuntu 16.04 or 18.04)

To compile you need the following:

  1. CUDA Toolkit: see installation guide
  2. CUDA Driver compatible with installed Toolkit: see compatibility table
  3. libcurl library: to install run
$ apt install libcurl4-openssl-dev
  1. OpenSSL 1.0.2 library: to install run
$ apt install libssl-dev

Install (Linux)

  1. Change directory to Autolykos2_NV_Miner/secp256k1
  2. Run make

If make completed successfully there will appear an executable Autolykos2_NV_Miner/secp256k1/auto.out and (if not already present) a config file Autolykos2_NV_Miner/secp256k1/config.json with stub contents.

Install (Windows 64-bit)

  1. Install compatible pair of MS Visual Studio C++ toolchain and CUDA toolkit compatibility table for latest CUDA toolkit
  2. Build libcurl from sources with Visual Studio toolchain instruction
  3. Download OpenSSL 1.0.2 installer from slproweb.com
  4. Edit secp256k1/winbuild.cmd file, change OPENSSL_DIR, LIBCURL_DIR to your libcurl and OpenSSL directories, change CUDA_COMPUTE_ARCH to GPU code architecture you want
  5. Find vcvars64.bat script, it should be in VISUAL_STUDIO_INSTALL_DIRECTORY\VC\Auxiliary\Build
  6. Run cmd.exe, run vcvars64.bat script, then change dir to secp256k1, then run winbuild.cmd
  7. If everything went good, miner.exe should appear in secp256k1 directory
  8. If miner.exe can't find nvml.dll, add C:\Program Files\NVIDIA Corporation\NVSMI to your PATH environment variable before running.

Run (Linux)

  • To run the miner you should pass a name of a configuration file [YOUR_CONFIG] as an optional argument
  • If the filename is not specified, the miner will try to use Autolykos2_NV_Miner/secp256k1/config.json as a config
  • The configuration file must contain json string of the following structure:
    { "node" : "https://127.0.0.1:9052" }

To run the miner on all available CUDA devices type:

$ <YOUR_PATH>/Autolykos2_NV_Miner/secp256k1/auto.out [YOUR_CONFIG]

To choose CUDA devices change and use runner.sh or directly change environment variable CUDA_VISIBLE_DEVICES

Run (Windows 64-bit)

  • Create a config.json file in miner directory with following structure: { "node" : "https://127.0.0.1:9052" }

To change CUDA devices available to the miner change environment variable CUDA_VISIBLE_DEVICES , for example set CUDA_VISIBLE_DEVICES="0,1"

Stratum Proxy

In order to use this miner with a stratum pool, a stratum proxy is needed.

  • Download Ergo Stratum Proxy
  • Run proxy
  • In the miner's config file set node address to the proxy's address (by default this address is: {"node":"http://127.0.0.1:3000"})

Donations and Support

Note that the miner is free to use and we do not charge any fee from what you mine. To support all the work we're doing, we welcome donations from ERGO miners!

Bitcoin: 3KkwygpCLs1oEi9aTozFxYunoASV6ZrykJ

Bitcoin: bc1q7flay376e5mcp4ljjxpdp7r6p8yajcjm5mu6wd

ERGO: 9fFUw6DqRuyFCv13nQyoDuDz4TiR4GvVvWRcSvqzs39eBVcb5S1

autolykos2_nv_miner's People

Contributors

amin63moradi avatar mhssamadani avatar thegamerzs avatar willburn avatar zargarzadehm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

autolykos2_nv_miner's Issues

ERROR: CUDA

ERROR: CUDA failed at prehash.cu: 65
CUDA error code 209
Miner is now terminated

version NVMiner 2.0.0

1.01 ErgoStratumProxy bug Windows 10

Starting the proxy it says it cant find module root for bignum/index.js.

"Error: Could not find module root given file: "E:\mining\ergominer\node_modules\bignum\index.js". Do you have a package.json file?"

commit f1608b9

stratumMode, Invalid nonce

Hello

ive been trying to get the miner up and running with nanopool but with no succes.
I used the step by step guide provided on their website to make the config.bat file.
It keeps giving me this error

2021-02-04 14:47:21,706 INFO [GPU 0 miner] GPU 0 allocating memory
2021-02-04 14:47:21,846 INFO [GPU 0 miner] GPU 0 read new block data
2021-02-04 14:52:43,078 INFO [main thread] Using 1 GPU devices
2021-02-04 14:52:43,080 INFO [main thread] Using configuration file ./config.json
2021-02-04 14:52:43,083 INFO [main thread] Block getting URL:
http://127.0.0.1:3000/mining/candidate
2021-02-04 14:52:43,086 INFO [main thread] Solution posting URL:
http://127.0.0.1:3000/mining/solution
2021-02-04 14:52:43,094 ERROR [main thread] stratumMode, Invalid nonce

myeasylog.log

Also when I start miner.exe my screens go black and it closes the cmd window of the miner.

[SHARE] Share rejected. 25,Didn't subscribe,

Sporadically would get this message, Proxy would stop saying that Shares were Accepted (Over an hour without a single accepted share), then would continually get "[SHARE] Share rejected. 25,Didn't subscribe," from that point onwards. Have to restart both the proxy and miner for it to start working again.

Any more information would be appreciated!

Low diff share

Hi there,

We are developing a mining pool. When we test this miner with stratum proxy(connected to our pool), our pool got a lot of low diff share(almost half of all shares).
Could you please take a look at this submit:

msg = "bf98bfe7e3e36512825e9f490012c10cb89333c484cc87de634a2690e4a11677"
nonce = "0000AAAADAA2444C"
height = 5398

Our pool target is

578960446186580977117854925043439539266349923328202820197287920039565

while our solution verify output the target of the solution is

86657639212501117679482563223058298343115354588511047061251764041445060235509

way much smaller than target

Nanopool: Wrong extranonce

hello,

How can i fix this in Proxy:

"Oh no! Our work was refused because: Wrong extranonce"

after a couple time:

"Connection closed"

best regards

ERROR: CUDA failed at src/mining.cu: 310

Running on RTX3080, compiled with sm_86. Getting the following error:

2022-06-17 01:05:05,228 INFO [main thread] Using 1 GPU devices
2022-06-17 01:05:05,228 INFO [main thread] Using configuration file ./config.json
2022-06-17 01:05:05,228 INFO [main thread] Block getting URL:
http://127.0.0.1:9053/mining/candidate
2022-06-17 01:05:05,229 INFO [main thread] Solution posting URL:
http://127.0.0.1:9053/mining/solution
2022-06-17 01:05:05,231 INFO [main thread] Got new block in main thread, block data: {
"MSG" : "8F3EE1BC164A85B123F080DC16A4623AA9180370F8311B64CCF655310B4CA772",
"B" : 62276675923065607301970901505221989701081675249609464465228748,
"H" : 773701,
"PK" : "02FCEA42CC5C73CA27AD044726A8A5D0A7A7D49FFA33D0F290F1B5CF653E5D0696"
}
2022-06-17 01:05:06,156 INFO [GPU 0 miner] GPU 0 started
ERROR: CUDA failed at src/mining.cu: 310
CUDA error code 700
Miner is now terminated

Any help would be appreciated. So far it seems there's not a single open-source miner out there where ERGO could be mined...

CUDA Error Code 222

I have my local node and the proxy (pooled mining) all set up. I try miner.exe with the config pointing back to localhost:3000 and I get

C:\Users\johnr\Downloads\NV_Miner_WIN64_CUDA11_4.1.0\NV_Miner_WIN64_CUDA11_4.1.0>miner.exe
2021-04-20 12:08:52,654 INFO [main thread] Using 1 GPU devices
2021-04-20 12:08:52,655 INFO [main thread] Using configuration file ./config.json
2021-04-20 12:08:52,671 INFO [main thread] Block getting URL:
   http://127.0.0.1:3000/mining/candidate
2021-04-20 12:08:52,682 INFO [main thread] Solution posting URL:
   http://127.0.0.1:3000/mining/solution
2021-04-20 12:08:52,685 INFO [main thread] Got new block in main thread, block data: {"MSG":"2C789970EF162AF2B1ACF59010B8FEC4A667C822F6FC365C5DD0031594F6F5F3","B":38597363079105398474523661669562635951089994888546854679819194669303,"EXTRANONCE1":"9828","EXTRANONCE2SIZE":6,"HEIGHT":471562}
ERROR:  CUDA failed at autolykos.cu: 129
CUDA error code 222
Miner is now terminated
================================================================================

Non-pooled mining exhibits the same behavior. I'm using a GPU with the following characteristics

	NVIDIA GeForce GTX 1650 Ti with Max-Q Design

	Driver version:	27.21.14.5763
	Driver date:	12/8/2020
	DirectX version:	12 (FL 12.1)
	Physical location:	PCI bus 1, device 0, function 0

	Utilization	0%
	Dedicated GPU memory	0.0/4.0 GB
	Shared GPU memory	0.0/7.9 GB
	GPU Memory	0.0/11.9 GB

LOW DIFF SHARE

Hi, our mining pool still get some low diff share from time to time.
Could you please do me a favor and tell me what's the target of this solution:

message 550f4bdd48360e45872627dbcac0f90662a3c283058b2644391966e29f23000b
height 437708
nonce 119dad2bd424ceb1

Thanks a lot

CUDA failed at autolykos.cu: 304

Can't start miner

RTX3080 + 2070S
Driver 516.94

ERROR:  CUDA failed at autolykos.cu: 304
CUDA error code 700
Miner is now terminated

Miner not connecting to node.

I followed this "Mining Solo | Sync node and Initialize Wallet". https://github.com/ergoplatform/ergo/wiki/Mining-Ergo-after-The-Hardening-Upgrade
And then "Configure and run the miner"
Details:
Node 4.0.24
NVMiner 4.2.0
But running ./ErgoStratumProxy_Linux does not appear to read the config.conf and when specifying arguments by hand, it still starts on port 3000 and never connects to my node.

./ErgoStratumProxy_Linux -s 127.0.0.1 -p 9053 -u a
Ergo Stratum Proxy
Running at http://localhost:3000

[CONNECTION] Connected to server.
Unexpected token H in JSON at position 0
Unexpected token S in JSON at position 0
Unexpected token D in JSON at position 0
Unexpected token C in JSON at position 0
Unexpected token C in JSON at position 0
Unexpected token C in JSON at position 0
Unexpected token U in JSON at position 0
[CONNECTION] Disconnected from server.
^C

I want to start mining but this does not work like the wiki says it should. What am I doing wrong? I volunteer to update to wiki but its over at ergoplatform.

CURL: Timeout was reached.

Randomly I am assuming that the StratumProxy would time out and the miner would stop working, constantly giving the following error.

https://i.imgur.com/udXKniD.png

Have to manually restart the Proxy every time this happens. Can we get some info regarding this?

Connecting to Getblok.io smart pools

Does anybody have luck connecting to Getblok.io pools? I can't seem to get it to work.

I get disconnected upon connecting. Any help is appreciated.

Disconnected from Server; no automatically reconnect

If the proxy loses connection to the pool, it does not reconnect automatically. This leads to the miner running into the void and executing a loop. It would make sense if the proxy connection was monitored and accordingly also communicated with the miner. Thus, at the moment, this miner cannot be operated, or only to a limited extent, without appropriate external monitoring.

Unresolved symbols BlockMiningPH1 / BlockMiningPH2 building from source.

Hi,

Trying to build v2.0.0 on Windows 10 against CUDA 11.2 / Arch compute_86.

autolykos.obj:
unresolved external symbol "void __cdecl BlockMiningPH1(unsigned int const *,unsigned __int64,struct ctx_t *)"
unresolved external symbol "void __cdecl BlockMiningPH2(unsigned int const *,unsigned int const *,struct ctx_t *,unsigned __int64,unsigned int,unsigned int const *,unsigned int *,unsigned int *)"

Previous versions compiled successfully.

Also getting a warning in mining.cu, but I don't think it's related:
ptxas warning : Value of minnctapersm for entry Z11BlockMiningPKjS0_yjS0_PjS1 is out of range. minnctapersm will be ignored

Disable logger

Hi.

Is it possible to add a flag to disable logging into a file ?

Best regards.

Would you upload a Windows version miner?

Not familiar with compiling on Windows, still scratching my head solving hundreds of compiling error after working on this for 2 days :(
We wanna focus on developping a mining pool for Ergo, time is ticking. So would you please upload a Win version miner?

Error 0xc000007b

Hello,

No matter what's i'm doing (Compile Myself, or using any release version), i've the following error :

image

Any idea ?
Thanks

Having trouble compiling the testexec

First look at the code myself, someone may have a quick fix

./src/test.cu(71): error: identifier "N_LEN" is undefined
...
./src/test.cu(134): error: argument of type "uctx_t *" is incompatible with parameter of type "uint32_t"
./src/test.cu(134): error: too many arguments in function call
./src/test.cu(147): error: identifier "BlockMining" is undefined

Possibly some missing defines or a missing include, maybe a missing typecast

Thanks and have a great day!

No BIP39 lib include

Compiling in windows with VC 2019 the compile cannot find BIP39 libaries. I solved this by copying the src/bip39 from Autolykos -GPU-miner to the same folde rin Autolykos2_NV_miner.

However when starting up miner to a node that is synched to network the miner spams every 100ms without any information if the block is getting hashed:
021-01-04 15:52:39,814 INFO [main thread] Got new block in main thread, block data: {
"MSG" : "xxx",
"B" : ,xxx
"H" : ,xxx
"PK" : "xxx"

This was main branch with the following commit: e48a766

0 in reported hash rate and errors after finding solutions

Windows compiled with visual study 2019 and following guide as per https://github.com/mhssamadani/Autolykos2_NV_Miner
Compiled the following commit: 3df5b3d

(1) First problem
After every time my miner finds a solution it is proceeded by some of expected fields is not present in /block/candidate.
From myeasylog.log:
2021-01-04 21:48:04,896 INFO [GPU 0 miner] GPU 0 read new block data
2021-01-04 21:48:13,424 INFO [GPU 0 miner] GPU 0 found and trying to POST a solution:
2021-01-04 21:48:13,425 INFO [GPU 0 miner] POST request {"n":"00000000007FFD0D"}
2021-01-04 21:48:13,437 INFO [GPU 0 miner] Node response:{

}
2021-01-04 21:48:13,444 ERROR [main thread] Some of expected fields not present in /block/candidate
2021-01-04 21:48:13,444 ERROR [main thread] Block data: THERE WAS AN INTERNAL SERVER ERROR.
2021-01-04 21:48:13,444 INFO [main thread] Getting block error
2021-01-04 21:48:13,506 INFO [main thread] Got new block in main thread, block data:

(2) problem
In Autolykos1 I had a hashrate of 85MH/s. Per Autolykos 2 it starts with a 0 MH/S and then evolves to around 0.6 MH/S. That is after 8 minutes runtime of the miner. This seems off given the compute power of the 3060 TI. Is this correct behaviour or is it misreporting hashrates or some other causes of this ?

After start NVMiner 4.1.0 computer dies

After I initiate the miner the computer dies! The only way I can restore a boot is to force a shutdown in the psu.

Windows Version

  • X64 21H1

Windows Driver:

  • Nvidia Beta 470.05

GPU:

  • RTX 3060 12GB

Installed:

  • Win64OpenSSL-1_0_2u;
  • VC++ redistributable runtime (2005, 2008, 2010, 2012, 2013, 2015, 2017 and 2019).

Config file:
{ "seed": "MY_MNEMONIC_PHRASE", "node": "http://127.0.0.1:9053", "keepPrehash": false }

Log:
2021-05-24 22:02:53,855 INFO [main thread] Using 5 GPU devices 2021-05-24 22:02:53,855 INFO [main thread] Using configuration file config.json 2021-05-24 22:02:53,855 INFO [main thread] Unrecognized config option, currently valid options are "node" 2021-05-24 22:02:53,855 INFO [main thread] Unrecognized config option, currently valid options are "node" 2021-05-24 22:02:53,855 INFO [main thread] Block getting URL: http://127.0.0.1:9053/mining/candidate 2021-05-24 22:02:53,855 INFO [main thread] Solution posting URL: http://127.0.0.1:9053/mining/solution 2021-05-24 22:02:53,904 INFO [main thread] Got new block in main thread, block data: { "MSG" : "1AC58132DBCDB58B17EBFC6DDBBC2775B57B721F98BACAB39A863284FC43EDD4", "B" : 62347390046947122081026363764022133074792649897916202776925677, "H" : 496221, "PK" : "02F66F434E4505B639209AB25979573FCF37BDE8E21066A51D44E5CEB730682827" } 2021-05-24 22:02:54,849 INFO [GPU 1 miner] GPU 1 started 2021-05-24 22:02:58,926 INFO [GPU 0 miner] GPU 0 started 2021-05-24 22:02:59,020 INFO [GPU 3 miner] GPU 3 started 2021-05-24 22:02:59,036 INFO [GPU 4 miner] GPU 4 started 2021-05-24 22:02:59,036 INFO [GPU 2 miner] GPU 2 started

Needs more memory

image
Kawpow works, but autolykos doesn't for some reason, which is weird.

RTX 3080 Ti - no load.

GPU has not load.

Windows 11 21H2 (Build 22000.376)
Nvidia 3080 Ti Founders Edition (DCH Driver 472.12)
NV_Miner_WIN64_CUDA11_4.2.0
Used this command from Nanopool guide:
ErgoStratumProxy.exe -s ergo-eu1.nanopool.org -p 11111 -u YOUR_WALLET.YOUR_WORKER_NAME/YOUR_EMAIL pause
Screenshot

If i open localhost:3000 got this message:
{"status": "fail"}

Mining with kawpowminer and NBMiner works well.

Edit: My fault. Didnt start after i open .bet the miner.exe.

Parametrizable Hash Rate

Is there a flag I can pass so that I can mine at X% hash rate (e.g. 20% hash rate, 50% hash rate, etc.)?

CMD Lock on invalid share

The command prompt window running the miner.exe will stop hashing and cpu utilization will stop if an invalid share is found. Pressing enter on the miner.exe cmd pushes the failed share through to the proxy and it continues mining.

Conditions:
Windows 10 20h2 64 bit
2080ti driver v461.40
i9-10920x
64 bit libraries installed
NV Miner v 4.0.0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤ī¸ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.