cryptoChain is my first experience building a cryptocurrency as a personal practice exercise. This Crypto has been created with express.js, node.js and React.js. Testing has been made to jest.
Clone/fork this repository into your local machines. Online version will be posted later on.
npm i
npm start
hashFunction has been created using node's crypto module and the SHA-256 hash. Hashes are created also in it's hexadecimal form.
Mining method following Proof of Work schema with nonce and difficulty level. To generate proof of work, then the new hash should have as many leading ceros in it's bit format as the difficulty level. Finally, difficulty is adjusted depending on mining time (1000ms for this project).
Private and Public keys are being generated with Elliptic secp256K1.
Transaction IDs are being generated with uuid package, specifically v1 version.
Real time network created with PubNub for nodes to communicate between themselves an keep the chain updated at every moment with a distributed ledger.
After mastering and understanding the in and out's of blockchain logic following a stack that I'm used to (MERN), I will be moving to learn how to code this with Solidity.
Thanks to Udemy for hosting this learning course and to David Joseph Katz for creating it.