Grin怎麼挖?用什麼挖?這是你要的挖礦教程
從什麼是Grin和MimbleWimble說起……
Grin似乎滿足了很多人的期待。這是一種以社群為導向的加密貨幣,提倡隱私,旨在提高延展性,保持去中心化。和比特幣一樣,Grin也有一個獨立且活躍的開發者社群。此外,ICO和基金會也不會出現在這裡,因為這樣才能打造出一個真正的去中心化加密貨幣,而非由企業主導。
Grin基於MimbleWimble協議,是一種全新的區塊鏈協議。其創新設計減少了非必要的資料儲存,提高了可延展性。另外,隱私是其自帶的功能。
和比特幣一樣,Grin選擇了經典的中本聰共識(PoW),但挖礦演算法不同。Grin的演算法Cuckoo Cycles,由於其記憶體密集型特點,維持了ASIC抗性。
開始挖礦之前你需要什麼?
- Linux或者MacOS系統(grin-miner暫不Windows系統,不過你也可以選擇加入礦池)
- 版本較新的CPU
- 在主網挖礦需要新版GPU,至少6GB記憶體。英偉達的1080/2080/ti系列執行良好。
另外,你需要下載並安裝Grin軟體,執行一個同步節點並且已經進行初始化,具備運作錢包的能力。
Grin PoW基本知識
Grin接受兩種PoW演算法,且均來源於Cuckoo Cycle概念。
- CuckARoo (有ASIC抗性)用於GPU挖礦,可以使用6GB記憶體的GPU。
- CuckAToo (針對ASIC)用於將來的ASIC挖礦,可以使用11GB記憶體的GPU。
Cuckoo演算法解算器採用了被稱為 "圖形大小" 的方法作為引數。這決定了挖礦所需記憶體。CuckARoo使用2^29邊的圖形, 而CuckAToo使用具有2^(31+)邊的圖形, 因此存在不同的記憶體要求。
Cuckoo使用了每秒搜尋圖形數(GPS)來決定礦工的挖礦速度。在Grin的挖礦環境中,你經常能看到的是GPS,而非算力。這兩個術語在某些情況下可以互換使用,但GPS更加準確。
上線之後,Grin就會進行調整,90%的區塊通過GPU挖礦產出,10%由ASIC產出。按照現階段的計劃,未來Grin挖礦將逐漸向GPU挖礦產出0%,ASIC 100%靠攏。
下載Grin-miner軟體
新版的Grin-miner可以在 這裡 找到。目前僅支援Linux和OSX。未來將出現更多的版本,也將在這裡列出。
安裝
Linux(所有版本)
將壓縮後的檔案下載到你的電腦上,並進行解壓。然後你就會看到一個名為“ grin -miner
”的檔案目錄,其中包含grin-miner二進位制檔案、GPU和CPU挖掘外掛以及主配置檔案“grin-miner.toml”。
我們建議將它放在與主目錄相對的位置,並編輯path環境變數,以確保無論在何處執行,都可以使用grin-miner可執行檔案。這些都可以在下載grin-miner的目錄中執行以下命令來完成(在必要時替換grin-miner版本號)。
tar -C ~/ xzf grin-miner-v1.0.2-480780316-linux-amd64.tgz echo 'export PATH=~/grin-miner-v1.0.2:$PATH' >> ~/.bashrc source ~/.bashrc
挖礦模式下執行Grin
設定Grin的stratum(挖礦)伺服器在檔案~/.grin/main/grin-server.toml中,把enable_stratum_server = false改成enable_stratum_server = true執行Grin錢包監聽器(listener)和節點
在一個終端視窗中,執行錢包監聽器(在提示時輸入錢包密碼)
grin wallet listen
在另一個終端視窗執行你的Grin節點:
grin
配置grin-miner
挖礦外掛的所有配置選項都可以在grin.toml中找到,並有完整的文件記錄。以下步驟可幫助大多數人執行這一軟體:
設定grin-miner用於CPU挖礦
配置檔案預設會啟用CPU挖礦。如果你的CPU版本較新,你可以使用cuckaroo_cpu_avx2_29外掛。
設定grin-miner用於GPU挖礦(英偉達)
一定要保證英偉達驅動器是最新版。
在這一節,我們將編輯grin-miner設定,用英偉達GPU進行挖礦。
首先進入CUCKAROO (即GPU友好的) MINER PLUGIN CONFIGURATION部分。
按一下方式為CPU外掛配置添加註釋(每一行的開頭都加上#):
#[[mining.miner_plugin_config]] #plugin_name = "cuckaroo_cpu_compat_29" #[mining.miner_plugin_config.parameters] #nthreads = 1
然後,取消以下幾行設定(去掉每行的#):
[[mining.miner_plugin_config]] plugin_name = “cuckaroo_cuda_29” [mining.miner_plugin_config.parameters] device = 0如果你有多個GPU,每個裝置都需要輸入這四行程式碼,並修改裝置號。你可能希望使用與nvidia-smi等非CUDA程式相同的PCI匯流排ID列舉順序中的裝置號。為此,將shell指令碼中的CUDA_DEVICE_ORDER環境變數設定為PCI_BUS_ID。這個變數的預設值是FASTEST_FIRST。可在 這裡
找到更多資訊。注意,這隻在CUDA 7和更高版本中可用。
設定grin-miner用於GPU挖礦(AMD)
在這一節,我們將編輯grin-miner設定,用AMD GPU進行挖礦。
首先進入CUCKAROO (即GPU友好的) MINER PLUGIN CONFIGURATION部分並且註釋下列命令列(每行開頭都新增#):
#[[mining.miner_plugin_config]] #plugin_name = "cuckaroo_cpu_compat_29" #[mining.miner_plugin_config.parameters] #nthreads = 1
然後進入CUCKAROO (即ASIC抗性) MINER PLUGIN CONFIGURATION部分並且取消以下幾行設定(去掉每行的#):
[[mining.miner_plugin_config]] plugin_name = "ocl_cuckaroo" [mining.miner_plugin_config.parameters] platform = 0 device = 0
如果你有多個GPU,每個裝置都需要輸入這五行程式碼,並修改裝置號。
執行grin-miner
確保你的Grin節點和錢包正確執行,然後從你的grin-miner-vx.x.x安裝目錄:
./grin-miner
grin-miner的測試使用者介面應該會顯示所有配置卡的資料。
grin-miner資料
- Solutions Found (發現解決方案數量)是你發現的有效cuckoo解決方案數量。注意這並非產出區塊。只有通過進一步難度檢查(通過Grin stratum伺服器測試)的方案才能挖出一個區塊。
- Accepted (接受數量)是你的礦機發現的解決方案被stratum伺服器定為有效共享(或者對礦池有貢獻)的數量。同樣的,這並非已解決的區塊數量或挖礦獎勵。
- Rejected (拒絕數量)是拒絕共享的數量。這一數字應該為0,除非你的挖礦外掛或伺服器通訊存在問題。
- Stale (已過期數量)是發現時間較晚的解決方案數量(網路中有人在這個解決方案提交之前就挖出了區塊)。
- Blocks found (發現區塊數量)是你挖出的區塊數量,即通過難度檢查的有效cuckoo解決方案,同時已經被網路接受。如果你是個人礦工(這個教程就是針對個人礦工的),你錢包中應該會取得60Grin/區塊的獎勵。
挖CuckAToo
如果你有容量大於11GB的GPU,可以配置你的外掛通過2^(31+)的圖形大小來挖CuckAToo(ASIC友好)。舉個例子:
[[mining.miner_plugin_config]] plugin_name = "cuckatoo_mean_cuda_rtx_31" [mining.miner_plugin_config.parameters] device = 0 expand = 2 cpuload = 1
你需要設定expand = 2為允許使用可用的GPU記憶體執行解決方案。
請參閱grin-miner.toml中的文件瞭解使用Cuckatoo31進行挖礦的進一步資訊。
Cpuload引數
在每個CUDA GPU解算器中可配置的cpuload引數減少了CPU的工作量,但這是以時間為代價的。
- cpuload = 0(預設)速度較慢,但能釋放更多CPU空間
- cpuload = 1速度較快,但CPU工作量較大
建議每個CUDA解算器手動設定cpuload = 1,除非你挖礦的速度出現了嚴重的延遲。
礦池
在熟悉了grin挖礦之後,你也可以選擇加入礦池。需要注意的是,Grin專案並未執行任何礦池,也不為這些礦池做背書。在設定grin-miner的時候請參照具體礦池的指示。