Initial commit

This commit is contained in:
william 2021-03-02 20:01:04 +01:00
commit 8679bf2f2e
6 changed files with 270 additions and 0 deletions

38
README.md Normal file
View File

@ -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

5
scripts/huge_pages.sh Normal file
View File

@ -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

View File

@ -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

146
xmr-stak-rx/config.txt Normal file
View File

@ -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,

51
xmr-stak-rx/pools.txt Normal file
View File

@ -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",

BIN
xmr-stak-rx/xmr-stak-rx Executable file

Binary file not shown.