eCash.js: a peer-to-peer electronic cash system

Since the rise of internet and e-commerce, buying and selling goods over the internet has relied heavily on financial institutions acting as 3rd parties to process financial transactions. These 3rd parties often charge a good percentage of the payment as transaction fees and often take days to complete. These processes are therefore based upon the 2 parties trusting a 3rd party to process their transaction, and as a 3rd party must be “trusted” there is always room for a transaction to be reversed. Before Bitcoin, there was no way to make a non-reversible payment online for a non-reversible service as there is with cash in the physical world. With the recent price rise of Bitcoin, we have witnessed the impact a decentralized digital currency can have on the world. Mining Bitcoins require special hardware; thus, I have developed a coin using JavaScript, which can be mined on any device with minimal overhead. All services are accessible via REST APIs to the Full Node. This project contains the following features: 1. Ability to create a new Public/Private Key pairs (Wallet address). 2. A blockchain which maintains all the transactions and acts as a Ledger. 3. Ability to update the blockchain and manage forks in the blockchain. 4. Send and receive coins. Each coin can be split up to 6 decimal places. 5. Ability to check any wallet’s balance, using its public key. 6. Ability to connect to other full nodes via the internet. 7. Miner Software, which will process all the unconfirmed transactions.