What Every Developer Should Know About Cryptocurrency
Lately cryptocurrencies have become a worldwide phenomenon that almost everyone has heard about. As their prices keep rising up, more and more people are willing to invest in cryptocurrencies. While being so famous and knowing about their existance, most people don't know much about them.
In this articles we explain some of the basics of cryptocurrencies and share with you some useful resources and libraries that can be really helpful.
Cryptocurrency is a digital or virtual currency that is designed to be secure and, in many cases, anonymous. The transactions are transferred between peers and are recorded on a public ledger called blockchain. It uses cryptography, the process of converting legible information into an almost uncrackable code, to provide security to purchases and transfers. One of the reasons some cryptocurrencies hold high value is because of their limited supply. Once a they reach a certain number of coins, they are done.
Blockchain is a decentralized ledger, which consists of a continuously growing list of records, called blocks. These blocks are linked and secured using cryptography, and are recorded and added to the blockchain in a chronological order, which makes it easy to keep track of all the transactions. Blockchains are inherently resistant to modification of the data.
A cryptocurrency wallet is a software program that is used to store the private and public keys needed to send and receive digital currencies.
Mining is a process that includes 2 functions: adding transaction records to the Bitcoin's blockchain and creating new bitcoins in each block. Mining requires a computer and a special program, that helps miners in solving complex cryptographic problems, in order to add a new block to the ledger. Whoever solves it first, gets a rewards- a few coins.
Initial Coin Offering(ICO)
This is a process of fundraising for a new cryptocurrency. The creators of the new cryptocurrency offer the investors a certain amount tokens of the new currency in exchange for other cryptocurrencies like Bitcoin or Ethereum.
Bitcoin is the most famous cryptocurrency at the moment. It is completely virtual, created by computer algorithms, and can be used to purchase services and goods. One of it's greatest advantages is that it is decentralized, which means that it isn't controlled by any institution, e.g government or banks. What is more, Bitcoins are completely transparent, information about every single transaction is stored in the blockchain, the transactions are really fast and there are almost no transfer fees. Bitcoin has a supply cap of 21 million coins.
Bitcoin Cash is an upgraded version of the Bitcoin cryptocurrency, that is created in August 2017. Since it's release, Bitcoin has been critisized about it's scalability. The Bitcoin's block size is set at 1 MB, which would slow down transaction prossesing time and limit it's potential. Bitcoin Cash's main goal is to increase the number of transactions that can be processed by increasing the block size from 1MB to 8MB and also decreasing the transaction cost.
Ethereum is a blockchain-based platform that features a cryptocurrency called ether. Launched in 2015, it has quickly become one of the most used cryptocurrencies right now. It uses a blockchain, but exceeds bitcoin's technology, as it allows to store and execute future smart contracts (computer code that can facilitate the exchange of money, content, property, shares, or anything of value). Smart contract runs like a self-operating computer program that automatically executes when certain conditions are met.
An alternative to Bitcoin released in 2011. It is based on bitcoin's source code and also works with blockchain. Although Litecoin is similar to Bitcoin in many ways, it has faster network and block generation rate and offers a faster transaction confirmation. Also Litecoin has lower transaction feed, sometimes close to zero, and has higher supply limit of 84 million coins.
Truffle is a popular development framework for Ethereum. It has a build-in smart contract compilation, linking, deployment and binary management. It allows you to automatically test your contracts, network management for deploying to public and private networks. It also gives you access to hundreds of packages and smart contract dependencies from NPM and EthPM.
Zenbot is a command-line cryptocurrency trading bot. It offers a fully-automated technical-analysis-based trading approach, full support for GDAX, Kraken, Poloniex and other asset exchange companies. It also has a simulator for Backtesting strategies against historical data and configurable sell, buy and profit stops.
Gekko is an open source bitcoin trading bot for automating trading strategies over bitcoin markets. It supports 23 different exchanges like Bitfinex, Bitstamp, Poloniex and more. Gekko allows you to create your own trading strategies and takes care of aggregating live market data, calculating indicators, calculating proft and risk metrics and more.
CoinMarketCap is the most used site where you can find information about more than 1000 cryptocurrencies, check their current prices and follow their change over the last 24 hours or 7 days. It also has an API that you can use in your cryptocurrency applications.