Author

Topic: [GUIDE] Bitcoin-CLI via Command Prompt (Windows) (Read 722 times)

legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
ane baru tahu kalau tesnet bisa juga dimining, jika dimining dengan cpu dan vga bisa juga tdk? karna ane tdk punya mesin asic

Untuk Cpu bisa gan, tapi klo untuk Gpu saya belum nemu software miningnya, setau saya untuk program cgminer yg bisa digunakan buat mining device Gpu adalah yg versi 3.7.2 kebawah (tetapi setiap saya coba mining ke testnet (server lokal) url selalu diswitch ke eu.multipool.us:7777)

Jika agan hendak mining menggunakan CPU caranya dengan menggunakan program mining "pooler-cpuminer" + bitcoin core (bitcoind)

- Buka command prompt (admin) dan arahkan ke direktori "bitcoind" berada

- Pada saat menjalankan bitcoind gunakan perintah dibawah ini
Code:
bitcoind -testnet -port=18333 -rpcport=8334 -rpcuser=user -rpcpassword=password
Note : Untuk port, rpcport, rpcuser, rpcpassword bisa diisi sesuai dengan keinginan agan

- Pada folder pooler-cpuminer (minerd.exe) bikin start.bat menggunakan parameter dibawah ini
Code:
minerd -a sha256d -o http://127.0.0.1:8334 -u user -p password --coinbase-addr="address_agan"


Ps: jika mining solo menggunakan CPU (hashrate kecil) belum tentu agan bisa membuat sebuah block, karena untuk saat ini global hashrate testnet adalah sekitar 45 TH/s dan difficulty sekitar 13.494.542,64 (block reward 0.390625 BTC) ... Untuk peluang menghasilkan block silahkan dihitung sendiri di https://www.coinwarz.com/calculators/bitcoin-mining-calculator
newbie
Activity: 29
Merit: 0
suhu-suhu sekalian, jika sekiranya masih ada yg mempunyai koin tesnet kalau boleh dibagi ke ane sedikit donk
n1KSnR2vHooAytVeBspNNxz5WLiYdrtXWq

Sudah saya kirim 0.1 BTC 5dd07003289aa2528210cce3e54bb5589d6832e7f57573800fb99383e23b799d
Tinggal ditunggu sampai mendapatkan 6 Konfirmasi Block

Quote
ane sudah coba mencari lewat faucet tesnet tapi nilainya kecil and ada limitnya. ane ucapkan byk trima kasih bwat smuanya,

Untuk mendapatkan coin Testnet via faucet memang ada batasannya, jadi terkadang harus menunggu 1 jam untuk bisa mendapatkan coin dari faucet tersebut (ada juga yg harus menunggu 12 Jam). Klo memang agan membutuhkan banyak coin testnet dan kebetulan agan memiliki Asic Sha-256 mungkin agan bisa meminingnya secara langsung  Grin


trims banget suhu
ane baru tahu kalau tesnet bisa juga dimining, jika dimining dengan cpu dan vga bisa juga tdk? karna ane tdk punya mesin asic
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
suhu-suhu sekalian, jika sekiranya masih ada yg mempunyai koin tesnet kalau boleh dibagi ke ane sedikit donk
n1KSnR2vHooAytVeBspNNxz5WLiYdrtXWq

Sudah saya kirim 0.1 BTC 5dd07003289aa2528210cce3e54bb5589d6832e7f57573800fb99383e23b799d
Tinggal ditunggu sampai mendapatkan 6 Konfirmasi Block

Quote
ane sudah coba mencari lewat faucet tesnet tapi nilainya kecil and ada limitnya. ane ucapkan byk trima kasih bwat smuanya,

Untuk mendapatkan coin Testnet via faucet memang ada batasannya, jadi terkadang harus menunggu 1 jam untuk bisa mendapatkan coin dari faucet tersebut (ada juga yg harus menunggu 12 Jam). Klo memang agan membutuhkan banyak coin testnet dan kebetulan agan memiliki Asic Sha-256 mungkin agan bisa meminingnya secara langsung  Grin
newbie
Activity: 29
Merit: 0
suhu-suhu sekalian, jika sekiranya masih ada yg mempunyai koin tesnet kalau boleh dibagi ke ane sedikit donk
n1KSnR2vHooAytVeBspNNxz5WLiYdrtXWq

