У меня есть 256-битный закрытый ключ, и я хочу получить его публичный адрес, не устанавливая на машину Geth (что довольно тяжело). Есть ли небольшая библиотека JS, которая делает это?
Вы хотите легкий вес и Javascript... как это? https://github.com/ethereumjs/ethereumjs-util
npm install ethereumjs-util
Пример:
var ethUtils = require('ethereumjs-util')
var privateKey = new Buffer([234, 84, 189, 197, 45, 22, 63, 136, 201, 58, 176, 97, 87, 130, 207, 113, 138, 46, 251, 158, 81, 167, 152, 154, 171, 27, 8, 6, 126, 156, 28, 95])
var address = ethUtils.privateToAddress(privateKey).toString('hex')
// address will be 2f015c60e0be116b1f0cd534704db9c92118fb6a
Если у вас есть закрытый ключ в шестнадцатеричном формате, вы можете использовать конструктор буфера со вторым аргументом как «шестнадцатеричный», например:
var privateKey = new Buffer('ea54bdc52d163f88c93ab0615782cf718a2efb9e51a7989aab1b08067e9c1c5f', 'hex')
У него немного больше служебных функций, чем вы просили, но вам понадобится как минимум криптобиблиотека (и, в свою очередь, библиотека bignumber).
Майя Виктор
эт
эт
Майя Виктор
эт
ethUtil
глобальный файл, поэтому он должен иметь возможность использоватьprivateToAddress
подобный ответ.