Каков путь к кошельку для учетных данных в web3j?

Я использую руководство по readme https://github.com/web3j/web3j.

Меня интересует разработка смарт-контрактов от моего хоста с Java + Web3j до частной сети Ethereum, которая работает на моей виртуальной машине.

Есть такие строчки:

Web3j web3 = Web3j.build(new HttpService());  // defaults to http://localhost:8545/
Credentials credentials = WalletUtils.loadCredentials("password", "/path/to/walletfile");

Итак, вопрос:

Как мне создать этот кошелек? Должен ли я создать учетную запись на моей виртуальной машине, а затем скопировать wallet.json файл на свой хост?


person Anna    schedule 30.05.2017    source источник


Ответы (4)


WalletUtils.loadCredentials может содержать ошибки, я бы рекомендовал заранее создать учетные записи, а затем вы можете извлечь закрытый ключ и использовать

Credentials.create(privateKey)

Вы можете использовать файл хранилища ключей и использовать myetherwallet для просмотра своего закрытого ключа.

person thesivar    schedule 07.12.2017

Я бы не рекомендовал использовать WalletUtils.loadCredentials(), потому что это может привести к ошибкам.

Я рекомендую вам:

1. Заранее создайте учетные записи, например, в myetherwallet или с помощью web3j, используя : web3j wallet create

2. Извлеките закрытый ключ или пароль и файл бумажника.

3. Используйте Credentials.create().

Альтернатива 1:

Если у вас есть пароль и файл кошелька, вы можете использовать:

Credentials credentials = Credentials.create(Wallet.decrypt(password, walletFile));

Альтернатива 2:

Если у вас есть EcKeyPair, вы можете использовать:

Credentials credentials = Credentials.create(getEcKeyPair());

Альтернатива 3:

Если у вас есть privateKey, вы можете использовать:

Credentials credentials = Credentials.create(privateKey);
person Javier C.    schedule 24.09.2018

val k = ECKeyPair.create(BigInteger(credentialsOne.ecKeyPair.privateKey.toString()))
            val test = Credentials.create(k)

передать закрытый ключ, например, обычный текст, может дать вам несколько незнакомых результатов, передать его внутри ECKeyPair, и тогда у вас будет доступ к вашему открытому ключу и адресу. я разрабатываю на android с kotlin, и у меня нет проблем

путь к кошельку - это место, где будет сохранен ваш json, и каждый раз, когда вы хотите получить свои ключи, вы должны вводить тот же путь и свою парольную фразу

person cubo1123    schedule 07.02.2018

Метод WalletUtils.loadCredentials () принимает пароль в первом аргументе, а во втором аргументе он принимает путь к файлу кошелька в формате UTC, который вы уже создали. Если не создавать кошелек, вам следует сначала создать кошелек. По WalletUtils.createWallet () укажите пароль и путь, по которому вы хотите сохранить файл utc. После успешного создания кошелька файл utc будет сохранен в указанном вами месте, тогда вы можете использовать WalletUtils .loadCredentials () для загрузки учетных данных и подписи транзакции.

person Arvind Rajput    schedule 13.07.2018