跳到主要內容

門羅幣 Monero (XMR) 挖礦教學,以 XMR Stak 為例



Monero 自從在 2018/04/06 更改 PoW 機制後算法就已經變成了「CryptoNightV7」,大部分仍有在維護專案的挖礦程式也都在第一時間更新,包括 XMR Stak、XMRig、Cast XMR、Claymore……等,其中 A 卡 (AMD GPU) 會推薦使用優化較佳的「Cast XMR」,而其它 CPU / GPU 設備則可以選擇較通用也擁有高度自訂性的「XMR Stak」

以 XMR Stak 為例,將示範怎麼樣從下載、配置到真正使用,以及更重要的是後續針對硬體的調校來讓挖礦效益最大化。也歡迎加入我們一起到「台灣 Monero 礦池」挖礦,我們提供穩定快速的連線品質、超低 Shares 拒絕率,更可觀的是只收取 Nanopool、Dwarfpool 等大礦池十分之一的礦池費!




XMR-STAK 挖礦程式
挖礦算法 : CryptoNightV7

挖礦裝置 : CPU、GPU (AMD、Nvidia 兼容)

下載頁面 : https://github.com/fireice-uk/xmr-stak/releases

現在 XMR Stak 已經把 A 卡、N 卡都整合在一起了,只要透過完成產生 Config (設定檔) 的嚮導就可以隨時開挖 Monero。更能同時進行 CPU 挖礦將設備的效能完全發揮,也不必再另外開啟一個挖礦程式因為本身就內含了 CPU、GPU 的挖礦程序。




首先在 GitHub 上的「發布頁面」(Release) 下載 xmr-stak-win64.zip 最新版本的 XMR Stak,發行版的好處在於下載回來就能直接使用,但會預設 2% 的手續費回饋程式開發者,這部分可以下載 Source code (zip) 回來參考 GitHub 上的「說明文件」依據自己的執行環境 Compile。




解壓縮後進入 xmr-stak-win64 資料夾,「xmr-stak.exe > 右鍵 > 內容」「以系統管理員的身分執行此程式」打勾。如果下載回來的檔案發現有缺少或直接整個不見可能是被防毒軟體或 Windows Defender 錯報為病毒移除,記得先將 XMR Stak 加為例外。




Please enter:
- Do you want to use the HTTP interface?  //是否開啟 HTTP 介面監控 (0為關閉)
Unlike the screen display, browser interface is not affected by the GPU lag.
If you don't want to use it, please enter 0, otherwise enter port number that the miner should listen on
0
Configuration stored in file 'config.txt'
Please enter:
- Please enter the currency that you want to mine:  //選擇挖礦算法
        - aeon7
        - bbscoin
        - croat
        - cryptonight
        - cryptonight_heavy
        - cryptonight_lite
        - cryptonight_lite_v7
        - cryptonight_v7
        - edollar
        - electroneum
        - graft
        - haven
        - intense
        - karbo
        - monero7
        - stellite
        - sumokoin

monero7
- Pool address: e.g. pool.usxmrpool.com:3333 //礦池地址
xmr.omine.org:5000
- Username (wallet address or pool login): //錢包地址
43pZN88VHdkSuobwn7pbAqQ9zC9kfs8ibj3sNpZyrh9vCzD7sShH6PVbDbY1He1zKmh2JmBPU6ee8BNJ4TY5pUs19NGFJwW
- Password (mostly empty or x):  //礦池密碼 (多半都為 x)
x
- Rig identifier for pool-side statistics (needs pool support). Can be empty: //識別 ID (留空即可)

- Does this pool port support TLS/SSL? Use no if unknown. (y/N) //加密連線
n
- Do you want to use nicehash on this pool? (y/n)
n
- Do you want to use multiple pools? (y/n)
n
在第一次開啟時會出現嚮導自動產生 Config 檔 (config.txt、pools.txt、cpu.txt、amd.txt / nvidia.txt),只要依據上方回答即可,但記得將錢包地址改為自己的 XMR 錢包 (詳細的錢包格式可以參考這裡),以及如果想使用 TLS/SSL 加密連線則需將礦池地址換為 xmr.omine.org:6000




台灣 Monero 礦池
礦池網站 : https://xmr.omine.org
連線地址 : xmr.omine.org:3000 / 5000 / 7000 / 9000 / 6000
分潤模式 : RBPPS (較公平)
礦池費用 : 0.1% (期間免費)
起始付額 : 0.1 XMR
出金費用 : 0.001 XMR
出金到交易所 : 0.01 XMR
詳細的礦池參數也可以到網站中查閱,基本上我們的收費比起檯面上的 Monero 礦池都是非常有競爭力的,絕不溢收無謂的費用,伺服器位於台灣也提供低 Ping 值的連線、降低 Share 被拒絕比率,這對挖礦收益都是最直接的正面影響。




嚮導設定完成後就會直接開始挖礦了,按「h」「r」「c」可以分別看到算力、Shares 接受率和連線狀況的報告,但目前只是使用 XMR Stak 自行偵測硬體產生的配置,它未必是最好的,也不一定能完全發揮設備的挖礦效能。