ane sudah coba mencari lewat faucet tesnet tapi nilainya kecil and ada limitnya. ane ucapkan byk trima kasih bwat smuanya,
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
Detail dari Bitcoin-CLI, Bitcoind dan Bitcoin-QT

Bitcoind
Sebuah program Bitcoin Client yang dituliskan dalam bahasa pemrograman C++, dimana didalam program ini telah diimplementasikan Protocol yang berlaku didalam jaringan Bitcoin. Program ini menyediakan/support JSON-RPC interface, sehingga memungkinkan untuk berinteraksi dengan program-program RPC Client (Contoh : Bitcoin-CLI) dan Bitcoind akan berperan sebagai RPC Server.

Bitcoin-QT
Versi Bitcoin Client dengan tampilan GUI (Graphical User Interface) atau bisa dianggap memiliki fungsi yang sama dengan Bitcoind tetapi memiliki antarmuka yang berbeda, karena pada Bitcoin-QT juga menyediakan "RPC interface" dimana fungsi RPC console sama dengan fungsi Bitcoind + RPC Client. Bitcoin-QT juga bisa berperan sebagai RPC server jika pada penggunaannya disematkan parameter -server

Bitcoin-CLI
Program RPC Client yang dapat berinteraksi dengan program Bitcoind maupun dengan Bitcoin-QT dengan tampilan Command-Line dan dapat melakukan perintah RPC terhadap RPC server yang digunakan (Bitcoind atau Bitcoin-QT).
Bitcoin-CLI sering digunakan oleh orang-orang yang memang menyukai tampilan Command-Line atau pada kondisi dimana OS atau layanan yg digunakan hanya mendukung Command-Line-Interface saja.
jr. member
Activity: 89
Merit: 6
Sepertinya kita bisa mencoba untuk menggunakan bitcoin CLI karena banyak keunggulannya dan kita bisa melihat bagaimana cara kerjanya saya rasa sangat bagus untuk kita gunakan,dan fitur2nya cukup banyak dan bisa kita coba satu persatu.

Om, sekedar mengingatkan kalo nyepam di main forum ga bakal bertahan lama. Mungkin satu-dua hari postingan om udah hilang. Jadi kalo mau posting di thread" seperti ini lebih baik diperbaiki dulu kualitasnya.

Daripada nanti di tendang dari campaign karena ngejar post di akhir minggu.
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
jadi kpengen nyobain mining btc lewat regtes, ngomong2 proses sinkron waletnya berapa lama gan?
and bgaimana caranya supaya cpu tidak terpakai 100%, soalnya pc juga digunakan buat kbutuhan lainnya

Seperti yg dibilang oleh Om ETF utk Regtest sync block sangat cepat, tapi klo untuk mainnet tergantung dengan speed donwload internet agan.

Btw miningnya pake yg mana dulu neh ?? Klo agan mining via bitcoin-cli (generate nblock) maka CPU Usage masih bisa dibilang rendah, tapi klo agan miningnya pake Program CPU Miner maka CPU usage bisa sampe 90-100%. Mungkin hal ini bisa diatasi dengan menambahkan parameter --threads atau menggunakan argument -t (tapi agan harus tahu jumlah core/threads pada CPU agan)

Contoh : CPU agan mempunyai core 4, maka untuk membatasi CPU Usage pada saat mining pake CPUMiner agan bisa mengatur 2 core saja yg digunakan
Code:
minerd -a sha256d -o http://127.0.0.1:8333 -u user -p password --coinbase-addr="address" --threads=2
newbie
Activity: 29
Merit: 0
jadi kpengen nyobain mining btc lewat regtes, ngomong2 proses sinkron waletnya berapa lama gan?
and bgaimana caranya supaya cpu tidak terpakai 100%, soalnya pc juga digunakan buat kbutuhan lainnya
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary

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
Code: ( Contoh )
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
Code:
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 :
Code: ( server)
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
Code: ( Node1)
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
Code: ( Node2)
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
Code:
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
Code:
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
Code:
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
Code:
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.
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
Lalu apa bisa kita digunakan mengirim BTC ke komputer lain lewat jaringan regtest ini? dengan catatan komputer lain itu masih satu jaringan dengan kita, lewat LAN misalnya.
Saya jadi tertarik dengan pembahasan ini.

Sama gan, siapa tau bisa buat pembelajaran buat murid - murid saya pas pelajaran extra hahaha  Grin

