todxx / teamredminer

AMD GPU Optimized Cryptocurrency Miner
954 stars 203 forks source link

Will there be EtcHash support for Ethereum Classic? #161

Closed q9f closed 3 years ago

q9f commented 3 years ago

Will there be etchash support?

BobDodds commented 3 years ago

ETHASH_4GB_HOWTO.txt TeamRedMiner Ethash 4GB Status

v1.1 - 2020-10-12 - Added Linux section and info around extended mining. v1.0 - 2020-10-04 - First version, Windows only.

Summary

Both major coins on ethash, ETH and ETC, are approaching the hard limit where 4GB GPUs will no longer be able to hold the DAG necessary to perform max hashrate hashing. ETC is 11 epochs ahead of ETH, meaning it's already impossible to mine on Windows, and only has a few epochs left on Linux before it's impossible.

This status document contains instructions on how to maximize the life span of your 4GB gpus when mining with TRM. This document will be updated continuously between TRM releases up until epoch 380.

========================================================================= Linux

Linux TL;DR

Most or all(?) modern amdgpu-pro drivers should be able to mine epoch

  1. Add the argument "--eth_4g_max_alloc=4078" to reserve 4078MiB at startup, which will cover epoch 381 fully. If you fail to allocate the vram on startup or the miner crashes after 5-10 mins every time, lower the number (4078) in small steps until the miner starts. After epoch 381, the miner will automatically switch into extended mining mode and continue to mine epoch 382 and up with a partial DAG but lose some hashrate for every additional epoch.

The example start script start_eth_4gb.sh contains these arguments.

Linux Instructions

1) Linux is much simpler to handle than Windows. We've verified mining on epoch 381 on amdgpu-pro drivers 18.50, 19.30, 19.50, 20.10.

2) PRE-ALLOCATE: You should always avoid reallocation of the DAG buffers at epoch switches, which means you should instruct the miner to allocate the max possible memory at startup. The easiest way to do this is the use the "--eth_4g_max_alloc=4078" argument, which also automatically enables extended mining after epoch

  1. You can also add "--eth_alloc_epoch=381" to apply it to all gpus in the rig, not just the 4GB gpus. The given number tells the miner how many MBs to allocate for the DAG buffer. If gpus in your rig fails to allocate vram with that setting, you need to lower it. You can also specify separate values per gpu in a comma-separated list if it's only one gpu failing to allocate 4078MB.

3) TEST: take your normal command line and add "--eth_epoch=381 --high_sample_mode=8" at the end to run simulated mining on epoch 381 to verify that it works. You can also increase the number to higher...

q9f commented 3 years ago

I'm not talking about ETHASH. I'm talking about ETC.

See https://2miners.com/blog/ethereum-classic-hard-fork-to-change-cryptocurrency-mining-algorithm-how-to-keep-mining-etc/

devz3ro commented 3 years ago

I'm curious of this as well. Was hoping to see teamredminer in the "Mining Software Support" section of the following page:

https://github.com/eth-classic/etchash

Seems like it's been updated according to this video: https://youtu.be/Yo1zLzhYzv8?t=195 - is this correct? I can't find anything that references "etchash" for teamred.

anzay911 commented 3 years ago

I've tested on the mordor.pool.fault.dev with activated ECIP-1099. Lol - accepts shares, nano 3.1.1 - rejects, TRM 0.7.17 - login failed.

BobDodds commented 3 years ago

Team Red Miner v0.7.18

Repository: todxx/teamredminer · Tag: 0.7.18 · Commit: 1fde292 · Released by: Kerney666

TeamRedMiner v0.7.18

Support for etchash (use -a etchash) and dag caching for e.g. ETH+ZIL mining (use --eth_dag_cache=0), and other fixes.

This release supports a range of algorithms optimized for AMD GCN GPUs (ethash, kawpow, nimiq, lyra2z, phi2, lyra2rev3, x16r, x16rv2, x16s, x16rt, MTP, cuckarood29, cuckatoo31, chukwa-512, cryptonight R, cryptonight v8 and a lot of other cryptonight variants).

Please see the readme for more details.

q9f commented 3 years ago

I've tested on the mordor.pool.fault.dev with activated ECIP-1099. Lol - accepts shares, nano 3.1.1 - rejects, TRM 0.7.17 - login failed.

nanominer only works on mainnet, not on testnet. try TRM 0.7.18 and let me know please (I'm operating the pool)

Team Red Miner v0.7.18

Thanks for the release!

BobDodds commented 3 years ago

--eth_variant_mode=pool, or =deduce, instead of -a etchash

USAGE.txt Team Red Miner version 0.7.18 Usage: teamredminer [OPTIONS] Options: -a, --algo=ALGORITHM Selects the mining algorithm. Currently available: ethash (eth, etc, etp, others) etchash (alias for -a ethash --eth_variant_mode=etchash) --eth_variant_mode=X This argument controls activation of the ethash changes for ETC from epoch 390 as described in ecip-1099. The following modes are available: pool - Default mode. Only activates if the pool sends an algo flag containing etchash. Once this flag is seen, all pool jobs will be assumed to be etchash unless another. algo flag containing ethash is received. etchash - Etchash mode. Epoch >= 390 will be assumed to be etchash, lower epochs ethash. Pool algo flags are not used. deduce - Ignore pool algo flags and only apply a heuristics based on the current system time and known heights and times for ETC and ETH. This mode should work as a generic approach when ETH reaches epoch 390 in Jan 2021. The system clock needs to be correct. It should also handle any profit switching setups that switch freely between ethash and etchash jobs by proxying underlying pools. auto - As long as the pool hasn't passed an algo flag, use deduce mode. When an algo flag is seen, switch to pool mode. ethash - Forced ethash mode. Never apply ecip-1099. force_etc - Forced etchash mode. Always apply ecip-1099 rules. Use for ETC testnet mining.

BobDodds commented 3 years ago

HiveOS recommends TRM 0.7.18 for the next ETC epoch, but the critical date, they calculate, is Nov 29th. I think the way to do it during transition Nov 29th through Dec 2, is not the simple "-a etchash" but the more versatile "--eth_variant_mode=pool", or "--eth_variant_mode=deduce". Deduce would be my best guess:

Attention! (HiveOS, Hiveon pool)

All Ethereum Classic miners must update their mining software to an etchash compatibilie version before November 28th.

These are the options that all miners must be using before block 11,700,000 (expected November 29th)

TeamRedMiner 0.7.18 or later
nanominer v1.12.0 or later
lolMiner 1.12 or later
GMiner 2.30 or later
T-Rex 0.18.8 or later
NBMiner v33.4 or later
SRBMiner-Multi 0.5.6 or later