Mining BTC (Regtest) via CPU Miner
Jika pada tutorial sebelumnya, proses mining bisa dilakukan dengan program "bitcoin-cli" (menggunakan argument "generate nblock"), maka pada kali ini proses mining tersebut akan dijalankan dengan menggunakan program mining (CPU miner) dan menggunakan sumber daya komputasi dari CPU.
Requirement● Bitcoin core (untuk menjalankan regtest) :
https://bitcoin.org/en/download● CPU Miner :
https://github.com/pooler/cpuminer/releases● 3 Node berbeda didalam satu Perangkat
Menjalankan 3 Node● Buat 1 Folder dengan 3 Subfolder didalamnya, yang akan digunakan sebagai direktori penyimpanan data-data blockchain (regtest) dari ketiga node
C:\BTC-Regtest\Server
C:\BTC-Regtest\Node1
C:\BTC-Regtest\Node2
● Pada ketiga folder buat masing-masing .conf file (server.conf ; node1.conf ; node2.conf) dengan parameter sebagai berikut
regtest=1
listen=1
server=1
rpcuser=user
rpcpassword=password
rpcconnect=127.0.0.1
● Setelah itu jalankan "bitcoind" pada CMD (admin), dengan masing-masing menggunakan parameter sbb :
bitcoind -port=18444 -rpcport=8333 -connect=127.0.0.1:18445 -connect=127.0.0.1:18446 -conf=C:\BTC-Regtest\Server\server.conf -datadir=C:\BTC-Regtest\Server
bitcoind -port=18445 -rpcport=8334 -connect=127.0.0.1:18444 -connect=127.0.0.1:18446 -conf=C:\BTC-Regtest\Node1\node1.conf -datadir=C:\BTC-Regtest\Node1
bitcoind -port=18446 -rpcport=8335 -connect=127.0.0.1:18444 -connect=127.0.0.1:18445 -conf=C:\BTC-Regtest\Node2\node2.conf -datadir=C:\BTC-Regtest\Node2
● Buat address menggunakan "bitcoin-cli" dengan menggunakan perintah sebagai berikut
bitcoin-cli -regtest -rpcport=8333 -rpcuser=user -rpcpassword=password getnewaddress
Copy address tersebut.
Proses mining (CPU Miner)● Download dan ekstrak software CPU Miner
● Buka Command Prompt (Admin) dan arahkan ke direktori dimana program "minerd.exe" tersimpan
● Untuk menjalankan "minerd.exe" (CPU Miner) gunakan parameter dibawah ini
minerd -a sha256d -o http://127.0.0.1:8333 -u user -p password --coinbase-addr="address yang dicopy sebelumnya"
● Done (Proses mining seharusnya akan berjalan sebagaimana mestinya)
Cek Hasil Mining● Untuk melihat hasil mining, cek salah satu hash block yang dihasilkan (lihat di salah satu node (bitcoind)) dan pada "bitcoin-cli" gunakan perintah sebagai berikut
bitcoin-cli -regtest -rpcport=8333 -rpcuser=user -rpcpassword=password getblock "hash block"
● untuk melihat reward mining, cek TXID (coinbase transaction) yang ada didalam block tersebut dan pada "bitcoin-cli" gunakan perintah sebagai berikut
bitcoin-cli -regtest -rpcport=8333 -rpcuser=user -rpcpassword=password gettransaction "TXID"
Note● Proses mining menggunakan CPU pada jaringan Regtest akan membutuhkan daya komputasi yang besar (CPU usage 90-100%)
● Jika baru memulai menjalankan Regtest, proses membuat block (block time) pada jaringan regtest sangat singkat karena difficulty masih rendah
● Untuk "user" & "password" pada rpcuser dan rpcpassword bisa disesuaikan dengan keinginan.