Bisa dan hal tersebut saya rasa mudah untuk dilakukan .. Untuk menghubungkan node berbeda (PC lain dalam 1 jaringan LAN), diperlukan pengaturan sebagai berikut.

- Pada Node 1 jalankan bitcoind pada mode regtest seperti biasanya
Code:
bitcoind -regtest

- Pada PC Node 1, cek alamat IP menggunakan CMD dan perintah ipconfig (catat IP tersebut)

- Pada Node 2 jalankan bitcoind dengan perintah sbb:
Code:
bitcoind -regtest -addnode="IP_dari_node_1"

- Done ... kedua node sudah terhubung didalam satu jaringan regtest.
member
Activity: 247
Merit: 17
Dengan asumsi agan telah meng-install Bitcoin-core sebelumnya, maka agan dapat menjalankan regtest tanpa koneksi internet karena jaringan regtest adalah jaringan blockchain lokal.
Lalu apa bisa digunakan kita mengirim BTC ke komputer lain lewat jaringan regtest ini? dengan catatan komputer lain itu masih satu jaringan dengan kita, lewat LAN misalnya.
Saya jadi tertarik dengan pembahasan ini
Sama gan, siapa tau bisa buat pembelajaran buat murid - murid saya pas pelajaran extra hahaha  Grin
legendary
Activity: 2296
Merit: 2892
#SWGT CERTIK Audited
Ikut nimbrung menambahkan sedikit ya om Abhie...
CMIIW

Daftar Perintah dalam Bitcoin Regtest

Daftar PerintahKeterangan
bitcoind -regtestMenjalankan service regtest
bitcoin-cli -regtest generate 101Membuat 101 blok pertama. Meskipun telah tercipta 101 blok, namun hanya blok nomor 1 saja yang reward-nya dapat digunakan (sebesar 50 BTC)
bitcoin-cli -regtest generate 1Membuat 1 blok. Digunakan untuk mengkonfirmasi transaksi yang baru saja dibuat dan dikirim ke jaringan
bitcoin-cli -regtest getbalance Mendapatkan informasi saldo dari
bitcoin-cli -regtest getnewaddressMendapatkan alamat Bitcoin baru
bitcoin-cli -regtest dumpprivkey Mendapatkan Privat Key atas . Output dari perintah ini merupakan Private Key dengan format WIF (Wallet Import Format)
bitcoin-cli -regtest getrawtransaction Mendapatkan informasi raw transaction dari transaction ID tertentu
bitcoin-cli -regtest sendtoaddress Mengirim Botcoin ke
bitcoin-cli -regtest listunspentMenampilkan UTXO yang dapat "dibelanjakan"
bitcoin-cli -regtest listunspent 0Menampilkan transaksi yang belum terkonfirmasi. Untuk mengkonfirmasi, gunakan perintah  bitcoin-cli -regtest generate 1

Referensi:
https://bitcoin.org/en/developer-examples#regtest-mode
Blockchain - Dari Bitcoin untuk Dunia, Dimaz A.W - Oscar D., Jasakom, hal. 194-195.
full member
Activity: 345
Merit: 114
Dengan asumsi agan telah meng-install Bitcoin-core sebelumnya, maka agan dapat menjalankan regtest tanpa koneksi internet karena jaringan regtest adalah jaringan blockchain lokal.
Lalu apa bisa kita digunakan mengirim BTC ke komputer lain lewat jaringan regtest ini? dengan catatan komputer lain itu masih satu jaringan dengan kita, lewat LAN misalnya.
Saya jadi tertarik dengan pembahasan ini.
jr. member
Activity: 89
Merit: 6
Maaf kalau agak OOT, tapi adakah yang tahu situs-situs serupa chainquery.com?
Mau iseng saja sih nyoba nyari alternatif bitcoin-cli online. Kayaknya situs itu udah kadaluarsa dan beberapa commandnya out of date/deprecated.
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
Hmm sepertinya lebih mudah nyobain yang ini ketimbang yang testnet.
Apakah diperlukan internet untuk menjalankan Regtest?

Dengan asumsi agan telah meng-install Bitcoin-core sebelumnya, maka agan dapat menjalankan regtest tanpa koneksi internet karena jaringan regtest adalah jaringan blockchain lokal.
member
Activity: 247
Merit: 17

Bitcoin-cli Regtest

