Add ECIES and JSON RPC docs

This commit is contained in:
Yemel Jardi 2014-12-17 18:00:34 -03:00
parent 645bce1ede
commit d010428426
2 changed files with 84 additions and 0 deletions

43
docs/helpers/ECIES.md Normal file
View File

@ -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());
```

View File

@ -0,0 +1,41 @@
# > `bitcore.transport.RPC`
## Description
Bitcoind provides a solid integration with 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.
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
});
```