-snip-
- Public Key (HEX): 0252c39ea6a5f91859b95379b7c9dcfe1b51ca0dce9c00cb57b57fdf1c722076e5
Ini gan yang sudah diperbaiki dan ditambahkan Public Key (HEX), berkenan dikoreksi. Terimakasih gan
Sip. Maaf saya baru periksa post-nya.
Sedikit clue buat teman-teman yang lain, ada banyak cara untuk melihat kesesuaian antara Public Key (HEX) dengan address-nya, antara lain menggunakan Electrum, Bitcoin Core, Python, script bitcoinjs-lib (seperti yang pernah dibagikan agan z@punk), dll.
Berikut ini hasil verifikasi Public Key (HEX) dari address Bitcoin milik agan atookz;
(Saya cantumkan juga code script-nya, barangkali ada teman-teman yang ingin sekalian mencoba menggunakannya).
import hashlib
from hashlib import sha256
import base58
#Eksekusi SHA256 pada PubKey
hash_PubKey = sha256(bytes.fromhex ('0252c39ea6a5f91859b95379b7c9dcfe1b51ca0dce9c00cb57b57fdf1c722076e5'))
print(hash_PubKey.hexdigest())
fb3dcd64d72e6d81d99ec52f5fbbd74b6f37d06bc6acd675cf75e4b4eb400775
#Eksekusi RIPEMD160 pada hash_sha256_PubKey
hash_160 = (bytes.fromhex('fb3dcd64d72e6d81d99ec52f5fbbd74b6f37d06bc6acd675cf75e4b4eb400775'))
hashlib.new('ripemd160', hash_160).hexdigest()
'5bfc8c3bfe5b7628cb57dab748961a4240e18754'
#Eksekusi SHA256 pada hash_01
hash_02 = sha256(bytes.fromhex('005bfc8c3bfe5b7628cb57dab748961a4240e18754'))
print(hash_02.hexdigest())
35c756b7a740578e0e8ac7b5f1a1a6c80254f501924893597bf525e0d0fb8630
#Eksekusi SHA 256 pada hash_02
hash_03 = sha256(bytes.fromhex('35c756b7a740578e0e8ac7b5f1a1a6c80254f501924893597bf525e0d0fb8630'))
print(hash_03.hexdigest())
d6cff25fda98b044aeecadea1adbc6b41e700970d33fdbf0992e54046ce6eb5c
#Eksekusi Base58 encode pada hash_final
address = base58.b58encode(bytes.fromhex('005bfc8c3bfe5b7628cb57dab748961a4240e18754d6cff25f'))
print (address)
b'19PP2nWe2mdgNRbDgjV4Mzaucf1TEZy3SE'
const bitcoin = require('bitcoinjs-lib');
const bitcoinMessage = require('bitcoinjs-message');
const pubkey = Buffer.from('0252c39ea6a5f91859b95379b7c9dcfe1b51ca0dce9c00cb57b57fdf1c722076e5', 'hex');
const { address } = bitcoin.payments.p2pkh({ pubkey });
console.log(address);
const signature = Buffer.from('H0Jm6dZKKjKlGfOcvlfbzKx6HOVOw3+Q3ravtg77oXxlVX+Ot7ntb2a90Z8wMjqn/+HYiZaykZN07wA6S0be4fk=', 'base64');
const message = "hi everybody atookz here, I want to tell you that 19PP2nWe2mdgNRbDgjV4Mzaucf1TEZy3SE is my bitcoin address";
console.log(bitcoinMessage.verify(message, address, signature));