All Projects → olistic → Simplechain

olistic / Simplechain

Licence: mit
⛓✨ Interactive blockchain built with Node.js

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Simplechain

Bulwark Explorer
Block explorer for Bulwark Cryptocurrency
Stars: ✭ 57 (-6.56%)
Mutual labels:  blockchain, cryptocurrency
Blockchainage
「区块链技术指北」相关资料。
Stars: ✭ 51 (-16.39%)
Mutual labels:  blockchain, cryptocurrency
Halocoin
Experimental cryptocurrency (blockchain) written in python.
Stars: ✭ 44 (-27.87%)
Mutual labels:  blockchain, cryptocurrency
Bitcoinml
Bitcoin data-structures library for OCaml
Stars: ✭ 38 (-37.7%)
Mutual labels:  blockchain, cryptocurrency
Bifrost
A Scala (Scorex 2) client for the Topl blockchain protocol
Stars: ✭ 54 (-11.48%)
Mutual labels:  blockchain, cryptocurrency
Microstellar
An easy-to-use Go Library for the Stellar payment network
Stars: ✭ 41 (-32.79%)
Mutual labels:  blockchain, cryptocurrency
Javascript Cli
A CLI in JavaScript for the ARK Blockchain.
Stars: ✭ 48 (-21.31%)
Mutual labels:  blockchain, cryptocurrency
Muecore Discontinued
MUE (X11) - DISCONTINUED
Stars: ✭ 21 (-65.57%)
Mutual labels:  blockchain, cryptocurrency
Bitshares Core
BitShares Blockchain implementation and command-line interface
Stars: ✭ 1,096 (+1696.72%)
Mutual labels:  blockchain, cryptocurrency
Blockchain Cli
⛓️ A minimal blockchain command-line interface.
Stars: ✭ 1,075 (+1662.3%)
Mutual labels:  blockchain, cryptocurrency
Bitcoin.org
Bitcoin.org Website
Stars: ✭ 1,090 (+1686.89%)
Mutual labels:  blockchain, cryptocurrency
Etherscan Ml
Python Data Science and Machine Learning Library for the Ethereum and ERC-20 Blockchain
Stars: ✭ 55 (-9.84%)
Mutual labels:  blockchain, cryptocurrency
Go
Stellar's public monorepo of go code
Stars: ✭ 979 (+1504.92%)
Mutual labels:  blockchain, cryptocurrency
Pycoinbin
Python Wrapper for coinbin.org
Stars: ✭ 43 (-29.51%)
Mutual labels:  blockchain, cryptocurrency
Lethean Vpn
Lethean Virtual Private Network (VPN)
Stars: ✭ 29 (-52.46%)
Mutual labels:  blockchain, cryptocurrency
Sebak
SEBAK, the next BOScoin Blockchain
Stars: ✭ 46 (-24.59%)
Mutual labels:  blockchain, cryptocurrency
Bluewallet
Bitcoin thin client for iOS & Android. Built with React Native
Stars: ✭ 878 (+1339.34%)
Mutual labels:  blockchain, cryptocurrency
Blockchain Papers
区块链相关的有价值的文献
Stars: ✭ 20 (-67.21%)
Mutual labels:  blockchain, cryptocurrency
Cryptolights
Live visualisation of blockchain transactions for popular cryptocurrencies
Stars: ✭ 54 (-11.48%)
Mutual labels:  blockchain, cryptocurrency
Altcoin Cryptocurrency Generator
AltCoin CryptoCurrency Generator
Stars: ✭ 55 (-9.84%)
Mutual labels:  blockchain, cryptocurrency

✨⛓ Simplechain ⛓✨

CircleCI Status Coverage Status

Interactive blockchain built with Node.js.

demo

Intro

The blockchain is a fascinating technology, but it can also be intimidating. At the time I wrote this code, I had consumed a lot of material regarding the blockchain and cryptocurrencies, but I hadn't satisfied my hunger for knowledge (and still haven't). I wanted to create my own blockchain for some of that knowledge to sink in, and I wanted it to be simple. Simplechain is the result of that, and I hope you find it as helpful as it was for me when I created it.

Check out Simplechain++ for a C++ port.

Usage

First, clone the repo:

$ git clone https://github.com/olistic/simplechain.git
$ cd simplechain

Then, install the dependencies:

$ npm install

And finally, launch the REPL:

$ npm start

Voilà! If you see the SIMPLECHAIN> prompt, it means you're inside the REPL.

Go ahead and try the following commands:

  • ADDBLOCK <data>: Mines a block with the provided data and adds it to the chain.
  • LISTBLOCKS: Lists all the blocks in the chain.

Well done! If you want to learn more, please don't forget to look at the code.

Advanced Usage

Adjust Difficulty

If you want to tweak the blockchain's difficulty, you can do so via the CLI:

$ npm start -- --difficulty <number>

This number represents the amount of zeros the hashes of the blocks in the blockchain need to begin with. A greater number makes it more difficult (more computationally expensive) to mine a block.

Next Steps

  • Implement P2P network of nodes where:
    • Miner nodes broadcast mined blocks
    • User nodes broadcast data to be included in blocks by miners
  • Implement peer discovery protocol so nodes can find each other

Resources

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].