Вы можете сделать это с библиотекой, которая поддерживает умножение точек.Чтобы получить ваш открытый ключ, вам просто нужно умножить точку генерации G на ваш закрытый ключ.
Например, с эллиптическим упаковка:
var EC = require('elliptic').ec;
// Create and initialize EC context
// (better do it once and reuse it)
var ec = new EC('secp256k1');
// Then generate the public point/key corresponding to your secret key.
var pubPoint = ec.keyFromSecret(secret).getPublic();