Неверный адрес, полученный из закрытого ключа

Я пытаюсь создать и подписать транзакцию, используя ethereumjs-tx, следующим образом: (тот же код, что и в здесь , кроме закрытого ключа)

var Transaction = require('ethereumjs-tx')
var tx = new Transaction()
tx.nonce = 0
tx.gasPrice = 100
tx.gasLimit = 1000
tx.value = 0
tx.data = '0x7f4e616d65526567000000000000000000000000000000000000000000000000003057307f4e616d6552656700000000000000000000000000000000000000000000000000573360455760415160566000396000f20036602259604556330e0f600f5933ff33560f601e5960003356576000335700604158600035560f602b590033560f60365960003356573360003557600035335700'
var privateKey = new Buffer ('8ad6...........................................................', 'hex')
tx.sign(privateKey)
console.log("tx.from = "+tx.getSenderAddress().toString('hex'));

Для privateKey первым аргументом, который я поставлю, является значение "ciphertext" в моем личном ключевом файле (64 символа). Однако в последней строке генерируемый адрес не соответствует адресу моей учетной записи. Я что-то делаю неправильно?

Мой адрес находится в тестовой сети. Является ли эта библиотека действительной только для сети? Я так не думаю, более того, я думаю, что файлы секретных ключей взаимозаменяемы между двумя сетями, но я не уверен.

Спасибо за любую помощь,

Update

В соответствии с этим ответом текст, который я скопировал в файл хранилища ключей, не является закрытым ключом, но его зашифрованную версию с моей парольной фразой. Расшифровка приводит к вопросу Как получить исходный закрытый ключ из файла Mist keystore?

5 голосов | спросил jeff 11 SunEurope/Moscow2016-12-11T19:17:16+03:00Europe/Moscow12bEurope/MoscowSun, 11 Dec 2016 19:17:16 +0300 2016, 19:17:16

1 ответ


3

Я решил свою проблему, используя helpeth следующим образом:

helpeth --password 'my_password' --keyfile 'path_to/keystore/UTC--filename'  --show-private keyDetails

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

Однако это не похоже на безопасное решение, поскольку оно требует от пользователей отправки своих файлов секретного ключа на сервер. Могу ли я получить этот закрытый ключ в браузере JS без его загрузки на сервер?

ответил jeff 11 SunEurope/Moscow2016-12-11T21:21:00+03:00Europe/Moscow12bEurope/MoscowSun, 11 Dec 2016 21:21:00 +0300 2016, 21:21:00

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132