I am going to write my own bitcoin client - I have started reviewing the standard client code.
My sequence of goals are:
1. Create a client that can create keys & addresses and store them.
2. Using a standard client, send a small amount of BTC to the created public address.
3. New client creates "offline" transactions to send the BTC back to a standard address.
4. Manually review the transaction, copy transaction over to a standard BTC client and transmit it to the network.
5. Think about connecting to the bitcoin network.
Here is a list of capabilities / methods I want to implement to manage keys & addresses, am I missing any?
Entropy -> Private Key
Private Key -> Public Key
Public Key -> Public Address
Private Key -> Secret Storage (custom wallet)
Secret Storage (custom wallet) -> Private Key
Public Address -> Storage
Storage -> Public Address
Public Address -> Public Key
What are the methods needed to create transactions? Is the blockchain needed?
It looks like one of the bitcoin console functions would handle the transaction - which one(s) can be used if the transmission does not come from the client's wallet?
sendfrom
sendmany
sendrawtransaction
sendtoaddress