A collection of simple programs which can generate bitcoin wallets, create and sign transactions, and send transactions over the bitcoin network.
MIT License
This is a collection of simple programs which can generate bitcoin wallets, create and sign transactions, and send transactions over the bitcoin network.
It was a learning project for me to learn more about both golang, and the bitcoin protocol.
This project consists of three programs which each contain the most basic usecase.
These programs are not "crytographically" random, and should not be used for any purpose other than educational use.
go get
to install dependenciesgo run keys.go
options (optional)
--testnet
go run transaction.go
options (required)
--private-key yourPrivateKey
--public-key yourPublicKey
--destination destinationPublicKey
--input-transaction inputTransactionHash
--satoshis satoshisToSend
options (optional)
--input-index inputTransactionIndex
go run network.go
options (required)
--transaction yourTransaction
--node-address 255.255.255.255 (IPv4 address of the bitcoin node to connect to)
--network-address 255.255.255.255 (IPv4 address of your public IP address)
options (optional)
--testnet
This library is used for the creation of public keys from private keys, as well as signing transactions. It is a project which wraps the official bitcoin/c-secp256k1 bitcoin library.
This library does the base58 conversion. I have included the base58 project in this codebase rather than importing it from the aforementioned github, because I needed to change the dictionary that was used.
MIT