mirror of
https://github.com/bigchaindb/js-bigchaindb-driver.git
synced 2024-11-22 09:46:58 +01:00
cleanup all the readme things
* remove `js-` from package name * proper title & description * streamline installation & usage * formatting: remove some weird line breaks * lots of typo corrections * repo banner
This commit is contained in:
parent
1106f53328
commit
f1f9281863
13
AUTHORS.rst
13
AUTHORS.rst
@ -1,13 +0,0 @@
|
|||||||
=======
|
|
||||||
Credits
|
|
||||||
=======
|
|
||||||
|
|
||||||
Development Lead
|
|
||||||
----------------
|
|
||||||
|
|
||||||
* BigchainDB <dev@bigchaindb.com>
|
|
||||||
|
|
||||||
Contributors
|
|
||||||
------------
|
|
||||||
|
|
||||||
Inspired by @Sohkai. Why not be the second?
|
|
80
README.md
80
README.md
@ -1,60 +1,40 @@
|
|||||||
# JavaScript Driver for BigchainDB
|
# [![js-bigchaindb-driver](media/repo-banner@2x.png)](https://www.bigchaindb.com)
|
||||||
|
|
||||||
> Inspired by [`js-bigchaindb-quickstart`](https://github.com/sohkai/js-bigchaindb-quickstart) of @sohkhai [thanks]
|
> Official Node.js driver for [BigchainDB](https://github.com/bigchaindb/bigchaindb) with some naive helpers to get you on your way making transactions with BigchainDB and Node.js.
|
||||||
|
|
||||||
> Supports BigchainDB Server v0.10 (Warning: use CORS enabled [branch](https://github.com/bigchaindb/bigchaindb/tree/kyber-master-feat-cors) untill [PR #1311](https://github.com/bigchaindb/bigchaindb/pull/1311) is resolved )
|
[![npm](https://img.shields.io/npm/v/js-bigchaindb-driver.svg)](https://www.npmjs.com/package/js-bigchaindb-driver)
|
||||||
|
[![js bigchaindb](https://img.shields.io/badge/js-bigchaindb-39BA91.svg)](https://github.com/ascribe/javascript)
|
||||||
Some naive helpers to get you on your way to making some transactions, if you'd like to use
|
|
||||||
[BigchainDB](https://github.com/bigchaindb/bigchaindb) with JavaScript.
|
|
||||||
|
|
||||||
Aimed to support usage in browsers or node and ES∞+, so
|
|
||||||
you'll probably need a babel here and a bundler there (or use [one of the built versions](./dist)),
|
|
||||||
of which I expect you'll know quite well ([otherwise, go check out js-reactor](https://github.com/bigchaindb/js-reactor)).
|
|
||||||
[![Build Status](https://travis-ci.org/bigchaindb/js-bigchaindb-driver.svg?branch=master)](https://travis-ci.org/bigchaindb/js-bigchaindb-driver)
|
[![Build Status](https://travis-ci.org/bigchaindb/js-bigchaindb-driver.svg?branch=master)](https://travis-ci.org/bigchaindb/js-bigchaindb-driver)
|
||||||
|
|
||||||
## Compatibility
|
## Compatibility
|
||||||
|
|
||||||
| BigchainDB Server | BigchainDB Javascript Driver |
|
| BigchainDB Server | BigchainDB Node.js Driver |
|
||||||
| ----------------- |------------------------------|
|
| ----------------- |------------------------------|
|
||||||
| `~=0.10.1` | `~=0.1.0` |
|
| `~=0.10.1` | `~=0.1.0` |
|
||||||
|
|
||||||
|
|
||||||
## Contents
|
## Contents
|
||||||
|
|
||||||
- [Getting Started](#getting-started)
|
- [Installation](#installation)
|
||||||
- [Usage](#usage)
|
- [Usage](#usage)
|
||||||
- [Speed Optimizations](#speed-optimizations)
|
- [Speed Optimizations](#speed-optimizations)
|
||||||
- [Warnings](#warnings)
|
- [Warnings](#warnings)
|
||||||
- [API](API.md)
|
- [Authors](#authors)
|
||||||
|
|
||||||
## Getting started
|
|
||||||
- [License](#license)
|
- [License](#license)
|
||||||
|
- [API reference](API.md)
|
||||||
|
|
||||||
### Install from npm
|
## Installation
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# install from npm
|
# install from npm
|
||||||
npm install js-bigchaindb-driver
|
npm install bigchaindb-driver
|
||||||
# Install from GitHub - ssh
|
|
||||||
npm install git+ssh://github.com/bigchaindb/js-bigchaindb-driver.git
|
|
||||||
# Install from GitHub - https
|
|
||||||
npm install git+https://github.com/bigchaindb/js-bigchaindb-driver.git
|
|
||||||
```
|
|
||||||
|
|
||||||
### Import / ES6
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
// ES6 Browser
|
|
||||||
import * as driver from 'js-bigchaindb-driver';
|
|
||||||
// ES<<6 Browser
|
|
||||||
let driver = require('js-bigchaindb-driver');
|
|
||||||
// ES<<6 CommonJS / node
|
|
||||||
let driver = require('js-bigchaindb-driver/dist/node');
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
```javascript
|
You'll probably need a babel here and a bundler there. Alternatively, use [one of the bundled dist versions](./dist).
|
||||||
|
|
||||||
|
```js
|
||||||
import * as driver from 'js-bigchaindb-driver';
|
import * as driver from 'js-bigchaindb-driver';
|
||||||
|
|
||||||
// http(s)://<bigchaindb-API-url>/ (e.g. http://localhost:9984/api/v1/)
|
// http(s)://<bigchaindb-API-url>/ (e.g. http://localhost:9984/api/v1/)
|
||||||
@ -87,33 +67,25 @@ You may also be interested in some [long-form tutorials with actual code](https:
|
|||||||
|
|
||||||
The expected flow for making transactions:
|
The expected flow for making transactions:
|
||||||
|
|
||||||
1. Go get yourself some keypairs! (or a whole bunch of them, nobody's
|
1. Go get yourself some keypairs. (or a whole bunch of them, nobody's counting)
|
||||||
counting)
|
|
||||||
- `new driver.Ed25519Keypair()`
|
- `new driver.Ed25519Keypair()`
|
||||||
1. Construct a transaction payload that you can send of to BigchainDB:
|
2. Construct a transaction payload that you can send off to BigchainDB:
|
||||||
- `driver.Transaction.makeCreateTransaction()` for creating a new asset or
|
- `driver.Transaction.makeCreateTransaction()` for creating a new asset or
|
||||||
- `driver.Transaction.makeTransferTransaction()` for transfering an existing asset
|
- `driver.Transaction.makeTransferTransaction()` for transfering an existing asset
|
||||||
1. A transaction needs an output (\*):
|
3. A transaction needs an output (\*):
|
||||||
- `driver.Transaction.makeOutput()` still requires a crypto-condition
|
- `driver.Transaction.makeOutput()` still requires a crypto-condition
|
||||||
- `driver.Transaction.makeEd25519Condition()` should do the trick for a simple public key output.
|
- `driver.Transaction.makeEd25519Condition()` should do the trick for a simple public key output.
|
||||||
1. (**Optional**) You've got everything you need, except for an asset and metadata. Maybe define them (any
|
4. (**Optional**) You've got everything you need, except for an asset and metadata. Maybe define them (any JSON-serializable object will do).
|
||||||
JSON-serializable object will do).
|
5. Ok, now you've got a transaction, but we need you to *sign* it cause, you know... cryptography and `¯\_(ツ)_/¯`:
|
||||||
1. Ok, now you've got a transaction, but we need you to *sign* it cause, you
|
|
||||||
know... cryptography and `¯\_(ツ)_/¯`:
|
|
||||||
- `driver.Transaction.signTransaction()` allows you to sign with private keys.
|
- `driver.Transaction.signTransaction()` allows you to sign with private keys.
|
||||||
1. Final step is to send the transaction off to BigchainDB:
|
6. Final step is to send the transaction off to BigchainDB:
|
||||||
- `driver.Connection.postTransaction()`
|
- `driver.Connection.postTransaction()`
|
||||||
|
|
||||||
|
(\*) If you're not sure what any of this means (and you're as confused as I think you are right now), you might wanna go check out [this](https://docs.bigchaindb.com/projects/server/en/latest/data-models/crypto-conditions.html) and [this](https://docs.bigchaindb.com/projects/py-driver/en/latest/usage.html#asset-transfer) and [this](https://tools.ietf.org/html/draft-thomas-crypto-conditions-01) first.
|
||||||
(\*) If you're not sure what any of this means (and you're as
|
|
||||||
confused as I think you are right now), you might wanna go check out [this](https://docs.bigchaindb.com/projects/server/en/latest/data-models/crypto-conditions.html)
|
|
||||||
and [this](https://docs.bigchaindb.com/projects/py-driver/en/latest/usage.html#asset-transfer)
|
|
||||||
and [this](https://tools.ietf.org/html/draft-thomas-crypto-conditions-01) first.
|
|
||||||
|
|
||||||
## Speed Optimizations
|
## Speed Optimizations
|
||||||
|
|
||||||
This implementation plays "safe" by using JS-native (or downgradable) libraries for its
|
This implementation plays "safe" by using JS-native (or downgradable) libraries for its crypto-related functions to keep compatibilities with the browser. If you do want some more speed, feel free to explore the following:
|
||||||
crypto-related functions to keep compatibilities with the browser. If you do want some more speed, feel free to explore the following:
|
|
||||||
|
|
||||||
* [chloride](https://github.com/dominictarr/chloride), or its underlying [sodium](https://github.com/paixaop/node-sodium)
|
* [chloride](https://github.com/dominictarr/chloride), or its underlying [sodium](https://github.com/paixaop/node-sodium)
|
||||||
library
|
library
|
||||||
@ -127,8 +99,7 @@ crypto-related functions to keep compatibilities with the browser. If you do wan
|
|||||||
|
|
||||||
Make sure you keep using a crypto-conditions implementation that implements the older v1 draft (e.g.
|
Make sure you keep using a crypto-conditions implementation that implements the older v1 draft (e.g.
|
||||||
[`five-bells-condition@v3.3.1`](https://github.com/interledgerjs/five-bells-condition/releases/tag/v3.3.1)).
|
[`five-bells-condition@v3.3.1`](https://github.com/interledgerjs/five-bells-condition/releases/tag/v3.3.1)).
|
||||||
BigchainDB Server 0.10 does not implement the newer version of the spec and **WILL** fail if you to
|
BigchainDB Server 0.10 does not implement the newer version of the spec and **WILL** fail if you try using a newer implementation of crypto-conditions.
|
||||||
use a newer implementation of crypto-conditions.
|
|
||||||
|
|
||||||
> SHA3
|
> SHA3
|
||||||
|
|
||||||
@ -148,6 +119,13 @@ An example BigchainDB Server-generated keypair (encoded in `base58`):
|
|||||||
|
|
||||||
Your package should be able to take in the decoded version of the **private** key and return you the
|
Your package should be able to take in the decoded version of the **private** key and return you the
|
||||||
same **public** key (once you encode that to `base58`).
|
same **public** key (once you encode that to `base58`).
|
||||||
|
|
||||||
|
## Authors
|
||||||
|
|
||||||
|
Inspired by [`js-bigchaindb-quickstart`](https://github.com/sohkai/js-bigchaindb-quickstart) of @sohkhai [thanks]
|
||||||
|
|
||||||
|
* BigchainDB <dev@bigchaindb.com>
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
```
|
```
|
||||||
|
BIN
media/repo-banner.sketch
Normal file
BIN
media/repo-banner.sketch
Normal file
Binary file not shown.
BIN
media/repo-banner@2x.png
Normal file
BIN
media/repo-banner@2x.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 54 KiB |
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "js-bigchaindb-driver",
|
"name": "bigchaindb-driver",
|
||||||
"version": "0.1.1",
|
"version": "0.1.1",
|
||||||
"description": "JavaScript driver for BigchainDB (node + browser)",
|
"description": "Node.js driver for BigchainDB",
|
||||||
"homepage": "https://www.bigchaindb.com/",
|
"homepage": "https://www.bigchaindb.com/",
|
||||||
"bugs": "https://github.com/bigchaindb/js-bigchaindb-driver/issues",
|
"bugs": "https://github.com/bigchaindb/js-bigchaindb-driver/issues",
|
||||||
"repository": {
|
"repository": {
|
||||||
@ -48,7 +48,7 @@
|
|||||||
"decamelize": "^1.2.0",
|
"decamelize": "^1.2.0",
|
||||||
"es6-promise": "^4.0.5",
|
"es6-promise": "^4.0.5",
|
||||||
"fetch-ponyfill": "^4.0.0",
|
"fetch-ponyfill": "^4.0.0",
|
||||||
"five-bells-condition": "=3.3.1",
|
"five-bells-condition": "3.3.1",
|
||||||
"isomorphic-fetch": "^2.2.1",
|
"isomorphic-fetch": "^2.2.1",
|
||||||
"js-sha3": "^0.5.7",
|
"js-sha3": "^0.5.7",
|
||||||
"js-utility-belt": "^1.5.0",
|
"js-utility-belt": "^1.5.0",
|
||||||
|
Loading…
Reference in New Issue
Block a user