Bitcoin

Download this Project @ GitHub


Updated on Jan 3, 2021


1Jd97kN7tr5Q9CrV1t8m1uuQtHV2p3Zp2A

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.

Transaction graph

Photo from: How-To Geek - What Is Bitcoin, and How Does it Work?


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
  • Build this out to recursively check for prices and automate crypto trades.

  • CheckFiatAccounts
  • Get the IDs and data on your fiat accounts.

  • CheckCryptoAccounts
  • Get the IDs and data on your crypto wallets.

  • BuyCrypto
  • Buy a specified amount of your choice of crypto.

  • SellCrypto

    Sell cryptocoins and move the money to your account.