This project was developed to better understand the cryptography involved in creating Bitcoin wallets. Using the Go programming language, the project generates public and private key pairs and converts them into Bitcoin addresses.
Objectives
Study and understand the cryptographic concepts applied to Bitcoin wallets.
Implement the generation of private and public keys using Go.
Convert the public keys into valid Bitcoin addresses.
ECDSA (Elliptic Curve Digital Signature Algorithm): The algorithm used to generate public and private keys.
SHA-256 and RIPEMD-160: Hash functions used to convert the public key into a Bitcoin address.
WIF (Wallet Import Format): A wallet import format used to simplify handling private keys.
How to Use
Clone this repository:
git clone https://github.com/lpopedv/bit-go-wallet
cd bit-go-wallet
Run the program:
go run cmd/main.go
The program will generate and display the private key, WIF (Wallet Import Format) key, public key, and the corresponding Bitcoin address in the terminal.
Project Structure
main.go: Contains the main logic for generating keys and Bitcoin addresses.
pkg/: Contains auxiliary packages for key and address generation.