File tree Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -64,16 +64,35 @@ const createNewBlock = (data: string): Block => {
64
64
data ,
65
65
newTimestamp
66
66
) ;
67
+ addBlock ( newBlock ) ;
67
68
return newBlock ;
68
69
} ;
69
70
71
+ const getHashforBlock = ( aBlock : Block ) : string =>
72
+ Block . calculateBlockHash (
73
+ aBlock . index ,
74
+ aBlock . previousHash ,
75
+ aBlock . timestamp ,
76
+ aBlock . data
77
+ ) ;
78
+
70
79
const isBlockValid = ( candidateBlock : Block , previousBlock : Block ) : boolean => {
71
80
if ( ! Block . validateStructure ( candidateBlock ) ) {
72
81
return false ;
73
82
} else if ( previousBlock . index + 1 !== candidateBlock . index ) {
74
83
return false ;
75
84
} else if ( previousBlock . hash !== candidateBlock . previousHash ) {
76
85
return false ;
86
+ } else if ( getHashforBlock ( candidateBlock ) !== candidateBlock . hash ) {
87
+ return false ;
88
+ } else {
89
+ return true ;
90
+ }
91
+ } ;
92
+
93
+ const addBlock = ( candidateBlock : Block ) : void => {
94
+ if ( isBlockValid ( candidateBlock , getLatestBlock ( ) ) ) {
95
+ blockchain . push ( candidateBlock ) ;
77
96
}
78
97
} ;
79
98
You can’t perform that action at this time.
0 commit comments