wallet/cmd/prebuild/main.go
Anton Nesterov 80299cc2c4
[init]
2024-08-31 16:55:59 +02:00

59 lines
1.1 KiB
Go

package main
import (
"fmt"
"os"
"custodial/pkg/crypto"
)
func main() {
cwd, err := os.Getwd()
if err != nil {
panic(err)
}
var dir string = cwd + "/keys"
fmt.Println("Checking for directory: " + dir)
_, err = os.Stat(dir)
if os.IsNotExist(err) {
fmt.Println("Creating directory: " + dir)
err = os.Mkdir(dir, 0755)
if err != nil {
panic(err)
}
fmt.Println("Generating a new keypair...")
kp, err := crypto.KeyPair{}.Random()
if err != nil {
panic(err)
}
kp.Save(dir)
fmt.Println("Keypair saved to: " + dir)
} else {
fmt.Println("Directory already exists: " + dir)
}
fmt.Println("Checking if locker/keys.go exists...")
keys := cwd + "/pkg/locker/keys.go"
_, err = os.Stat(keys)
if os.IsNotExist(err) {
fmt.Println("Creating locker/keys.go...")
f, err := os.Create(keys)
if err != nil {
panic(err)
}
defer f.Close()
kp := crypto.KeyPair{}.Load(dir)
fmt.Println("Writing to locker/keys.go...")
f.WriteString("package locker\n\nconst PRIVATE_KEY string = \"" + string(kp.PrivateKeyBase64()) + "\"")
fmt.Println("Done!")
} else {
fmt.Println("locker/keys.go already exists")
}
}