UNPKG

eris-keys

Version:

a JavaScript client library for eris-keys

72 lines (51 loc) 2.08 kB
This is a JavaScript client library to facilitate interaction with an [Eris Keys](https://github.com/eris-ltd/eris-keys) server. Note: Eris Keys does not expose an interface to get private keys. # Installation `$ npm install eris-keys` # Usage First start a key server: `$ eris services start keys --publish` ```JavaScript 'use strict' const assert = require('assert') const keys = require('../../lib') describe('a client for eris-keys', function () { it('generates a key, signs a message, and verifies the signature', function () { this.timeout(10 * 1000) // Connect to the key server. return keys.serviceUrl('services', 'keys', 4767).then((url) => { const server = keys.connect(url) // Generate a new key pair. return server.generateKeyPair().then((keyPairId) => { const message = 'a message in a bottle' return Promise.all([ // Get the public key of the key pair. server.publicKeyFor(keyPairId), // Sign the message. server.sign(message, keyPairId) ]).then(([publicKey, signature]) => server.verifySignature(message, signature, publicKey) .then((valid) => { assert(valid) }) ) }) }) }) }) ``` # Documentation You can generate documentation in the `doc` subdirectory with the command `npm run doc`. # Copyright Copyright 2016 Monax This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.