Intro
Mungkin jarang sekali orang yang menggunakan program Bitcoin-cli, mungkin alasannya karena kurang familiar dengan argument-argument yang digunakan dalam program tersebut (lebih nyaman menggunakan GUI Wallet / Bitcoin-Qt). Padahal dengan Bitcoin-cli kita bisa lebih mengenal secara mendalam tentang hal-hal yang ada didalam jaringan Bitcoin itu sendiri.
Tujuan
Sebenarnya untuk mengenal argument (command-list) buat Bitcoin-cli bisa dilihat di
bitcoin-rpc.github.io. Akan tetapi fungsi-fungsi pada command-list tersebut akan terlihat hasilnya jika kita mempraktekkannya secara langsung, sehingga proses mempelajari bitcoin-cli akan lebih maksimal hasilnya.
Implementasi
Untuk belajar argument-argument dari bitcoin-cli, langkah yang paling mudah ialah dengan menjalankan Bitcoin-cli pada jaringan testnet Bitcoin
Requirement- Bitcoin core 0.17.1
- Storage untuk menyimpan data-data testnet (sekitar 22-25 Gb)
Langkah-Langkah- Download & install bitcoin core
- Kemudian jalankan Command Prompt (Admin) dan arahkan ke direktori dimana bitcoind dan bitcoin-cli terinstall
[1]cd C:\Program Files (x86)\Bitcoin\daemon
- Setelah itu tuliskan argument dibawah ini (dan tunggu proses sinkronisasi testnet selesai)
[2]bitcoind -testnet
- Selanjutnya buka Command Prompt (Admin) baru dan arahkan juga ke direktori dimana bitcoind dan bitcoin-cli terinstall
[3]cd C:\Program Files (x86)\Bitcoin\daemon
- Lalu agan bisa membuat address baru dengan beberapa perintah berikut
bitcoin-cli -testnet getnewaddress "label" "address_type"
Contoh
bitcoin-cli -testnet getnewaddress wallet-test-legacy legacy [4]
label = wallet-test-legacy ; address_type = "legacy"
bitcoin-cli -testnet getnewaddress wallet-test-segwit p2sh-segwit [5]
label = wallet-test-segwit ; address_type = "p2sh-segwit"
- Untuk mendapatkan BTC (gratis) pada jaringan testnet anda bisa memperolehnya disini
https://testnet-faucet.mempool.co/- Setelah 6 konfirmasi block BTC tersebut akan masuk ke masing-masing address anda, untuk melihat seluruh balance didalam wallet gunakan perintah berikut
[6]bitcoin-cli -testnet getbalance
- Untuk melihat jumlah BTC yg diterima pada spesifik address, gunakan perintah berikut
[7]bitcoin-cli -testnet getreceivedbyaddress "address"
- Untuk melihat info pada wallet (fee, unconfirmed balance, balance, dll)
[8]bitcoin-cli -testnet getwalletinfo
- Untuk merubah fee transaksi (dengan satuan BTC/Kb), gunakan perintah berikut
[9]bitcoin-cli -testnet settxfee amount
- Untuk mengirimkan BTC ke wallet lainnya, gunakan perintah berikut
[10]bitcoin-cli -testnet sendtoaddress "address" "amount"
- Untuk mengirimkan BTC dengan tambahan fungsi "replaceable" (untuk keperluan bumpfee / merubah besaran fee jika transaksi stuck)
[11]bitcoin-cli sendtoaddress "address" "amount" "comment" "comment_to" subtractfeefromamount replaceable
subtractfeefromamount : true (fee diambil dari BTC yg dikirimkan) / false (fee dari balance wallet)
replaceable : true (bisa untuk proses bumpfee) / false (non-replaceable)- Untuk melihat detail transaksi (amount, fee, replaceable, confirmation, dll)
[12]bitcoin-cli -testnet gettransaction "txid"
- Untuk melihat detail Block dari transaksi tersebut berada, gunakan perintah sebagai berikut
[13]bitcoin-cli -testnet getblock "blockhash"
- Untuk argument-argument lainnya bisa dilihat dengan menggunakan perintah dibawah ini
bitcoin-cli -testnet help
Note :- Jika anda juga mempunyai tujuan untuk menggunakan Bitcoin core (Qt, bitcoind dan cli) pada jaringan mainnet dikemudian hari, maka jalankan Bitcoin-Qt/Bitcoind dan tunggu sampai proses sinkronisasi selesai.
- Bitcoin mainnet dan testnet bisa dirunning secara bersama-sama, karena kedua jaringan mempunyai direktori data yg berbeda.
- Segala BTC yang ada didalam jaringan testnet tidak bisa digunakan pada jaringan Mainnet (begitu juga sebaliknya)
- Ukuran blockchain testnet sekitar 23.6 GB (tidak sebesar blockchain mainnet, sehingga proses sinkronisasi juga cepat)
- Jika ingin menyimpan blockchain pada direktori yg berbeda, maka pada saat menjalankan bitcoind (testnet) tambahkan argument
bitcoind -testnet -datadir=Path_Directory