Regtest adalah adalah sebuah jaringan private Blockchain atau bisa juga disebut sebagai jaringan lokal Bitcoin. Setiap node yang menjalankan jaringan Regtest mempunyai kontrol penuh terhadap jaringan blockchain tersebut, karena jaringan regtest tidak terkoneksi dengan jaringan mainnet maupun testnet.
Hmm sepertinya lebih mudah nyobain yang ini ketimbang yang testnet.
Apakah diperlukan internet untuk menjalankan Regtest?
full member
Activity: 345
Merit: 114
Jika agan ingin menjalankan prune node pada bitcoin-cli (bitcoind) testnet, maka pada saat pertama kali menjalankan bitcoind.exe gunakan perintah sebagai berikut.
Code:
bitcoind -testnet -prune=550

atau didalam folder dimana bitcoind berada bikin sebuah file .bat (contoh : start.bat) dengan parameter sebagai berikut
Code:
start "" bitcoind.exe -testnet -prune=550
Nah kalau gini kan mudah dipahami. Lumayan lah buat coba - coba di waktu luang.  Grin
Tengkyu gan guidenya..  Wink
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
*Update post#2 >> Guide Bitcoin-cli (Regtest)
https://bitcointalksearch.org/topic/m.50696945
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
Oke sekarang saya masih bingung cara menjalankan prune modenya, sudah saya ubek ubek link diatas tapi belum mudeng juga, bahasanya sedikit membingungkan.  Huh

Jika agan ingin menjalankan prune node pada bitcoin-cli (bitcoind) testnet, maka pada saat pertama kali menjalankan bitcoind.exe gunakan perintah sebagai berikut.
Code:
bitcoind -testnet -prune=550

atau didalam folder dimana bitcoind berada bikin sebuah file .bat (contoh : start.bat) dengan parameter sebagai berikut
Code:
start "" bitcoind.exe -testnet -prune=550
full member
Activity: 345
Merit: 114
Tetapi jika agan menjalankan Prune node, maka kebutuhan storage akan menyesuaikan dengan ukuran prune block yg telah agan atur sebelumnya.
Beberapa bahan bacaan untuk mempelajari + menerapkan pruning:
- https://bitcoin.org/en/release/v0.12.0#wallet-pruning
- https://coinguides.org/bitcoin-blockchain-pruning/
- https://bitcoin.org/en/full-node#reduce-storage
Cara melakukannya mudah kok gan, ga begitu sulit. Kalok ada masalah bisa search di Google dulu atau tanya di sini.
Oke sekarang saya masih bingung cara menjalankan prune modenya, sudah saya ubek ubek link diatas tapi belum mudeng juga, bahasanya sedikit membingungkan.  Huh
member
Activity: 247
Merit: 17
Secara umum tidak, karena semua argument pada Bitcoin-cli juga bisa digunakan pada Bitcoin-Qt melalui fungsi Console. Tetapi ada yang perlu agan pahami terlebih dahulu, Bitcoin-cli hanyalah sebuah wadah (sarana) untuk mengirimkan perintah-perintah RPC ke Bitcoind, bahkan pada saat agan menjalankan bitcoin-qt ditambah dengan argument -server, maka akan bisa melakukan perintah RPC ke Bitcoin-Qt melalui Bitcoin-cli.

Tetapi dari sisi tampilan (bitcoin-cli + bitcoind) dan Bitcoin-Qt keduanya mempunyai interface yg berbeda, dan menurut saya pribadi kinerja dari Bitcoin cli pada saat melakukan RPC call ke Bitcoind sedikit lebih ringan daripada Bitcoin-Qt yg notabene membutuhkan kinerja memory (ram) sedikit lebih besar.
I see...
Jadi intinya, Bitcoin-CLI ini merupakan dasar dari dari Bitcoin GUI atau bitcoin-qt ya

Bisa digunakan untuk orang yang mempunyai VPS, dimana tampilan hanya berupa terminal/console (tidak ada GUI).
Iya juga ya, kok saya gak kepikiran, logika kalau mau buka mainet bitcoin yang size nya 200GB++ harus pake koneksi super strong Cheesy
jr. member
Activity: 89
Merit: 6
Waduh gimana lagi tuh gan? saya masih awam kalau soal beginian.  Roll Eyes

Beberapa bahan bacaan untuk mempelajari + menerapkan pruning:
- https://bitcoin.org/en/release/v0.12.0#wallet-pruning
- https://coinguides.org/bitcoin-blockchain-pruning/
- https://bitcoin.org/en/full-node#reduce-storage