"aes_override" : true,
"use_slow_memory" : "nerver",
「config.txt」分別有 AES 以及使用 Large-Page Support 的設定,這兩項分別取決於 CPU 與記憶體的支援,兩項的預設值為 null 以及 "warn" ,它會自動偵測硬體是否支援而開啟,會對算力有不小的提升,也可以將它直接設為 true 以及 "never" 來強制使用,但若較舊的硬體沒有支援這兩項技術可能會導致挖礦程式崩潰。


"cpu_threads_conf" :
[
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 0 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 2 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 4 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 1 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 6 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 8 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 10 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 7 },

],
而在「cpu.txt」中可能會看到類似於上方的 cpu_threads_conf ,右邊的數字就是 CPU 執行緒 (Threads) 序號,由於受到 Monero 算法的影響,並不是開啟越多執行緒算力就會越高,應該根據使用的 CPU 去找到重點執行緒,並將 low_power_mode 設為 false no_prefetch true ,在某些硬體上可以小幅的提高算力。




但要怎麼找出最佳的設定呢?其實只要 Google 自己的 CPU 型號和 XMR Stak 這個關鍵字就可以找到許多國外鄉民的測試結果,在 Reddit 的 /r/MoneroMining! 就有許多針對硬體設定的討論串,以及 XMR-STAK BENCHMARKS 更可以直接搜尋硬體型號來看看別人的設定以及可以達到的算力,這些都是在調整挖礦程式時很好的參考。 
而顯示卡 (GPU) 的 Config 檔則為「nvidia.txt」「amd.txt」,最佳化設定的方法也一樣,可以上網直接找同型號的顯卡,拿別人測試的結果來使用、比較,並參考看看同系列顯卡最高能到達的算力。當然這些都還是會取決於其他硬體 (主機板、電源穩定) 以及超頻與否、BIOS 設定,這些可能就比較不在討論範疇了。




挖礦的進度也可以在礦池網站上輸入自己的錢包地址 (如果在挖礦時就有包含 Payment ID 也需照格式輸入) 查詢,並且可以自訂你想要的起付額 (預設為 0.1 XMR),可以接受的範圍在 0.1 ~ 10 XMR 之間,提高起付額可以減少 DUST 的產生以及節省傳輸手續費。




留言



這個網誌中的熱門文章

Linux (Ubuntu) 查詢硬碟容量、剩餘大小指令

在 Ubuntu Desktop 版本或有安裝 GUI 像 Xfce 的 Server 版本當然可以直接從圖形介面查看硬碟容量和已經使用的大小, 但如果是在純 CLI 版本或使用 SSH 連線時呢?那就需要用到指令了。 顯示硬碟容量、已使用、可用大小。 df -h 查詢資料夾所占硬碟的大小。 du -h 查詢檔案大小 ls -l

吃光硬碟讀寫的大怪獸 - Superfetch 是什麼?可以關嗎?

Superfetch 是 Windows 內建的硬碟快取功能,它會預先將檔案讀取起來到 Ram 裡方便稍後做使用,所以常常在工作管理員內都可以看到 Superfetch 往往占掉了不少的硬碟使用量,那這樣的情形是好的嗎?其實理論上並不會有太大影響,畢竟 Superfetch 只是將等會要讀取的內容先預置在 Ram 中,如果不趁硬碟負載小的時候優先讀取,之後反而可能忙不過來呢。當然如果你是使用 SSD 的話可能會為使用壽命擔心, 高頻率的讀取可能加速固態硬碟老化,那在讀取速度原本就很快的 SSD 當然就相對的沒有必要開啟 Superfetch 了。 Superfetch 在電腦待機時吃掉大部分硬碟使用量是很常有的事。 要關閉也很簡單, Win+R > services.msc 打開「服務」,找到 Superfetch。 右鍵 > 內容,將它更改為「 已停用 」後確定即可。

TLS / SSL 金鑰轉檔,「.crt / .key」如何轉成「.pem」?( OpenSSL 教學)

不管是哪個 Certificate Authority (CA) 發的憑證多半金鑰檔都是給「.crt / .key」格式的檔案,像是「ca_bundle.crt」、「 certificate.crt」和「.private.key」這種檔案, 但是在實際使用 (Nginx、Apache...等伺服器) 卻會需要的是「.pem」檔 ,那要怎麼轉換呢?其實可以直接使用 OpenSSL 這個軟體和幾行指令來達成。 OpenSSL 官方網站 :  https://www.openssl.org 下載頁面 :  https://www.openssl.org/source sudo apt-get install openssl 以 Linux (Ubuntu / Debian ...等) 為例,可以直接使用 apt-get 指令下載安裝 OpenSSL,如果是其他系統可以參考官方網站的說明。 openssl rsa -in private.key -text > private.pem openssl x509 -inform PEM -in certificate.crt > certificate.pem openssl x509 -inform PEM -in ca_bundle.crt > ca_bundle.pem 以前述所提到的「ca_bundle.crt」、「 certificate.crt」和「.private.key」三個檔案為例,就可以用上方的指令完成轉檔,其實同副檔名的轉檔指令都相同,所以兩個「.crt」的指令其實是重複的,也要記得套換成自己的檔案名稱。 如果需要申請免費的 SSL 憑證也可以參考之前介紹過的 SSL For Free ,它是使用「Let's Encrypt」核發的憑證,以及如果覺得申請憑證和定期更新太麻煩,也可以考慮自動化的 Caddy Server 能自動幫網站升級 HTTPS。