From 5bd373be6118f74c975dd2bf3effd909196b6f9f Mon Sep 17 00:00:00 2001 From: Timur Demin Date: Sat, 8 Aug 2020 21:38:37 +0500 Subject: [PATCH] Make crypto implementation switchable with cmdline flags --- README.md | 10 ++++++---- crypto_original.go | 14 -------------- crypto_vendor.go | 10 ---------- main.go | 10 ++++++++++ 4 files changed, 16 insertions(+), 28 deletions(-) delete mode 100644 crypto_original.go delete mode 100644 crypto_vendor.go diff --git a/README.md b/README.md index e3a792b..6baa191 100644 --- a/README.md +++ b/README.md @@ -7,10 +7,6 @@ code for generating keys and utilizing multiple CPU threads for mining. `% go get -u -v git.tdem.in/tdemin/syg_go` -This program contains some modded code from Yggdrasil that aims to improve -performance. If you prefer to use original Yggdrasil code, set `-tags original` -flag in the command above. - ### History SimpleYggGen is originally a project by [@acetone](https://notabug.org/acetone), @@ -38,6 +34,10 @@ With 8 threads on Ryzen 1700X while searching for `::` this program reaches: * 100 000 000 iterations in 25 minutes, 58 seconds * 500 000 000 iterations in 2 hours, 10 minutes +This program contains some modded code from Yggdrasil that aims to improve +performance. If you prefer to use original Yggdrasil code, set `-original` +flag. + ### Usage ``` @@ -45,6 +45,8 @@ With 8 threads on Ryzen 1700X while searching for `::` this program reaches: Usage of syg_go: -iter uint per how many iterations to output status (default 100000) + -original + use original Yggdrasil code -regex string regex to match addresses against (default "::") -threads int diff --git a/crypto_original.go b/crypto_original.go deleted file mode 100644 index a0ed3dc..0000000 --- a/crypto_original.go +++ /dev/null @@ -1,14 +0,0 @@ -// +build original - -package main - -import ( - "log" - - "github.com/yggdrasil-network/yggdrasil-go/src/address" -) - -func init() { - log.Println("using unmodified Yggdrasil code") - addrForNodeID = address.AddrForNodeID -} diff --git a/crypto_vendor.go b/crypto_vendor.go deleted file mode 100644 index 5909965..0000000 --- a/crypto_vendor.go +++ /dev/null @@ -1,10 +0,0 @@ -// +build !original - -package main - -import "log" - -func init() { - log.Println("using vendored syg_go code") - addrForNodeID = AddrForNodeID -} diff --git a/main.go b/main.go index 8e81de3..e8c24e6 100644 --- a/main.go +++ b/main.go @@ -16,6 +16,7 @@ import ( "regexp" "runtime" + "github.com/yggdrasil-network/yggdrasil-go/src/address" "github.com/yggdrasil-network/yggdrasil-go/src/crypto" ) @@ -26,12 +27,21 @@ func main() { threads := flag.Int("threads", runtime.GOMAXPROCS(0), "how many threads to use for mining") iterationsPerOutput := flag.Uint("iter", 100000, "per how many iterations to output status") displayVersion := flag.Bool("version", false, "display version") + origCode := flag.Bool("original", false, "use original Yggdrasil code") flag.Parse() if *displayVersion { println("syg_go", version) return } + if *origCode { + log.Println("using unmodified Yggdrasil code") + addrForNodeID = address.AddrForNodeID + } else { + log.Println("using syg_go vendored code") + addrForNodeID = AddrForNodeID + } + regex, err := regexp.Compile(*rxflag) if err != nil { log.Printf("%v\n", err)