Cara melakukannya mudah kok gan, ga begitu sulit. Kalok ada masalah bisa search di Google dulu atau tanya di sini.
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary

Tadi saya coba download, bener disini kan  downloadnya?
Link : https://bitcoincore.org/bin/bitcoin-core-0.17.1/
Saya pilih yang "bitcoin-0.17.1-win64-setup.exe" size nya cuma 15mb?


Usahakan selalu mendownload Bitcoin core melalui link yang ditunjukkan oleh (official) forum bitcointalk pada bagian kiri atas (diatas tab Home, Help, dll)

Link >> https://bitcoin.org/en/download


Untuk ukuran installer Bitcoin core memang hanya sekitar 15Mb, tetapi jika agan nantinya telah mencapai 100% sinkronisasi maka data blockchain yg tersimpan didalam storage akan sebesar ~ 230GB (mainnet) dan ~ 25GB (testnet)

Tetapi jika agan menjalankan Prune node, maka kebutuhan storage akan menyesuaikan dengan ukuran prune block yg telah agan atur sebelumnya.
full member
Activity: 345
Merit: 114
Ukuran data testnet cuma 10% dari data mainnet (sekitar 230 GB) ... Untuk melakukan copy di CMD tinggal diblok bagian yg ingin di copy trus tekan "enter", dan untuk melakukan paste tinggal menggunakan shortcut "Ctrl + V"
Eh iya lupa ini kan pake CMD di windows  Grin
Tadi saya coba download, bener disini kan  downloadnya?
Link : https://bitcoincore.org/bin/bitcoin-core-0.17.1/
Saya pilih yang "bitcoin-0.17.1-win64-setup.exe" size nya cuma 15mb?

Jika masih dianggap besar, bisa menggunakan mode pruning dimana bitcoind hanya menyimpan beberapa block terakhir (tergantung ukuran prune yang diatur).
Tetapi beberapa perintah CLI tidak bisa dipakai.
Waduh gimana lagi tuh gan? saya masih awam kalau soal beginian.  Roll Eyes
legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
Sekedar informasi, jika ingin menggunakan semua fitur di bitcoin-cli, bisa mengaktifkan -txindex di parameter startup bitcoind.
Salah satu fitur yang bisa dipakai adalah getrawtransaction untuk mendapatkan transaksi raw dari transaksi yang telah dikonfirmasi.

Contoh :

  • Input

Code:
getrawtransaction 9b0fc92260312ce44e74ef369f5c66bbb85848f2eddd5a7a1cde251e54ccfdd5

  • Output

Code:
01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0704ffff001d010bffffffff0100f2052a010000004341047211a824f55b505228e4c3d5194c1fcfaa15a456abdf37f9b9d97a4040afc073dee6c89064984f03385237d92167c13e236446b417ab79a0fcae412ae3316b77ac00000000

Buset, untuk aplikasi CLI gedhe juga sizenya

Jika masih dianggap besar, bisa menggunakan mode pruning dimana bitcoind hanya menyimpan beberapa block terakhir (tergantung ukuran prune yang diatur).
Tetapi beberapa perintah CLI tidak bisa dipakai.

Apakah Bitcoin-CLI mempunyai kelebihan tersendiri ketimbang versi GUI atau bitcoin-qt?

Bisa digunakan untuk orang yang mempunyai VPS, dimana tampilan hanya berupa terminal/console (tidak ada GUI).
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
Apakah Bitcoin-CLI mempunyai kelebihan tersendiri ketimbang versi GUI atau bitcoin-qt?

Secara umum tidak, karena semua argument pada Bitcoin-cli juga bisa digunakan pada Bitcoin-Qt melalui fungsi Console. Tetapi ada yang perlu agan pahami terlebih dahulu, Bitcoin-cli hanyalah sebuah wadah (sarana) untuk mengirimkan perintah-perintah RPC ke Bitcoind, bahkan pada saat agan menjalankan bitcoin-qt ditambah dengan argument -server, maka akan bisa melakukan perintah RPC ke Bitcoin-Qt melalui Bitcoin-cli.

