-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.go
93 lines (83 loc) · 2.82 KB
/
main.go
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
85
86
87
88
89
90
91
92
93
// (main.go) - Must have file for ./mfc
// Copyright (C) 2021 MaxflowO2, the only author of Max Flow Chain
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
package main
import (
"fmt"
"os"
)
// fileExists(path string)
// File check function
// Returns err
func fileExists(path string) bool {
_, err := os.Stat(path)
return !os.IsNotExist(err)
}
func main() {
// checks for MFCKeys and makes it if not there
var mfckeys string = "MFCKeys.json"
keysExist := fileExists(mfckeys)
if keysExist {
// fmt.Println("MFCKeys.json found...")
// keys := LoadKeys()
// fmt.Printf("MFC Public Keys is:\n%x\n", keys.PublicKey)
// fmt.Printf("MFC Private Key is:\n%x\n", keys.PrivateKey)
// fmt.Printf("DO NOT HAND OUT YOUR PRIVATE KEY!\n\n")
} else {
// fmt.Println("MFCKeys.json was not found, generating Key Set...")
newKeys := KeyGen()
// fmt.Printf("MFC Public Keys is:\n%x\n", newKeys.PublicKey)
// fmt.Printf("MFC Private Key is:\n%x\n", newKeys.PrivateKey)
// fmt.Println("DO NOT HAND OUT YOUR PRIVATE KEY!")
// fmt.Printf("Saving keys to MFCKeys.json!\n\n")
KeySave(newKeys)
}
// checks for MFCAddress and makes it if not there
var mfcaddy string = "MFCAddress.json"
addyExist := fileExists(mfcaddy)
if addyExist {
// fmt.Println("MFCAddress.json found...")
// addy := LoadAddress()
// fmt.Printf("MFC Address is:\n%s\n\n", addy)
} else {
// fmt.Println("MFCAddress.json was not found, generating Address.")
MakeAddress().ToFile()
addy := AddyFromFile()
addy.ToBoltDB()
addyTwo := AddyFromBoltDB(addy.MFCxAddy)
if &addy == addyTwo {
fmt.Println("Success")
}
// addy := LoadAddress()
// fmt.Printf("MFC Address is:\n%s\n\n", addy)
}
// Sends MFCAddress to mfc.db, crutial step - passed
// addy := LoadAddress()
// AddAddress(addy)
// fmt.Println("added to database")
// testOne := RetreiveMFCAddress(addy.MFCxAddy)
// fmt.Printf("from one: %s\n", testOne.MFCxAddy)
// testTwo := RetreiveMFCAddressHex(addy.MFCxHex)
// fmt.Printf("from two: %s\n", testTwo.MFCxAddy)
// fmt.Printf("Asked from this: %s\n", addy.MFCxAddy)
// startDB()
// AlphaGenesisBlock()
bc := NewBlockchain()
defer bc.db.Close()
yo := hashDB()
fmt.Printf("the database hash is....\n%s\n", yo)
cli := CLI{bc}
cli.Run()
}