Panduan Instalasi dan Konfigurasi Bitcoin di FreeBSD untuk Menambang BTC
Bitcoin (BTC) adalah mata uang kripto atau mata uang virtual yang dirancang untuk bertindak sebagai uang dan bentuk pembayaran di luar kendali satu orang, kelompok, atau entitas. Sehingga menghilangkan perlunya keterlibatan pihak ketiga dalam transaksi keuangan. Bitcoin diberikan kepada penambang blockchain untuk pekerjaan yang dilakukan untuk memverifikasi transaksi dan dapat dibeli di beberapa bursa.
Bitcoin diperkenalkan ke publik pada tahun 2009 oleh pengembang anonim atau sekelompok pengembang yang menggunakan nama Satoshi Nakamoto. Sejak pertama kali diperkenalkan, Bitcoin telah menjadi mata uang kripto paling terkenal di dunia.
Popularitasnya telah mengilhami pengembangan banyak mata uang kripto lainnya. Para pesaing ini mencoba menggantikannya sebagai sistem pembayaran atau digunakan sebagai utilitas atau token keamanan di blockchain lain dan teknologi keuangan yang sedang berkembang.
Untuk sistem FreeBSD, kami jarang menemukan artikel yang mengulas instalasi, konfigurasi, dan penambangan Bitcoin. Bitcoin lebih banyak dibahas di Linux seperti Ubuntu dan Debian. Kami menemukan banyak artikel yang menjelaskan cara menginstal, mengonfigurasi, dan menambang Bitcoin di sistem Linux.
Artikel ini sengaja kami tulis sebagai bahan reperensi bagi pengguna FreeBSD, untuk menginstall dan mengkonfigurasi Bitcoin di FreeBSD.
Jika kita melihat dari perspektif sistem operasi, FreeBSD sangat stabil untuk menjalankan dompet kripto seperti Bitcoin, DogeCoin, XMR RIG dan lain-lain. Tidak hanya itu, ketika digunakan untuk penambangan kripto, saya lebih suka menggunakan FreeBSD.
Dalam artikel ini kami mencoba membahas Bitcoin secara lebih mendalam dan detail, terutama yang terkait dengan instalasi dan konfigurasi. Artikel ini akan memandu Anda dalam melakukan pengaturan Bitcoin pada sistem FreeBSD. Dalam hal ini, versi FreeBSD yang digunakan adalah FreeBSD 13.2 Stable.
Yup, langsung saja kita mulai melakukan instalasi dan konfigurasi Bitcoin pada sistem FreeBSD 13.2 Stable.
1. Proses Instalasi Bitcoin di FreeBSD
Untuk menjalankan Bitcoin di FreeBSD, Anda harus menginstal aplikasi Bitcoin. Sebelum menginstal Bitcoin, pastikan sistem FreeBSD telah diperbarui, jika belum, lakukan perintah berikut.
root@router2:~ # pkg update Updating FreeBSD repository catalogue... FreeBSD repository is up to date. All repositories are up to date.
root@router2:~ # pkg upgrade -y Updating FreeBSD repository catalogue... FreeBSD repository is up to date. All repositories are up to date. Updating database digests format: 100% Checking for upgrades (203 candidates): 100% Processing candidates (203 candidates): 100% Checking integrity... done (0 conflicting) Your packages are up to date. root@router2:~ #
Setelah proses pembaruan dan upgrade selesai, instal aplikasi pendukung lainnya (dependensi). Aplikasi ini sangat penting, karena jika aplikasi ini tidak diinstal, maka jangan harap Bitcoin bisa berjalan di sistem FreeBSD.
root@router2:~ # pkg install autoconf automake boost-libs git libevent libtool pkgconf root@router2:~ # pkg install libzmq4 miniupnpc norm openpgm python39 sqlite3 db5 gmake
Setelah itu buat akun untuk pengguna dan grup dengan nama bitcoin.
root@router2:~ # adduser Username: bitcoin Full name: bitcoin wallet Uid (Leave empty for default): Login group [bitcoin]: Login group is bitcoin. Invite bitcoin into other groups? []: Login class [default]: Shell (sh csh tcsh bash rbash git-shell nologin) [sh]: Home directory [/home/bitcoin]: Home directory permissions (Leave empty for default): Use password-based authentication? [yes]: no Lock out the account after creation? [no]: Username : bitcoin Password : <disabled> Full Name : bitcoin wallet Uid : 1018 Class : Groups : bitcoin Home : /home/bitcoin Home Mode : Shell : /bin/sh Locked : no OK? (yes/no): yes adduser: INFO: Successfully added (bitcoin) to the user database. Add another user? (yes/no): no Goodbye!
Jika pengguna dan grup Bitcoin telah dibuat, saatnya untuk menginstal Bitcoin. Ikuti skrip di bawah ini untuk menginstal Bitcoin. Untuk menginstal Bitcoin, Anda dapat menyalin berkas lengkap dari https://github.com/bitcoin/bitcoin.
root@router2:~ # cd /usr/local/etc root@router2:/usr/local/etc/bitcoin # git clone https://github.com/bitcoin/bitcoin.git root@router2:/usr/local/etc/bitcoin # cd bitcoin root@router2:/usr/local/etc/bitcoin # ./autogen.sh root@router2:/usr/local/etc/bitcoin # ./configure --disable-hardening MAKE="gmake" CFLAGS="-I/usr/local/include" CXXFLAGS="-I/usr/local/include -I/usr/local/include/db5" LDFLAGS="-L/usr/local/lib -L/usr/local/lib/db5" root@router2:/usr/local/etc/bitcoin # gmake root@router2:/usr/local/etc/bitcoin # gmake check root@router2:/usr/local/etc/bitcoin # gmake install
Pada titik ini, jika tidak ada kesalahan saat menjalankan sintaks gmake, Bitcoin seharusnya sudah terinstal di sistem FreeBSD, tetapi belum dapat dijalankan. Kita lanjutkan dengan mengonfigurasi Bitcoin.
2. Cara Konfigurasi Bitcoin
Tahap pertama dalam proses konfigurasi adalah membuat skrip Bitcoin Start Up. Kami menambahkan skrip tersebut ke berkas /etc/rc.conf. Tambahkan skrip berikut ke berkas /etc/rc.conf.
bitcoin_enable="YES"
bitcoin_user="bitcoin"
bitcoin_group="bitcoin"
bitcoin_config="/usr/home/bitcoin/.bitcoin/bitcoin.conf"
bitcoin_datadir="/usr/home/bitcoin/.bitcoin"
Tahap berikutnya adalah membuat folder dan file yang digunakan untuk menyimpan file blockchain Bitcoin.
root@router2:~ # mkdir -p /usr/home/bitcoin/.bitcoin root@router2:~ # touch /usr/home/bitcoin/.bitcoin/bitcoin.conf root@router2:~ # touch /usr/home/bitcoin/.bitcoin/debug.log root@router2:~ # chmod -R +x /usr/home/bitcoin/.bitcoin/debug.log root@router2:~ # chown -R bitcoin:bitcoin /usr/home/bitcoin/.bitcoin/
Sebelum kita melanjutkan ke tahap berikutnya, buatlah symlink ke folder /root.
root@router2:~ # ln -s /usr/home/bitcoin/.bitcoin /root
Lanjutkan dengan membuat skrip Start Up rc.d. Skrip ini berguna untuk menjalankan perintah untuk memulai, memulai ulang, dan menghentikan daemon Bitcoin, tidak hanya itu, skrip Start Up rc.d juga digunakan untuk memuat secara otomatis sehingga daemon Bitcoin selalu berjalan saat komputer server dimatikan atau dihidupkan ulang.
Start Up rc.d, kita akan memberi nama file bitcoind. Ikuti langkah-langkah berikut untuk membuat skrip rc.d.
root@router2:~ # touch /usr/local/etc/rc.d/bitcoin root@router2:~ # chmod -R +x /usr/local/etc/rc.d/bitcoin
Ketik skrip di bawah ini di file "/usr/local/etc/rc.d/bitcoind".
#!/bin/sh
# PROVIDE: bitcoind
# REQUIRE: LOGIN cleanvar
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable :
# bitcoind_enable (bool): Set to "NO" by default.
# Set it to "YES" to enable bitcoind
# bitcoind_user (str) Set to "bitcoin" by default.
# bitcoind_group (str) Set to "bitcoin" by default.
# bitcoind_conf (str) Set to "/usr/local/etc/bitcoind.conf" by default.
# bitcoind_data_dir (str) Set to "/var/db/bitcoin" by default.
# bitcoindlimits_enable (bool) Set to "NO" by default.
# Set it to "YES" to enable bitcoindlimits
# bitcoindlimits_args Set to "-e -U ${bitcoind_user}" by default
. /etc/rc.subr
name="bitcoind"
rcvar=bitcoind_enable
start_precmd="bitcoind_precmd"
start_cmd="bitcoind_start"
restart_precmd="bitcoind_checkconfig"
reload_precmd="bitcoind_checkconfig"
configtest_cmd="bitcoind_checkconfig"
status_cmd="bitcoind_status"
stop_cmd="bitcoind_stop"
stop_postcmd="bitcoind_wait"
command="/usr/local/bin/bitcoind"
daemon_command="/usr/sbin/daemon"
pidfile="/var/run/${name}.pid"
extra_commands="configtest"
: ${bitcoind_enable:="NO"}
: ${bitcoindlimits_enable:="NO"}
load_rc_config ${name}
: ${bitcoind_user:="bitcoin"}
: ${bitcoind_group:="bitcoin"}
: ${bitcoind_data_dir:="/var/db/bitcoin"}
: ${bitcoind_config_file:="/usr/local/etc/bitcoin.conf"}
: ${bitcoindlimits_args:="-e -U ${bitcoind_user}"}
# set up dependant variables
procname="${command}"
required_files="${bitcoind_config_file}"
bitcoind_checkconfig()
{
echo "Performing sanity check on bitcoind configuration:"
if [ ! -d "${bitcoind_data_dir}" ]
then
echo "Missing data directory: ${bitcoind_data_dir}"
exit 1
fi
chown -R "${bitcoind_user}:${bitcoind_group}" "${bitcoind_data_dir}"
if [ ! -f "${bitcoind_config_file}" ]
then
echo "Missing configuration file: ${bitcoind_config_file}"
exit 1
fi
if [ ! -x "${command}" ]
then
echo "Missing executable: ${command}"
exit 1
fi
return 0
}
bitcoind_cleanup()
{
rm -f "${pidfile}"
}
bitcoind_precmd()
{
bitcoind_checkconfig
pid=$(check_pidfile "${pidfile}" "${procname}")
if [ -z "${pid}" ]
then
echo "Bitcoind is not running"
rm -f "${pidfile}"
fi
if checkyesno bitcoindlimits_enable
then
eval $(/usr/bin/limits ${bitcoindlimits_args}) 2>/dev/null
else
return 0
fi
}
bitcoind_status()
{
local pid
pid=$(check_pidfile "${pidfile}" "${procname}")
if [ -z "${pid}" ]
then
echo "Bitcoind is not running"
return 1
else
echo "Bitcoind running, pid: ${pid}"
fi
}
bitcoind_start()
{
echo "Starting bitcoind:"
cd "${bitcoind_data_dir}" || return 1
${daemon_command} -u "${bitcoind_user}" -p "${pidfile}" -f \
${command} \
-conf="${bitcoind_config_file}" \
-datadir="${bitcoind_data_dir}"
}
bitcoind_stop()
{
echo "Stopping bitcoind:"
pid=$(check_pidfile "${pidfile}" "${procname}")
if [ -z "${pid}" ]
then
echo "Bitcoind is not running"
return 1
else
kill ${pid}
fi
}
bitcoind_wait()
{
local n=60
echo "Waiting for bitcoind shutdown:"
while :
do
printf '.'
pid=$(check_pidfile "${pidfile}" "${procname}")
if [ -z "${pid}" ]
then
printf '\n'
break
fi
sleep 1
n=$((${n} - 1))
if [ ${n} -eq 0 -a -f "${pidfile}" ]
then
printf "\nForce shutdown"
kill -9 $(cat "${pidfile}")
for n in 1 2 3
do
printf '.'
sleep 1
done
printf '\n'
break
fi
done
rm -f "${pidfile}"
echo "Shutdown complete"
}
run_rc_command "$1"
Jika Anda telah selesai membuat skrip Start Up rc.d, lanjutkan dengan membuat file konfigurasi, kita akan menamainya bitcoind.conf. Letakkan file bitcoin.conf di folder /usr/home/bitcoin/.bitcoin.
Berikut ini adalah file skrip /usr/home/bitcoin/.bitcoin/bitcoin.conf.
root@router2:~ # ee /usr/home/bitcoin/.bitcoin/bitcoin.conf listen=1 port=8333 rpcallowip=192.168.9.3 rpcpassword=jakasetiawan rpcuser=iwanse1212 rpcport=8332 conf=/usr/home/bitcoin/.bitcoin/bitcoin.conf daemon=1 server=1 debuglogfile=/usr/home/bitcoin/.bitcoin/debug.log datadir=/usr/home/bitcoin/.bitcoin pid=/usr/home/bitcoin/.bitcoin/bitcoin.pid addnode=seed.bitcoin.sipa.be addnode=54.38.85.30:8333 addnode=46.19.137.74:8333 addnode=141.98.219.12:8333 addnode=50.107.158.135:8333 addnode=76.150.98.135:8333 addnode=166.70.145.151:8333 addnode=96.74.179.132:8333 addnode=34.75.215.83:8333
IP 192.168.9.3 adalah IP LAN Server FreeBSD, Anda dapat mengubah IP sesuai dengan IP server FreeBSD Anda. Tahap selanjutnya adalah restart/reboot server FreeBSD.
root@router2:~ # reboot
Setelah komputer server FreeBSD kembali normal, jalankan daemon Bitcoin.
root@router2:~ # service bitcoin start
3. Cara Mining Bitcoin di FreeBSD
Untuk menambang Bitcoin, Anda dapat menggunakan program CPUminer. cpuminer adalah daemon sederhana yang menjalankan Bitcoin atau Litecoin. Cpuminer dapat digunakan untuk penambangan solo atau penambangan bersama. Berikut ini adalah cara menginstal cpuminer pada sistem FreeBSD.
root@ns1:~ # cd /usr/ports/net-p2p/cpuminer root@ns1:/usr/ports/net-p2p/cpuminer # make install clean
Cpuminer juga dapat diinstal dengan paket bawaan FreeBSD.
root@ns1:~ # pkg install net-p2p/cpuminer
Untuk saat ini, bila anda ingin melakukan mining Bitcoin, pertimbangkanlah terlebih dahulu. Karena selain mahalnya harga spare part komputer, tingkat kesulitan untuk mendapatkan Bitcoin dari proses miningnya juga semakin sulit.
