Pembuatan Alamat Bitcoin di Python

Bitcoin adalah mata uang digital yang dibuat pada Januari 2009. Ini mengikuti ide-ide yang ditetapkan di whitepaper oleh pengembang misterius dan nama samaran Satoshi Nakamoto. Alamat bitcoin adalah pengidentifikasi unik yang berfungsi sebagai lokasi virtual tempat mata uang kripto dapat dikirim atau disimpan. Transaksi menyediakan untuk mentransfer aset antara dompet Bitcoin yang menyimpan kunci pribadi dan alamat bitcoin. Kunci pribadi memastikan bahwa transaksi berasal dari pemilik dompet. Menghasilkan alamat bitcoin sebagai offline dimungkinkan. Kode ini menjelaskan bagaimana Anda dapat menghasilkan alamat bitcoin selangkah demi selangkah. Seperti yang Anda lihat pada gambar di bawah ini, ada beberapa operasi sementara alamat bitcoin dibuat.

Mari kita mulai memeriksa bagaimana kita bisa menghasilkan alamat bitcoin;

  • Langkah 1: Algoritma Tanda Tangan Digital Kurva Eliptik digunakan untuk menghasilkan Kunci Pribadi karena Kriptografi Kunci Publik menyediakan prinsip tanda tangan bitcoin.

ecdsaPrivateKey = ecdsa.SigningKey.generate(curve=ecdsa.SECP256k1)
print("ECDSA Private Key: ", ecdsaPrivateKey.to_string().hex())

ecdsaPublicKey = '04' +  ecdsaPrivateKey.get_verifying_key().to_string().hex()
print("ECDSA Public Key: ", ecdsaPublicKey)

hash256FromECDSAPublicKey = hashlib.sha256(binascii.unhexlify(ecdsaPublicKey)).hexdigest()
print("SHA256(ECDSA Public Key): ", hash256FromECDSAPublicKey)

ridemp160FromHash256 = hashlib.new('ripemd160', binascii.unhexlify(hash256FromECDSAPublicKey))
print("RIDEMP160(SHA256(ECDSA Public Key)): ", ridemp160FromHash256.hexdigest())

prependNetworkByte = '00' + ridemp160FromHash256.hexdigest()
print("Prepend Network Byte to RIDEMP160(SHA256(ECDSA Public Key)): ", prependNetworkByte)

hash = prependNetworkByte
for x in range(1,3):
    hash = hashlib.sha256(binascii.unhexlify(hash)).hexdigest()
    print("\t|___>SHA256 #", x, " : ", hash)

cheksum = hash[:8]
print("Checksum(first 4 bytes): ", cheksum)

appendChecksum = prependNetworkByte + cheksum
print("Append Checksum to RIDEMP160(SHA256(ECDSA Public Key)): ", appendChecksum)

bitcoinAddress = base58.b58encode(binascii.unhexlify(appendChecksum))
print("Bitcoin Address: ", bitcoinAddress.decode('utf8'))

ECDSA Private Key:  58d31714300fcf58434422014defce57d53f4cc3b76314d34dee729dcb7fc07e
------------------------------------------------------
ECDSA Public Key:  0478e410b429fcc6b9d46d30526fdb6d1fa292f38ce02bd2c6c569a4d0c06ab7b0bf2c7444f95064b5b4e9ed2ef2eb96425a3e9873315cbeb6a2e3b22e7978d304
------------------------------------------------------
SHA256(ECDSA Public Key):  558f16eb2e93084f763b20a0005734ff32f134ef53990da26273166bb7afc28c
------------------------------------------------------
RIDEMP160(SHA256(ECDSA Public Key)):  daa4e87dcb30d406d24f76bcc2afe2ef550c9068
------------------------------------------------------
Prepend Network Byte to RIDEMP160(SHA256(ECDSA Public Key)):  00daa4e87dcb30d406d24f76bcc2afe2ef550c9068
------------------------------------------------------
|___>SHA256 #1  :  1d7d571d176f378eabd73b1e3ac0fb5a688855d41ae5ee8956afb9c13b5c7027
|___>SHA256 #2  :  b0a511fb05bcf1872be44d98dad592c9641fe47ee7f48f1ecee18b6805bd4ba4
------------------------------------------------------
Checksum(first 4 bytes):
b0a511fb
------------------------------------------------------
Append Checksum to RIDEMP160(SHA256(ECDSA Public Key)):  00daa4e87dcb30d406d24f76bcc2afe2ef550c9068b0a511fb
------------------------------------------------------
Bitcoin Address:  1Lw5rqh94dWzArQ9tDY6Ucswxo3Ums7VWi

Suggested posts

Cara Menyelamatkan Planet dan Menghasilkan Uang

Cara Menyelamatkan Planet dan Menghasilkan Uang

Berapa kali Anda membuang botol plastik, toples kaca, kaleng aluminium, atau paket energi hijau tanpa berpikir dua kali? Berapa kali Anda berharap bisa mendapatkan sesuatu sebagai imbalan untuk mendaur ulangnya? Jika Anda seperti kebanyakan orang, jawabannya mungkin berkali-kali. Daur ulang sering dianggap merepotkan, tugas, atau tugas yang tidak membawa manfaat langsung atau nyata.

Sunday S'mores

Sunday S'mores

Halo Campers, dan Selamat Hari Minggu! Kami berharap semua orang baik-baik saja dan menikmati waktu mereka sejak pembaruan terakhir kami. Kami memiliki beberapa berita dan rencana menarik untuk dibagikan kepada Anda, dan kami ingin berterima kasih kepada Anda semua atas dukungan dan keterlibatan Anda yang berkelanjutan.

Related posts

Apa yang dapat Anda lakukan di musim menunggu (menunggu untuk mendapatkan pekerjaan pertama Anda di bidang teknologi)

Apa yang dapat Anda lakukan di musim menunggu (menunggu untuk mendapatkan pekerjaan pertama Anda di bidang teknologi)

Beralih ke karir baru bisa sangat menantang jika Anda mencoba melakukannya sendiri. Penting untuk menemukan mitra akuntabilitas yang memiliki tingkat pembelajaran yang sama dengan Anda, yang memiliki tujuan, keuletan, dan dorongan yang sama.

HIDUP TANPA BATAS

Ketika Anda tumbuh dewasa, Anda cenderung diberi tahu bahwa dunia adalah apa adanya dan hidup Anda hanya untuk menjalani hidup Anda di dunia, tidak pernah mempertaruhkan hidup Anda, ikuti saja jalan yang ditetapkan dan pada akhirnya mati, dan cobalah untuk tidak melakukannya. hancurkan tembok terlalu banyak. Tapi itu kehidupan yang sangat terbatas.

Jurnal Ouvert

Jurnal Ouvert

Buku Harian Terbuka: Gambar Sehari. Saya selalu terpesona oleh cerita.

Buku Pertama Seorang Anak tentang Menjadi Tinggi

Buku Pertama Seorang Anak tentang Menjadi Tinggi

(Peringatan- Ini Satire, dimaksudkan untuk Menjadi Gleefully Subversive- Jelas bukan untuk anak-anak) Anda pernah melihat ibu dan ayah Anda bersembunyi di dapur dan merokok rokok yang bau itu. Mereka memberi tahu Anda.