Skip to content

Commit 41c8267

Browse files
committed
Checked in project code
1 parent d6e1052 commit 41c8267

File tree

11,001 files changed

+2098701
-307
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

11,001 files changed

+2098701
-307
lines changed

Bst.js

100644100755
File mode changed.

MerkleTree.js

100644100755
Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ class MerkleTree{
116116
}
117117
TreeTraversal(){
118118
for(var i=0; i<this.nodes.length; i++){
119-
console.log(this.nodes[i]);
119+
console.log(this.nodes[i].data);
120120
}
121121
}
122122
}
@@ -126,22 +126,38 @@ var txn1 = 't1';
126126
var txn2 = 't2';
127127
var txn3 = 't3';
128128
var txn4 = 't4';
129+
var txn5 = 't5';
130+
var txn6 = 't6';
131+
var txn7 = 't7';
132+
var txn8 = 't8';
129133
var merkleHash = new MerkleHash();
130-
hash1 = merkleHash.ComputeHash(txn1);
131-
hash2 = merkleHash.ComputeHash(txn2);
132-
hash3 = merkleHash.ComputeHash(txn3);
133-
hash4 = merkleHash.ComputeHash(txn4);
134+
var hash1 = merkleHash.ComputeHash(txn1);
135+
var hash2 = merkleHash.ComputeHash(txn2);
136+
var hash3 = merkleHash.ComputeHash(txn3);
137+
var hash4 = merkleHash.ComputeHash(txn4);
138+
var hash5 = merkleHash.ComputeHash(txn5);
139+
var hash6 = merkleHash.ComputeHash(txn6);
140+
var hash7 = merkleHash.ComputeHash(txn7);
141+
var hash8 = merkleHash.ComputeHash(txn8);
134142
tree.AppendHash(hash1);
135143
tree.AppendHash(hash2);
136144
tree.AppendHash(hash3);
137145
tree.AppendHash(hash4);
146+
tree.AppendHash(hash5);
147+
tree.AppendHash(hash6);
148+
tree.AppendHash(hash7);
149+
tree.AppendHash(hash8);
138150
tree.ConstructTree();
139151
// console.log(tree.rootNode);
140152
tree.TreeTraversal();
141153
console.log("====================================================================================");
142-
console.log("Merkle Proof of Transaction: " + txn3);
143-
var trail = tree.AuditProof(hash3);
144-
var currentHash = hash3;
154+
console.log("Merkle Proof of Transaction: " + txn7);
155+
var trail = tree.AuditProof(hash7);
156+
var currentHash = hash7;
157+
console.log(trail);
158+
for(var i=0; i<trail.length; i++){
159+
console.log(trail[i].data);
160+
}
145161
for(var i=0; i<trail.length; i++){
146162
// console.log(trail[i].data + " " + trail[i].direction);
147163
if(trail[i].direction == 'left'){

README.md

100644100755
Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,24 @@
1-
A blockchain based student verification system. Work in progress... :)
1+
Student verification is a request for a university/college to verify a student’s degree and
2+
enrollment information. Students may need it to defer student loans, health insurance, to verify degrees for
3+
prospective employers, etc. A transcript is a comprehensive record of academic information that includes
4+
coursework, grades, credit hours, CPI and degrees earned. Students would request an official transcript
5+
when they are transferring to another institution, applying to graduate school, applying for an internship or
6+
applying for a scholarship.
7+
Generally, companies ask for a student’s verification via the college’s portal. As well as
8+
students also request for the transcript via the same portal. The college has to manually check the grades
9+
of the students and the portal states that it might take up to 7 days to complete the request, which might
10+
cause missing of important deadlines, besides there is also a chance of human error.
11+
So the project proposes an automated system to tackle these problems and complete the
12+
request in less time with greater reliability. The project proposes an implementation of a Merkle tree based
13+
private blockchain in a distributed environment. To reach the consensus in this distributed system the
14+
project uses practical Byzantine Fault Tolerance(pBFT) mechanism. Consistency and availability along
15+
with scalability and security of the system is ensured by this approach.
16+
The verifying party requests for validation of a particular student by entering the required
17+
information on the portal. The information would be hashed and sent to the college’s server, this server
18+
would perform a Merkle proof to validate that the hash and check if that hash is present in the system. Once
19+
the hash is validated, the verifying party gets the result as the student is validated along with the image of
20+
the original grade card for further inspection.
21+
The project also proposes a cross-validation system for the transcript generation. The
22+
student requesting the transcript has to fill the same information as that of the verifying party along with
23+
his/her email address. The data is again hashed and validated via the Merkle proof. And then only the
24+
transcript is generated and mailed to the concerned student.

node_modules/.bin/acorn

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/cleancss

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/jade

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/mkdirp

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/pbjs

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/pbts

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/sshpk-conv

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)