-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathblockchain.cpp
More file actions
84 lines (75 loc) · 1.74 KB
/
blockchain.cpp
File metadata and controls
84 lines (75 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include "blockchain.h"
//std::string serializedString (const rsaPubKey object)
BlockChain::BlockChain():blockChain(NULL, 0)
{
}
BlockChain::~BlockChain()
{
try
{
// Close the database
blockChain.close(0);
// DbException is not subclassed from std::exception, so
// need to catch both of these.
}
catch(DbException &e)
{
// Error handling code goes here
}
catch(std::exception &e)
{
// Error handling code goes here
}
}
void BlockChain::open()
{
try
{
// Open the database
blockChain.open(NULL, // Transaction pointer
"blockchain.db", // Database file name
NULL, // Optional logical database name
DB_HASH, // Database access method
DB_CREATE, // Open flags
0); // File mode (using defaults)
// DbException is not subclassed from std::exception, so
// need to catch both of these.
}
catch(DbException &e)
{
std::cout << "\nErreur a l'ouverture de la base : ";
}
catch(std::exception &e)
{
// Error handling code goes here
}
}
bool BlockChain::validateBlock()
{
Block block;
for (int i = 0; i<= block.txns.size(); i++)
{
/*if(!(block.txns)[i])
return false;*/
}
return true;
}
/*bool BlockChain::validateTx(Tx transaction)
{
int outSum = 0, inSum = 0;
/*for (int i = 0; i < transaction.inputs.size(); i++)
{
inSum += inputs[i];
///Check signature
if(inputs[i].sig != )
return false;
}*/
/*for(int i = 0; i < transaction.outputs.size(); i++)
{
outSum += transaction.outputs[i].value;
}
if(inSum < outSum)
return false;
return true;
}
*/