0. 簡介
Grin不多重復(fù)介紹了,近期很火的一個匿名幣(https://grin-tech.org/),而且還能用CPU、GPU挖礦(N卡。目前似乎還不支持A卡),并且支持多個平臺Linux、macOS等等。官網(wǎng)上說不支持Windows,但實際是可以跑的。下面是Windows 10上的部署過程小結(jié)。
1. 環(huán)境準(zhǔn)備
1.1. WSL
Windows上用WSL來部署Linux的環(huán)境最為方便。在Microsoft Store中搜索Ubuntu即可安裝。
注意!裝完之后要修改一下注冊表。不然因為這個內(nèi)嵌的Ubuntu會帶很多奇怪的Path,導(dǎo)致后面build會出問題,產(chǎn)生不了運行所需的plugin文件夾。
具體步驟是:運行regedit。在注冊表項中,找到Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss將Flag的值改為5。
1.2. 安裝所需要的安裝包依賴
運行Ubuntu,新建用戶名、并輸入自己想要設(shè)置的密碼
Grin是用rust編寫的,安裝好相關(guān)環(huán)境
sudo apt install -y curl git cmake zlib1g-dev pkgconf ncurses-dev libncursesw5-dev linux-headers-generic g++ libssl-dev
curl https://sh.rustup.rs -sSf | sh; source $HOME/.cargo/env
再安裝好其他依賴
sudo apt install build-essential cmake git libgit2-dev clang pkg-config llvm
2. 部署grin或注冊礦池
Grin節(jié)點也和其他區(qū)塊鏈類似,可以自己部署也可以利用礦池。兩種方式選一即可。
2.1. 部署運行Grin
如果要自己運行一個Grin節(jié)點,按照以下步驟:
sudo apt install build-essential cmake git libgit2-dev clang libncurses5-dev libncursesw5-dev zlib1g-dev pkg-config libssl-dev llvm
git clone https://github.com/mimblewimble/grin.git
cd grin
cargo build --release
target/release/grin即為可運行文件
2.2. 礦池
目前也有一些Grin的礦池可以鏈接,不想自己運行Grin的話,可以注冊一個。比較有名的是GRIN-Pool(https://mwgrinpool.com/)
點右上角Login后按提示注冊即可。自己需要記住用戶名和密碼。
3. 部署grin-miner
另開一個Ubuntu的終端,輸入:
git clone https://github.com/mimblewimble/grin-miner.git
cd grin-miner
git submodule update --init
3.1. 如果用CPU挖礦
檢查你CPU是否支持avx2
cat /proc/cpuinfo | grep avx2 | wc -l
如果大于0,那么輸入以下:
sed -i 's/^plugin_name =.*/plugin_name = "cuckaroo_cpu_avx2_29"/' grin-miner.toml
如果是多核,可以指定挖礦的核數(shù)(build后每次運行前也可以修改)
查看有多少個可用的CPU,并輸入想使用的CPU數(shù)量
grep -c ^processor /proc/cpuinfo
printf "\nNumber of Processors: " && read nthreads && sed -i 's/^nthreads.*/nthreads = '$nthreads'/' grin-miner.toml
3.2. 如果用GPU挖礦
如果是N卡,可以用GPU挖礦
sed -i 's/^plugin_name =.*/plugin_name = "cuckaroo_cuda_29"/' grin-miner.toml
nvidia-smi

printf "\nGPU ID: " && read gpuid && sed -i 's/^nthreads =.*/device = '$gpuid'/' grin-miner.toml
然后輸入nvidia-smi運行后得到的Device ID
3.3. 使用的礦池的額外步驟
如果用的是礦池,還要額外配置一下礦池信息:
sed -i 's/stratum_server_addr.*/stratum_server_addr = "stratum.mwgrinpool.com:3333"/' grin-miner.toml
輸入在礦池里注冊的用戶名和密碼
printf "\nUsername: " && read username && sed -i 's/.*stratum_server_login.*/stratum_server_login = "'$username'"/' grin-miner.toml
printf "\nPassword: " && read password && sed -i 's/.*stratum_server_password.*/stratum_server_password = "'$password'"/' grin-miner.toml
3.4. build并運行
先build
cargo build --release
然后運行
./target/release/grin-miner
如果一切順利,現(xiàn)在已經(jīng)可以挖礦了;如果不順利,那么我也不知道了。
參考資料:
https://github.com/mimblewimble/grin
https://github.com/mimblewimble/grin-miner
https://medium.com/@blade.doyle/cpu-mining-on-mwgrinpool-com-how-to-efb9ed102bc9
https://medium.com/@blade.doyle/gpu-mining-on-mwgrinpool-com-how-to-72970e550a27