Membelanjakan koin anda
Setelah anda mengetahui apa itu address bitcoin, ScriptPubKey, private key, dan penambang (miner), maka anda juga bisa membuat transaksi pertama anda.
Mari kita mulai dengan melihat sebuah transaksi yang mempunyai TxOut, yang ingin anda transaksikan. seperti yang telah kita pelajari sebelumnya:
Buat sebuah project baru (>.net45) lalu install QBitNinja.Client NuGet.
Apakah anda sebelumnya telah generate private key sendiri? Apakah anda telah mengirim sejumlah bitcoin pada address tersebut? jika belum, jangan khawatir, kita akan mengulangi cara tersebut, sehingga anda juga bisa melakukannya:
Catat PrivateKey bitcoin, address, kirimkan sejumlah koin disana, dan catat juga ID transaksinya. Anda bisa cek ID transaksi itu di wallet anda, atau di blockexplorer seperti di blockchain.info.
Import private key:
Lalu ambil informasi transaction:
Sekarang kita telah mempunyai semua informasi yang dibutuhkan untuk membuat transaksi. Ada sejumlah pertanyaan umum tentang transaksi yang berlangsung: darimana, kemana, dan berapa jumlahnya?
Dari mana?
Dalam hal ini, kita coba mengambil opsi yang kedua pada outpoint. Caranya seperti ini:
Untuk transaksi pembayaran, anda perlu mereferensikan outpoin di dalam transaksi. Anda bisa membuat transaksi itu seperti ini:
Kemana?
Untuk menjawab beberapa pertanyaan darimana, kemana, dan berapa jumlahnya? Buatlah TxIn dan tambahkan ke dalam transaksi. Dan itulah jawaban dari pertanyaan "darimana". Buatlah TxOut dan tambahkan itu kedalam transaksi untuk menjawab dua pertanyaan lainnya.
Berapa jumlahnya?
Misalnya jika anda ingin mengirim 0.5 BTC dari sebuah input transaksi sedangkan balance anda 1 BTC, maka sebenarnya anda mengirimkan seluruh koin anda (1 BTC)! Contohnya bisa dilihat pada diagram di bawah, output transaksi anda output dituliskan 0.5 BTC kepada penerima (Hall of The Makers) dan 0.4999 kembali ke anda. Jadi pada dasarnya, saat anda mengirim koin 0,5 BTC, anda mengirimkan semua 1 BTC, baru sisanya dikembalikan. Lalu bagaimana dengan yang 0.0001 BTC? Itu adalah fee miner sebagai insentifnya, karena telah memasukkan transaksi anda ke block baru.
Kita juga bisa melakukan beberapa tuning disini. Kami telah mencobanya di testnet. Anda bisa melihatnya disini: http:\/\/tbtc.blockr.io\/address\/info\/mzK6Jy5mer3ABBxfHdcxXEChsn3mkv8qJv
Lalu menambahkkan kalkulasi nilai pada TxOuts:
Kemudian menambahkannya ke dalam transaksi:
Pesan Di Dalam Blockchain
Sekarang coba tambahkan pesan feedback! Pesan ini tidak boleh lebih dari 40 bytes, atau membuat aplikasi itu crash. Pesan feedback ini, dapat dicantumkan di dalam transaksi, dan akan muncul (setelah transaksi itu dikonfirmasi).
Lebih jelasnya, coba lihat contoh keseluruhan transaksi yang telah dilakukan ini, sebelum itu ditandatangani: Saya punya 3 TxOut, 2 dengan value, 1 tanpa value (namun ada pesan). Anda bisa melihat perbedaan antara scriptPubKeys dari sebuah TxOuts yang normal, dan scriptPubKey dari TxOut yang dilampiri pesan:
Lihat lebih detail pada TxIn. Kita punya prev_out dan scriptSig disana. Latihan: Coba anda cari bagaimana caranya untuk mendapat scriptSig sebelum anda membaca lebih jauh!
Coba lihat hash dari prev_out di blockexplorer: http:\/\/tbtc.blockr.io\/tx\/info\/e44587cf08b4f03b0e8b4ae7562217796ec47b8c91666681d71329b764add2e3
Di prev_out n adalah 1. Sejak kita mengindex dari 0, artinya saya ingin menghabiskannya pada output kedua dari transaksi itu.
Pada blockexplorer kita bisa dapat melihat address yang sesuai adalah: mzK6Jy5mer3ABBxfHdcxXEChsn3mkv8qJv
and I can get the scriptSig from the address like this:
Menandatangani Transaksi Anda
Jika anda telah dapat membuat transaksi, maka tentu kita harus bisa menandatanganinya. Artinya, anda harus bisa membuktikan bahwa anda memiliki TxOut yang telah anda referensikan dalam input.
Penandatanganan ini cukup rumit, namun kita coba untuk membuatnya lebih simpel.
Pertama coba kita tengok kembali scriptSig dari in, bagaimana kita bisa mendapatkan kode itu. Yang perlu diingat, kita copypasted address tersebut dari blockexplorer. Sekarang, mari kita ambil kode itu dari QBitNinja transactionResponse:
Anda harus menggunakan private key anda untuk menandatangani:
Broadcast Transaksi
Selamat, karena anda telah berhasil menandatangani transaksi pertama anda! Sekarang tinggal bagaimana menyebar atau broadcas transaksi itu ke dalam jaringan (network), sehingga para penambang bisa mendengar transaksi tersebut.
Menggunakan QBitNinja:
Menggunakan Bitcoin Core Anda:
Menggunakan kode block itu akan menangani koneksi yang terputus ke node. Itu saja.
Anda juga dapat terhubung ke jaringan bitcoin secara langsung. Namun lebih baik anda terhubung pada node anda sendiri, agar lebih cepat dan mudah.
Last updated