commit 8679bf2f2ebd9e56bd258ffdd4f2802a8ada204d Author: william Date: Tue Mar 2 20:01:04 2021 +0100 Initial commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..5a2bfc5 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +# Williams Monero gruvedrift eventyr + +Dette dokumentet er for å hjelpe meg, men kanskje det kan hjelpe deg også? :) + +# Statistikk + +Her finner du statistikk til gruvearbeiderene. + + https://xmr.2miners.com/account/8B8zVuY8o9FQwCNNhio5WbXPVQ42QXDEjDNBEUd5DmK2Ez3x38sRicMLf5Npcd4fN28HUvZUn7XPjgeJ7mLnNWnCPLyn4cQ + + https://www.f2pool.com/xmr/8B8zVuY8o9FQwCNNhio5WbXPVQ42QXDEjDNBEUd5DmK2Ez3x38sRicMLf5Npcd4fN28HUvZUn7XPjgeJ7mLnNWnCPLyn4cQ + +# Gruvedrifting + +Her finner du litt informasjon om åssen ting er satt opp. + +Jeg bruker + +* [XMR-stak](https://github.com/fireice-uk/xmr-stak/releases) til 'mining' +* [2Miners](https://xmr.2miners.com/) som mitt PPLNS basseng. + +Min konto adresse for innkommende XMR: + + 8B8zVuY8o9FQwCNNhio5WbXPVQ42QXDEjDNBEUd5DmK2Ez3x38sRicMLf5Npcd4fN28HUvZUn7XPjgeJ7mLnNWnCPLyn4cQ + +Få bedre ytelse i xmr-stak-rx på Linux: + + https://github.com/fireice-uk/xmr-stak/blob/xmr-stak-rx/doc/tuning.md#huge-page-support + +# Installasjon av gruvearbeider + +Debian Buster/Ubuntu 20.04 + +Installer pakker som trengs: + + apt install msr-tools numactl + +Jeg legger til mer ting senere \ No newline at end of file diff --git a/scripts/huge_pages.sh b/scripts/huge_pages.sh new file mode 100644 index 0000000..a2c7d6d --- /dev/null +++ b/scripts/huge_pages.sh @@ -0,0 +1,5 @@ +#!/bin/bash +sysctl -w vm.nr_hugepages=1300 +sh -c ' echo 3 >/sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages' +# check if the pages are enabled +cat /sys/kernel/mm/hugepages/hugepages-1048576kB/free_hugepages \ No newline at end of file diff --git a/scripts/randomx_booster.sh b/scripts/randomx_booster.sh new file mode 100644 index 0000000..2445e29 --- /dev/null +++ b/scripts/randomx_booster.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +modprobe msr + +if cat /proc/cpuinfo | grep "AMD Ryzen" > /dev/null; + then + if cat /proc/cpuinfo | grep "cpu family[[:space:]]:[[:space:]]25" > /dev/null; + then + echo "Detected Ryzen (Zen3)" + wrmsr -a 0xc0011020 0x4480000000000 + wrmsr -a 0xc0011021 0x1c000200000040 + wrmsr -a 0xc0011022 0xc000000401500000 + wrmsr -a 0xc001102b 0x2000cc14 + echo "MSR register values for Ryzen (Zen3) applied" + else + echo "Detected Ryzen (Zen1/Zen2)" + wrmsr -a 0xc0011020 0 + wrmsr -a 0xc0011021 0x40 + wrmsr -a 0xc0011022 0x1510000 + wrmsr -a 0xc001102b 0x2000cc16 + echo "MSR register values for Ryzen (Zen1/Zen2) applied" + fi +elif cat /proc/cpuinfo | grep "Intel" > /dev/null; + then + echo "Detected Intel" + wrmsr -a 0x1a4 0xf + echo "MSR register values for Intel applied" +else + echo "No supported CPU detected" +fi \ No newline at end of file diff --git a/xmr-stak-rx/config.txt b/xmr-stak-rx/config.txt new file mode 100644 index 0000000..8a5d2d9 --- /dev/null +++ b/xmr-stak-rx/config.txt @@ -0,0 +1,146 @@ +// generated by xmr-stak-rx/1.0.5-rx/af03d89/xmr-stak-rx/lin/cpu + +/* + * Network timeouts. + * Because of the way this client is written it doesn't need to constantly talk (keep-alive) to the server to make + * sure it is there. We detect a buggy / overloaded server by the call timeout. The default values will be ok for + * nearly all cases. If they aren't the pool has most likely overload issues. Low call timeout values are preferable - + * long timeouts mean that we waste hashes on potentially stale jobs. Connection report will tell you how long the + * server usually takes to process our calls. + * + * call_timeout - How long should we wait for a response from the server before we assume it is dead and drop the connection. + * retry_time - How long should we wait before another connection attempt. + * Both values are in seconds. + * giveup_limit - Limit how many times we try to reconnect to the pool. Zero means no limit. Note that stak miners + * don't mine while the connection is lost, so your computer's power usage goes down to idle. + */ +"call_timeout" : 10, +"retry_time" : 30, +"giveup_limit" : 0, + +/* + * Output control. + * Since most people are used to miners printing all the time, that's what we do by default too. This is suboptimal + * really, since you cannot see errors under pages and pages of text and performance stats. Given that we have internal + * performance monitors, there is very little reason to spew out pages of text instead of concise reports. + * Press 'h' (hashrate), 'r' (results) or 'c' (connection) to print reports. + * + * verbose_level - 0 - Don't print anything. + * 1 - Print intro, connection event, disconnect event + * 2 - All of level 1, and new job (block) event if the difficulty is different from the last job + * 3 - All of level 1, and new job (block) event in all cases, result submission event. + * 4 - All of level 3, and automatic hashrate report printing + * 10 - Debug level for developer + * + * print_motd - Display messages from your pool operator in the hashrate result. + */ +"verbose_level" : 4, +"print_motd" : true, + +/* + * Automatic hashrate report + * + * h_print_time - How often, in seconds, should we print a hashrate report if verbose_level is set to 4. + * This option has no effect if verbose_level is not 4. + */ +"h_print_time" : 300, + +/* + * Manual hardware AES override + * + * Some VMs don't report AES capability correctly. You can set this value to true to enforce hardware AES or + * to false to force disable AES or null to let the miner decide if AES is used. + * + * WARNING: setting this to true on a CPU that doesn't support hardware AES will crash the miner. + */ +"aes_override" : null, + +/* + * LARGE PAGE SUPPORT + * Large pages need a properly set up OS. It can be difficult if you are not used to systems administration, + * but the performance results are worth the trouble - you will get around 20% boost. Slow memory mode is + * meant as a backup, you won't get stellar results there. If you are running into trouble, especially + * on Windows, please read the common issues in the README and FAQ. + * + * On Linux you will need to configure large page support and increase your memlock limit (ulimit -l). + * + * To set large page support, add the following to "/etc/sysctl.d/60-hugepages.conf": + * vm.nr_hugepages=128 + * You WILL need to run "sudo sysctl --system" for these settings to take effect on your system (or reboot). + * In some cases (many threads, very large CPU, etc) you may need more than 128 + * (try 256 if there are still complaints from thread inits) + * + * To increase the memlock (ulimit -l), add following lines to /etc/security/limits.d/60-memlock.conf: + * * - memlock 262144 + * root - memlock 262144 + * You WILL need to log out and log back in for these settings to take effect on your user (no need to reboot, just relogin in your session). + * + * Check with "/sbin/sysctl vm.nr_hugepages ; ulimit -l" to validate + * + * Memory locking means that the kernel can't swap out the page to disk - something that is unlikely to happen on a + * command line system that isn't starved of memory. I haven't observed any difference on a CLI Linux system between + * locked and unlocked memory. If that is your setup see option "no_mlck". + * + * + * use_slow_memory defines our behaviour with regards to large pages. There are three possible options here: + * always - Don't even try to use large pages. Always use slow memory. + * warn - We will try to use large pages, but fall back to slow memory if that fails. + * no_mlck - This option is only relevant on Linux, where we can use large pages without locking memory. + * It will never use slow memory, but it won't attempt to mlock + * never - If we fail to allocate large pages we will print an error and exit. + */ +"use_slow_memory" : "warn", + +/* + * TLS Settings + * If you need real security, make sure tls_secure_algo is enabled (otherwise MITM attack can downgrade encryption + * to trivially breakable stuff like DES and MD5), and verify the server's fingerprint through a trusted channel. + * + * tls_secure_algo - Use only secure algorithms. This will make us quit with an error if we can't negotiate a secure algo. + */ +"tls_secure_algo" : true, + +/* + * Daemon mode + * + * If you are running the process in the background and you don't need the keyboard reports, set this to true. + * This should solve the hashrate problems on some emulated terminals. + */ +"daemon_mode" : true, + +/* + * Output file + * + * output_file - This option will log all output to a file. + * + */ +"output_file" : "", + +/* + * Built-in web server + * I like checking my hashrate on my phone. Don't you? + * Keep in mind that you will need to set up port forwarding on your router if you want to access it from + * outside of your home network. Ports lower than 1024 on Linux systems will require root. + * + * httpd_port - Port we should listen on. Default, 0, will switch off the server. + */ +"httpd_port" : 8080, + +/* + * HTTP Authentication + * + * This allows you to set a password to keep people on the Internet from snooping on your hashrate. + * Keep in mind that this is based on HTTP Digest, which is based on MD5. To a determined attacker + * who is able to read your traffic it is as easy to break a bog door latch. + * + * http_login - Login. Empty login disables authentication. + * http_pass - Password. + */ +"http_login" : "", +"http_pass" : "", + +/* + * prefer_ipv4 - IPv6 preference. If the host is available on both IPv4 and IPv6 net, which one should be choose? + * This setting will only be needed in 2020's. No need to worry about it now. + */ +"prefer_ipv4" : true, diff --git a/xmr-stak-rx/pools.txt b/xmr-stak-rx/pools.txt new file mode 100644 index 0000000..6b4154d --- /dev/null +++ b/xmr-stak-rx/pools.txt @@ -0,0 +1,51 @@ +// generated by xmr-stak-rx/1.0.5-rx/af03d89/xmr-stak-rx/lin/cpu + +/* + * pool_address - Pool address should be entered as "pool_address:port" (e.g "pool.ryo-currency.com:4444"). Only stratum pools are supported. + * wallet_address - Your wallet, or pool login. + * rig_id - Rig identifier for pool-side statistics (needs pool support). + * pool_password - Can be empty in most cases or "x". + * use_nicehash - Limit the nonce to 3 bytes as required by nicehash. + * use_tls - This option will make us connect using Transport Layer Security. + * tls_fingerprint - Server's SHA256 fingerprint. If this string is non-empty then we will check the server's cert against it. + * pool_weight - Pool weight is a number telling the miner how important the pool is. Miner will mine mostly at the pool + * with the highest weight, unless the pool fails. Weight must be an integer larger than 0. + */ + +"pool_list" : +[ + {"pool_address" : "xmr.2miners.com:2222", + "wallet_address" : "8B8zVuY8o9FQwCNNhio5WbXPVQ42QXDEjDNBEUd5DmK2Ez3x38sRicMLf5Npcd4fN28HUvZUn7XPjgeJ7mLnNWnCPLyn4cQ", + "rig_id" : "", + "pool_password" : "x", + "use_nicehash" : false, + "use_tls" : false, + "tls_fingerprint" : "", + "pool_weight" : 1 }, +], + +/* + * Currency to mine. Supported values: + * + * arqma + * keva + * loki + * monero + * safex + * wownero + * + * Native algorithms which do not depend on any block versions: + * + * # 256KiB scratchpad memory + * randomx_arqma + * # 512KiB scratchpad memory + * randomx_keva + * # 1MiB scratchpad memory + * randomx_wow + * # 2MiB scratchpad memory + * randomx + * randomx_loki + * randomx_safex + */ + +"currency" : "monero", diff --git a/xmr-stak-rx/xmr-stak-rx b/xmr-stak-rx/xmr-stak-rx new file mode 100755 index 0000000..9685b61 Binary files /dev/null and b/xmr-stak-rx/xmr-stak-rx differ