Создайте учетную запись Ethereum с помощью golang

Я хочу создать учетную запись ethereum с помощью golang. Я следую этому руководству, но я застрял с ошибками только в начале кода.

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

Ошибка: неразрешенная ссылка «accounts.StandardScryptN» и «accounts.StandardScryptP»

Ответы (2)

Я думаю, что руководство устарело.

StandardScryptNи StandardScryptPсейчас в keystoreпакете, а не в accountsпакете. Вам нужно будет обновить свой importсоответственно.

сэр, вы правы. Я заменил параметры, но учетные записи остались. NewManager() не принимает эти параметры.
Ошибка такая же? Как вы импортируете keystoreпакет? Вы все еще импортируете accountsпакет? Можете ли вы обновить свой вопрос с примером кода MCV , который не работает?
Фактически, account.NewManager() принимает интерфейс под названием «Backend», который является частью пакета «accounts». Сэр, проблема в том, что я не знаю, как им пользоваться.
Сэр, есть только два импорта (учетные записи, хранилище ключей) и только одна строка кода, которую я упомянул в своем вопросе.
Хорошо, не уверен, в чем проблема (без игры с этим). Если вам явно не нужны функции диспетчера, другим вариантом может быть просто создание автономного хранилища ключей, как указано в ответе здесь .

Вы можете использовать go-ethereumбиблиотеки для создания учетной записи

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
Спасибо за ваш ответ. Но я хочу создать защищенную паролем учетную запись