Tetapi dari sisi tampilan (bitcoin-cli + bitcoind) dan Bitcoin-Qt keduanya mempunyai interface yg berbeda, dan menurut saya pribadi kinerja dari Bitcoin cli pada saat melakukan RPC call ke Bitcoind sedikit lebih ringan daripada Bitcoin-Qt yg notabene membutuhkan kinerja memory (ram) sedikit lebih besar.
member
Activity: 247
Merit: 17
Apakah Bitcoin-CLI mempunyai kelebihan tersendiri ketimbang versi GUI atau bitcoin-qt?
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
Buset, untuk aplikasi CLI gedhe juga sizenya
Btw yang bikin saya penasaran, setahu saya itu di CLI gabisa copy paste, apakah addressnya harus ngetik manual?

Ukuran data testnet cuma 10% dari data mainnet (sekitar 230 GB) ... Untuk melakukan copy di CMD tinggal diblok bagian yg ingin di copy trus tekan "enter", dan untuk melakukan paste tinggal menggunakan shortcut "Ctrl + V"
full member
Activity: 345
Merit: 114
snip
Requirement
- Bitcoin core 0.17.1
- Storage untuk menyimpan data-data testnet (sekitar 22-25 Gb)
Buset, untuk aplikasi CLI gedhe juga sizenya
Btw yang bikin saya penasaran, setahu saya itu di CLI gabisa copy paste, apakah addressnya harus ngetik manual?
copper member
Activity: 2324
Merit: 2142
Slots Enthusiast & Expert
Sedikit menambahkan untuk yang malas install-install dan cuma ingin coba-coba bisa mengakses API JSON-RPC-nya di http://chainquery.com/bitcoin-api
Agan bisa menggunakan perintah-perintah (tidak semua) yang digunakan pada contoh-contoh di atas.

Misalnya pada agan ingin mencari data pada block #2

1. Cari blockhash
Code:
getblockhash/2

Hasilnya:
Code:
{
"result": "000000006a625f06636b8bb6ac7b960a8d03705d1ace08b1a19da3fdcc99ddbd",
"error": null,
"id": null
}

2. Ambil data block dari blockhash-nya
Code:
getblock/000000006a625f06636b8bb6ac7b960a8d03705d1ace08b1a19da3fdcc99ddbd/true

Hasilnya:
Code:
{
"result": {
"hash": "000000006a625f06636b8bb6ac7b960a8d03705d1ace08b1a19da3fdcc99ddbd",
"confirmations": 572571,
"strippedsize": 215,
"size": 215,
"weight": 860,
"height": 2,
"version": 1,
"versionHex": "00000001",
"merkleroot": "9b0fc92260312ce44e74ef369f5c66bbb85848f2eddd5a7a1cde251e54ccfdd5",
"tx": [
"9b0fc92260312ce44e74ef369f5c66bbb85848f2eddd5a7a1cde251e54ccfdd5"
],
"time": 1231469744,
"mediantime": 1231469665,
"nonce": 1639830024,
"bits": "1d00ffff",
"difficulty": 1,
"chainwork": "0000000000000000000000000000000000000000000000000000000300030003",
"previousblockhash": "00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048",
"nextblockhash": "0000000082b5015589a3fdf2d4baff403e6f0be035a5d9742c1cae6295464449"
},
"error": null,
"id": null
}

PS: Jangan gunakan data-data yang private pada website ini.
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary

Bitcoin-cli Regtest


Regtest adalah adalah sebuah jaringan private Blockchain atau bisa juga disebut sebagai jaringan lokal Bitcoin. Setiap node yang menjalankan jaringan Regtest mempunyai kontrol penuh terhadap jaringan blockchain tersebut, karena jaringan regtest tidak terkoneksi dengan jaringan mainnet maupun testnet.



Guide

● Untuk menjalankan Bitcoin regtest tidak diperlukan sinkronisasi pada wallet dan tidak membutuhkan storage yg besar.

● Memasukkan parameter ke file "bitcoin.conf" atau buat file "bitcoin.conf" (jika belum ada) dengan argument sbb :
Code:
rpcuser="user"
rpcpassword="pass"

● File "bitcoin.conf" bisa ditemukan/dibuat di folder
Code:
C:\Users\username\AppData\Roaming\Bitcoin
atau
Code:
%appdata%\Bitcoin\

● Jalankan "bitcoind" pada CMD (admin) dengan perintah sebagai berikut [1]
Code:
bitcoind -regtest



