Di bagian terakhir, kami menunjukkan bahwa bukanlah ide yang buruk untuk mencari tahu fakta pembayaran dari bitcoind, daripada melalui semua alamat yang dikeluarkan.
Baca rangkaian artikel lengkap untuk pengembang gateway pembayaran untuk bitcoin di sini:
TERIMA PEMBAYARAN DALAM BITCOIN: BAGIAN SATU, TEORITIS
KAMI MENERIMA PEMBAYARAN DALAM BITCOIN: BAGIAN KEDUA. ALAT DAN PERSIAPAN
KAMI MENERIMA PEMBAYARAN DALAM BITCOIN: BAGIAN KETIGA, TESTNET ANDA. DENGAN BLACKJACK
TERIMA PEMBAYARAN DALAM BITCOIN: BAGIAN KEEMPAT, LEBIH DEKAT DENGAN BISNIS!
KAMI MENERIMA PEMBAYARAN DALAM BITCOIN: BAGIAN LIMA, ADA Nuansa
Pertama, dengan melakukan ini kita memperlambat keseluruhan sistem, dan dengan jumlah pembayaran yang besar, hal ini menjadi masalah yang serius. Dan yang kedua, “pertama” saja sudah cukup.
Saya telah menyebutkan di artikel terakhir bahwa bitcoind masih dapat mengirimkan notifikasi, meskipun melakukannya dengan cara yang agak unik. Secara teknis, ketika peristiwa tertentu terjadi, perintah sistem (program) diluncurkan, meneruskan data sebagai argumen baris perintah. Begitu saja, ada tiga acara seperti itu: alertnotify, blocknotify dan walletnotify. Kami tertarik pada dua yang terakhir.
Untuk menerima notifikasi, kita perlu menentukan yang berikut ini di file konfigurasi bitcoin.conf:
Apa manfaatnya bagi kita, dan bagaimana cara kerjanya? Untuk setiap transaksi yang terkait dengan dompet kami, yaitu dengan alamat mana pun yang dikeluarkan oleh bitcoind kami, perintah akan dijalankan
command1 ditentukan untuk walletnotify, dan hash transaksi akan diganti sebagai parameter %s. Tentu saja, saya ingin mengetahui alamat dan jumlahnya - tetapi kami memiliki apa yang kami miliki. Dengan memiliki TxId, kita sudah bisa memperoleh informasi lengkap mengenai transaksi tersebut, termasuk seluruh alamat dan jumlahnya.
Sekarang tentang nuansanya.
Perintah akan dijalankan maksimal dua kali. Terkadang - sendirian. Pertama kali adalah saat menerima transaksi yang belum dikonfirmasi dan menambahkannya ke mempool. Kali kedua adalah saat transaksi masuk dalam blok, yaitu saat konfirmasi pertama diterima. Dalam beberapa kasus, pemberitahuan pertama mungkin tidak sampai sama sekali.. Namun apa yang harus kami lakukan jika kami ingin menganggap pembayaran selesai setelah enam konfirmasi kanonik?
Di sinilah blocknotify membantu kami. Perintah command2 akan dieksekusi ketika setiap blok baru yang ditandatangani ditambahkan, dan hash dari blok tersebut akan dikembalikan sebagai ganti parameter %s. Selanjutnya, kami dapat memeriksa semua transaksi terdaftar kami untuk mengetahui jumlah konfirmasi (ya, informasi dalam transaksi tersebut berasal dari bitcoind), atau melihat setiap blok untuk melihat apakah blok tersebut berisi transaksi dengan alamat kami (panjang, tidak efektif, tetapi terkadang diperlukan)
Bagaimana bagian perangkat lunak yang mengimplementasikan notifikasi akan diimplementasikan sepenuhnya terserah pada pengembang. Ini bisa berupa skrip bash, program C/C++, atau PHP. Yang penting aplikasi Anda bisa diluncurkan dari baris perintah.
Baca juga
Pemindai blok DIY (Blockchain explorer): sedikit teori
Pada artikel terakhir kita melihat alasan mengapa kita mungkin memerlukan blockexplorer kita sendiri. Saya perhatikan bahwa daftar ini masih jauh dari lengkap, tetapi kami berasumsi bahwa kami telah memutuskan - kami memerlukan sumber data kami sendiri tentang transaksi dan hubungannya dengan alamat.
Robot perdagangan DIY: lebih detail, lebih banyak nuansa
Pada bagian pertama, kita menguji ide dasarnya: penasihat perdagangan bukanlah “robot yang melakukan perdagangan untuk Anda”, namun sebuah sistem yang menerima data pasar, menghasilkan sinyal (dan penjelasan), dan menunjukkan hasilnya kepada seseorang.
