Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bittricky/simplechain
Blockchain Example
https://github.com/bittricky/simplechain
crypto-js javascript leveldb
Last synced: 4 days ago
JSON representation
Blockchain Example
- Host: GitHub
- URL: https://github.com/bittricky/simplechain
- Owner: bittricky
- Created: 2018-11-12T22:00:43.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-05-23T01:59:50.000Z (6 months ago)
- Last Synced: 2024-05-28T16:11:26.327Z (6 months ago)
- Topics: crypto-js, javascript, leveldb
- Language: JavaScript
- Homepage:
- Size: 39.1 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Simple Chain
Example of how to implement a blockchain
## 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
Installing Node and NPM is pretty straightforward using the installer package available from the [Node.js](https://nodejs.org/en/).
### Install
To install the project dependencies run the following command
```
$ npm install
```## Testing
Testing is very important
To test this code:
1: Open a command prompt or terminal shell after installing node.js.
2: Enter a node session, also known as a 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();
```#### Credit
- [Udacity](https://www.udacity.com/course/blockchain-developer-nanodegree--nd1309)