● Selanjutnya buka jendela CMD (admin) baru untuk menjalankan perintah bitcoin-cli dan selalu awali dengan argument sbb :
Code:
bitcoin-cli -regtest -rpcuser="user" -rpcpassword="pass"
Note : rpcuser & rpcpassword sesuaikan dengan parameter yg ada di "bitcoin.conf"

● Untuk membuat sebuah address baru gunakan perintah berikut [2]
Code:
bitcoin-cli -regtest -rpcuser="user" -rpcpassword="pass" getnewaddress "label" "address_type"



● Untuk membuat sebuah/beberapa block baru (include reward) gunakan perintah berikut [3]
Code:
bitcoin-cli -regtest -rpcuser="user" -rpcpassword="pass" generate "nblock"



● Untuk membuat block baru dan me-mining block tsb ke spesifik address gunakan perintah sbb [4]
Code:
bitcoin-cli -regtest -rpcuser="user" -rpcpassword="pass" generatetoaddress "nblock" "address"



● Pada saat anda memeriksa balance wallet, maka balance akan tetap 0 karena didalam regtest dibutuhkan 100 konfirmasi block supaya balance tersebut menjadi mature.

● Untuk melihat detail dari Blockchain (jumlah block, header, difficulty, dll) gunakan perintah berikut [5]



● Buat 100 Block baru, supaya reward dari ketiga block pertama tadi menjadi mature balance [6]
Code:
bitcoin-cli -regtest -rpcuser="user" -rpcpassword="pass" generate 100



● Cek balance (dari keseluruhan address yg ada didalam wallet) dan seharusnya ada balance sebesar 150 BTC [7]



● Untuk melihat unspent balance dari address tertentu gunakan perintah berikut [8]
Code:
bitcoin-cli -regtest -rpcuser="user" -rpcpassword="pass" listunspent "minconf" "maxconf" "[\"address\"]"



● Untuk argument-argument lainnya bisa dilihat dengan menggunakan perintah dibawah ini
Code:
bitcoin-cli -regtest help




Note
- Pada saat menjalankan mainnet atau testnet, maka pengaturan di bitcoin.conf harus diatur ulang (dikembalikan ke settingan sebelumnya)
- Jika anda tidak menggunakan parameter "rpcuser" & "rpcpassword" maka tidak diperlukan file "bitcoin.conf". Maka pada saat menjalankan "bitcoin-cli" hanya menggunakan perintah bitcoin-cli -regtest

legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary

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]
Code:
cd C:\Program Files (x86)\Bitcoin\daemon


- Setelah itu tuliskan argument dibawah ini (dan tunggu proses sinkronisasi testnet selesai) [2]
Code:
bitcoind -testnet




- Selanjutnya buka Command Prompt (Admin) baru dan arahkan juga ke direktori dimana bitcoind dan bitcoin-cli terinstall [3]
Code:
cd C:\Program Files (x86)\Bitcoin\daemon


- Lalu agan bisa membuat address baru dengan beberapa perintah berikut
Code:
bitcoin-cli -testnet getnewaddress "label" "address_type"

Contoh
Quote
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]
Code:
bitcoin-cli -testnet getbalance


- Untuk melihat jumlah BTC yg diterima pada spesifik address, gunakan perintah berikut [7]
Code:
bitcoin-cli -testnet getreceivedbyaddress "address"



- Untuk melihat info pada wallet (fee, unconfirmed balance, balance, dll) [8]
Code:
bitcoin-cli -testnet getwalletinfo

- Untuk merubah fee transaksi (dengan satuan BTC/Kb), gunakan perintah berikut [9]
Code:
bitcoin-cli -testnet settxfee amount



- Untuk mengirimkan BTC ke wallet lainnya, gunakan perintah berikut [10]
Code:
bitcoin-cli -testnet sendtoaddress "address" "amount"

- Untuk mengirimkan BTC dengan tambahan fungsi "replaceable" (untuk keperluan bumpfee / merubah besaran fee jika transaksi stuck) [11]
Code:
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]
Code:
bitcoin-cli -testnet gettransaction "txid"



- Untuk melihat detail Block dari transaksi tersebut berada, gunakan perintah sebagai berikut [13]
Code:
bitcoin-cli -testnet getblock "blockhash"



- Untuk argument-argument lainnya bisa dilihat dengan menggunakan perintah dibawah ini
Code:
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
Code:
bitcoind -testnet -datadir=Path_Directory
Jump to: