From 7a63db7e217a85786c29e2d810d5c30113ddfee7 Mon Sep 17 00:00:00 2001 From: Utkarsh shukla Date: Thu, 28 Dec 2017 22:58:31 +0530 Subject: [PATCH 1/6] Updated package.json Added dependencies for the block chain --- package.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/package.json b/package.json index 128b067..e7a9d32 100644 --- a/package.json +++ b/package.json @@ -16,3 +16,13 @@ "lite-server": "^2.3.0" } } +"dependencies": { + "body-parser": "~1.10.2", + "cookie-parser": "~1.3.3", + "debug": "~2.1.1", + "express": "~4.11.1", + "jade": "~1.9.1", + "morgan": "~1.5.1", + "serve-favicon": "~2.2.0" + } +} From fbdf0d7d58ccc7f3dfc14886a89cdac2209e499c Mon Sep 17 00:00:00 2001 From: Utkarsh shukla Date: Thu, 28 Dec 2017 23:05:41 +0530 Subject: [PATCH 2/6] Created Server.js file. Created Server.js file for uploading and scanning images for the app. --- server.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 server.js diff --git a/server.js b/server.js new file mode 100644 index 0000000..58ccbbf --- /dev/null +++ b/server.js @@ -0,0 +1,28 @@ +var formidable = require('formidable'), + util = require('util'), + express = require('express'), + fs = require('fs'), + app = express(); + app.use(express.static(__dirname, '/public')); + app.post('/upload', function(req, res) { + var form = new formidable.IncomingForm(); + form.parse(req, function(err, fields, files) { + // console.log(util.inspect({ + // fields: fields, + // files: files + // })); + + fs.readFile(files.RemoteFile.path, function(err, data) { + // save file from temp dir to new dir + var newPath = __dirname + "/uploads/" + files.RemoteFile.name; + fs.writeFile(newPath, data, function(err) { + if (err) throw err; + console.log('file saved'); + res.end(); + }); + }); + }); +}); +app.listen(process.env.PORT, process.env.IP, function(){ + console.log("The Blockchain Server Has Started!"); +}); From ecd4bea25a7411be99800450dd66e86219868a0e Mon Sep 17 00:00:00 2001 From: Utkarsh shukla Date: Sun, 31 Dec 2017 19:21:43 +0530 Subject: [PATCH 3/6] Create Block.js Created Block.js for creating the blocks for the file storage --- block.js | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 block.js diff --git a/block.js b/block.js new file mode 100644 index 0000000..0412250 --- /dev/null +++ b/block.js @@ -0,0 +1,9 @@ +class Block { + constructor(index, previousHash, timestamp, data, hash) { + this.index = index; + this.previousHash = previousHash.toString(); + this.timestamp = timestamp; + this.data = data; + this.hash = hash.toString(); + } +} From 6a31c3b71c77a22f71700b84faa472cdd726c151 Mon Sep 17 00:00:00 2001 From: Utkarsh shukla Date: Sun, 31 Dec 2017 19:25:16 +0530 Subject: [PATCH 4/6] Create calHas.js Created calHash.js for calculating the hashes through SHA algorithm. --- calHash.js | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 calHash.js diff --git a/calHash.js b/calHash.js new file mode 100644 index 0000000..d9da2c4 --- /dev/null +++ b/calHash.js @@ -0,0 +1,3 @@ +var calHash = (index, previousHash, timestamp, data) => { + return CryptoJS.SHA256(index + previousHash + timestamp + data).toString(); +}; From 074173adfa0aa69d59cd654d7646c6217da88308 Mon Sep 17 00:00:00 2001 From: Utkarsh shukla Date: Mon, 1 Jan 2018 19:18:09 +0530 Subject: [PATCH 5/6] Create generateNexthash.js Created the file for generating the contiguous hash functions. --- generateNextblock.js | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 generateNextblock.js diff --git a/generateNextblock.js b/generateNextblock.js new file mode 100644 index 0000000..8080c74 --- /dev/null +++ b/generateNextblock.js @@ -0,0 +1,7 @@ +var generateNextBlock = (blockData) => { + var previousBlock = getLatestBlock(); + var nextIndex = previousBlock.index + 1; + var nextTimestamp = new Date().getTime() / 1000; + var nextHash = calculateHash(nextIndex, previousBlock.hash, nextTimestamp, blockData); + return new Block(nextIndex, previousBlock.hash, nextTimestamp, blockData, nextHash); +}; From 67796140c4516716fb09d9e067740fd57fa8ba4b Mon Sep 17 00:00:00 2001 From: Utkarsh shukla Date: Mon, 1 Jan 2018 19:21:31 +0530 Subject: [PATCH 6/6] Create arrayofblock.js Created the file for the array of new blocks. --- arrayofblocks.js | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 arrayofblocks.js diff --git a/arrayofblocks.js b/arrayofblocks.js new file mode 100644 index 0000000..5f2d2b1 --- /dev/null +++ b/arrayofblocks.js @@ -0,0 +1,5 @@ +var getGenesisBlock = () => { + return new Block(0, "0", 1465154705, "my block!!", "816534932c2b7154836da6afc367695e6337db8a921823784c14378abed4f7d7"); +}; + +var blockchain = [getGenesisBlock()];