Skip to content

Instantly share code, notes, and snippets.

@ohac
Created June 8, 2020 08:54
Show Gist options
  • Select an option

  • Save ohac/16f777d96b41d384f1429003fcd34ac6 to your computer and use it in GitHub Desktop.

Select an option

Save ohac/16f777d96b41d384f1429003fcd34ac6 to your computer and use it in GitHub Desktop.
use sha256sum as private key
diff --git a/generate.go b/generate.go
index 6fa11d6..9cff58f 100644
--- a/generate.go
+++ b/generate.go
@@ -2,8 +2,10 @@ package main
import (
"crypto/rand"
+ "crypto/sha256"
"flag"
"fmt"
+ "io/ioutil"
"math/big"
"os"
"strings"
@@ -20,6 +22,7 @@ func main() {
var prefix string
flag.StringVar(&prefix, "prefix", "123", "prefix you want for your vanity address")
+ fn := flag.String("f", "generate.go", "target filename")
flag.Parse()
fmt.Printf("Searching for prefix \"%s\"\n", prefix)
@@ -33,6 +36,15 @@ func main() {
fmt.Printf("failed to read seed data: %s\n", err)
os.Exit(1)
}
+ if fn != nil {
+ body, err := ioutil.ReadFile(*fn)
+ if err != nil {
+ fmt.Printf("failed to read data: %s\n", err)
+ os.Exit(1)
+ }
+ r := sha256.Sum256(body)
+ copy(seed, r[:])
+ }
var numFound int
var x, y *big.Int
@@ -63,7 +75,7 @@ func main() {
// Encode the address and check the prefix.
addr := base58.CheckEncode(btcutil.Hash160(serialized[:]),
net.PubKeyHashAddrID)
- if strings.HasPrefix(addr, prefix) {
+ if fn != nil || strings.HasPrefix(addr, prefix) {
privkey, _ := btcec.PrivKeyFromBytes(s256, seed)
wif, err := btcutil.NewWIF(privkey, net, false)
if err != nil {
@@ -74,6 +86,9 @@ func main() {
fmt.Printf("\nElapsed: %s\naddr: %s\nwif: %s\nnumfound: %d\n",
time.Since(beginTime), addr, wif.String(),
numFound)
+ if fn != nil {
+ break
+ }
}
seed[0]--
@ohac
Copy link
Copy Markdown
Author

ohac commented Jun 8, 2020

@ohac
Copy link
Copy Markdown
Author

ohac commented Jun 8, 2020

for Monacoin

@@ -13,6 +15,7 @@ import (
 	"github.com/btcsuite/btcd/chaincfg"
 	"github.com/btcsuite/btcutil"
 	"github.com/btcsuite/btcutil/base58"
+	monacfg "github.com/wakiyamap/monad/chaincfg"
 )
 
 func main() {
@@ -20,12 +23,15 @@ func main() {
 
 	var prefix string
 	flag.StringVar(&prefix, "prefix", "123", "prefix you want for your vanity address")
+	fn := flag.String("f", "generate.go", "target filename")
 	flag.Parse()
 
 	fmt.Printf("Searching for prefix \"%s\"\n", prefix)
 
 	s256 := btcec.S256()
 	net := &chaincfg.MainNetParams
+	monanet := &monacfg.MainNetParams
+	net.PubKeyHashAddrID = monanet.PubKeyHashAddrID

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment