Skip to content

Learning blockchain fundamentals by creating a private blockchain with LevelDB

Notifications You must be signed in to change notification settings

A-Fredette/privateBlockchain

Repository files navigation

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

  • Use NPM to initialize your project and create package.json to store project dependencies.
npm init
  • Install crypto-js with --save flag to save dependency to our package.json file
npm install crypto-js --save
  • Install level with --save flag
npm install level --save

Testing

To test code: 1: Open a command prompt or shell terminal after install node.js. 2: Enter a node session, also known as REPL (Read-Evaluate-Print-Loop).

node

3: Copy and paste your code into your node session 4: Instantiate blockchain with blockchain variable

let blockchain = new Blockchain();

5: Generate 10 blocks using a for loop

for (var i = 0; i <= 10; i++) {
  blockchain.addBlock(new Block("test data "+i));
}

6: Validate blockchain

blockchain.validateChain();

7: Induce errors by changing block data

  let inducedErrorBlocks = [2,4,7];
for (var i = 0; i < inducedErrorBlocks.length; i++) {
  blockchain.chain[inducedErrorBlocks[i]].data='induced chain error';
}

8: Validate blockchain. The chain should now fail with blocks 2,4, and 7.

blockchain.validateChain();

About

Learning blockchain fundamentals by creating a private blockchain with LevelDB

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published