Bitcoin
Download this Project @ GitHub
Updated on Jan 3, 2021
It is amazing at what can be achieved with a QR Code
This is the QR Code for my personal wallet to receive Bitcoin.
Crypto Currency has more uses than simply the exchange of money/goods.
I have started a simple project to build a prototype for an anonymous voting system based off a blockchain.
What is a Blockchain?
The blockchain is a shared public ledger that confirms every transaction. Block chains are heavily encrypted for anonymity and for security of accountability.
The encryption is seeded by a private key that is unique to each Bitcoin wallet. This is used to sign every transaction and provides the mathematical proof for the owner of the wallet.
These signatures prevent transactions from being altered by anybody once it has been issued.
All transactions are recorded in the blockchain and are usually confirmed within 10-20 minutes through mining.
Mining is a distributed confirmation system proving pending transactions belong to the blockchain. This protects the integrity of the blockchain.
Transactions are packed into a block that meets the blockchain's encryption method. This prevents previous blocks from being modified because the blockchain would invalidate all subsquent blocks.
Mining is used to keep any individual from building blocks consectuively to ensure no one can control what is included in the block chain or roll back previous parts of the block chain. Mining is a lottery system that releases new coins to the systems validating the integrity of the blockchain.
Coinbase
Coinbase is a digital currency exchange that supports multiple application platforms for users to buy and sell cryptocurrencies. Popularity is growing and the value of Bitcoin is continually rising everyday. Bitcoin outperformed the Stock Market for eight of the past ten years ( 2011 - 2020 ). The linked repo is the base code needed to start building your own automated cryptocurrency trader bot. It is the bare bones foundation and is meant to be used as an example. Feel free to fork the project and add your own logic for determining trade actions, throw a sleep timer in there and recursively call your logic.
The appsettings.json file is formated to match the secrets.json file for safely securing API keys and IDs from the code base. Please refer back to this previous post on User Secrets for an additional example on storing credentials out of the code base. This project relies on the Coinbase nuget package.
API key and Secret authentication are used to easily build a customizable automation. You can create and activate new API keys in your personal Coinbase API settings. There are five main functions that will do the bulk work of the program:
- ToInfinityAndBeyond
- CheckFiatAccounts
- CheckCryptoAccounts
- BuyCrypto
- SellCrypto
Sell cryptocoins and move the money to your account.
Build this out to recursively check for prices and automate crypto trades.
Get the IDs and data on your fiat accounts.
Get the IDs and data on your crypto wallets.
Buy a specified amount of your choice of crypto.