Erstellen Sie ein Ethereum-Konto mit golang

Ich möchte ein Ethereum-Konto mit Golang erstellen. Ich folge dieser Anleitung, aber ich stecke mit Fehlern nur am Anfang des Codes fest.

accountManager:=accounts.NewManager(".ethereum/rinkeby/keystore",accounts.StandardScryptN, accounts.StandardScryptP))

Fehler: Ungelöste Referenz „accounts.StandardScryptN“ & „accounts.StandardScryptP“

Antworten (2)

Ich finde die Anleitung veraltet.

StandardScryptNund StandardScryptPsind jetzt im keystorePaket, nicht im accountsPaket. Sie müssen Ihre importentsprechend aktualisieren.

herr, du hast recht. Ich habe die Parameter ersetzt, aber immer noch accounts.NewManager() akzeptiert diese Parameter nicht
Ist der Fehler der gleiche? Wie importieren Sie das keystorePaket? Importierst du das accountsPaket immer noch? Können Sie Ihre Frage mit einem MCV- Beispiel für den fehlerhaften Code aktualisieren?
Tatsächlich akzeptiert accounts.NewManager() eine Schnittstelle namens „Backend“, die Teil des Pakets „accounts“ ist. Sir, das Problem ist, dass ich nicht weiß, wie man es benutzt
Sir, es gibt nur zwei Importe (Konten, Schlüsselspeicher) und nur eine Codezeile, die ich in meiner Frage erwähnt habe
Okay, ich bin mir nicht sicher, was das Problem ist (ohne damit herumzuspielen). Wenn Sie die Manager-Funktionalität nicht explizit benötigen, besteht eine andere Option darin, einfach einen eigenständigen Keystore zu erstellen, wie in der Antwort hier beschrieben .

Sie können die Bibliotheken verwenden go-ethereum, um ein Konto zu erstellen

import "github.com/ethereum/go-ethereum/crypto"
import "encoding/hex"

// Create an account
key, err := crypto.GenerateKey()

// Get the address
address := crypto.PubkeyToAddress(key.PublicKey).Hex()
// 0x8ee3333cDE801ceE9471ADf23370c48b011f82a6

// Get the private key
privateKey := hex.EncodeToString(key.D.Bytes())
// 05b14254a1d0c77a49eae3bdf080f926a2df17d8e2ebdf7af941ea001481e57f
Danke für deine Antwort. Aber ich möchte ein passwortgeschütztes Konto erstellen