Merge pull request #802 from yemel/feature/missing-docs
Add ECIES and JSON RPC docs
This commit is contained in:
commit
acba71aabd
|
@ -0,0 +1,43 @@
|
|||
# > `bitcore-ecies`
|
||||
|
||||
## Description
|
||||
|
||||
Bitcore implements [Elliptic Curve Integrated Encryption Scheme (ECIES)](http://en.wikipedia.org/wiki/Integrated_Encryption_Scheme), which is a public key encryption system that performs bulk encryption on data usinc a symmetric cipher and a random key.
|
||||
|
||||
For more information refer to the [bitcore-ecies](https://github.com/bitpay/bitcore-ecies) github repo.
|
||||
|
||||
## Instalation
|
||||
|
||||
ECIES is implemented as a separate module and you must add it to your dependencies:
|
||||
|
||||
For node projects:
|
||||
```
|
||||
npm install bitcore-ecies --save
|
||||
```
|
||||
|
||||
For client-side projects:
|
||||
```
|
||||
bower install bitcore-ecies --save
|
||||
```
|
||||
|
||||
## Example
|
||||
|
||||
```
|
||||
var bitcore = require('bitcore');
|
||||
var ECIES = require('bitcore-ecies');
|
||||
|
||||
var alicePrivateKey = new bitcore.PrivateKey();
|
||||
var bobPrivateKey = new bitcore.PrivateKey();
|
||||
|
||||
var data = new Buffer('The is a raw data example');
|
||||
|
||||
// Encrypt data
|
||||
var cypher1 = ECIES.privateKey(alicePrivateKey).publicKey(bobPrivateKey.publicKey);
|
||||
var encrypted = cypher.encrypt(data);
|
||||
|
||||
// Decrypt data
|
||||
var cypher2 = ECIES.privateKey(bobPrivateKey).publicKey(alicePrivateKey.publicKey);
|
||||
var decrypted = cypher.decrypt(encrypted);
|
||||
|
||||
assert(data.toString(), decrypted.toString());
|
||||
```
|
|
@ -0,0 +1,41 @@
|
|||
# > `bitcore.transport.RPC`
|
||||
|
||||
## Description
|
||||
|
||||
Bitcoind provides a direct interface to the bitcoin network and it also exposes a `JSON-RPC` API. This class allows to connect to a local instance of a bitcoind server and make simple or batch RPC calls to it.
|
||||
|
||||
## Connection to bitcoind
|
||||
|
||||
First you will need a running instance of bitcoind, setting up a username and password to connect with it. For more information about running bitcoind please refer to the [official documentation](https://en.bitcoin.it/wiki/Running_Bitcoin).
|
||||
|
||||
The code for creating and configuring an instance of the RPC client looks like this:
|
||||
|
||||
```
|
||||
var bitcore = require('bitcore');
|
||||
var RPC = bitcore.transport.RPC;
|
||||
|
||||
var client = new RPC('username', 'password', {
|
||||
host: 'localhost',
|
||||
port: 18332,
|
||||
secure: false,
|
||||
disableAgent: true,
|
||||
rejectUnauthorized: true
|
||||
});
|
||||
```
|
||||
|
||||
|
||||
## Examples
|
||||
|
||||
For more information please refer to the [API reference](https://en.bitcoin.it/wiki/API_reference_%28JSON-RPC%29).
|
||||
|
||||
```
|
||||
var bitcore = require('bitcore');
|
||||
var blockHash = '0000000000000000045d581af7fa3b6110266ece8131424d95bf490af828be1c';
|
||||
|
||||
var client = new bitcore.transport.RPC('username', 'password');
|
||||
|
||||
client.getBlock(blockHash, function(err, block) {
|
||||
// do something with the block
|
||||
});
|
||||
|
||||
```
|
Loading…
Reference in New Issue