diff --git a/README.md b/README.md index df78eb5..3e57c68 100644 --- a/README.md +++ b/README.md @@ -11,19 +11,14 @@ | BigchainDB Server | BigchainDB JavaScript Driver | | ----------------- |------------------------------| -| `~=0.10.1` | `~=1.0.0` | +| `0.10` | `0.1.0` | ## Contents * [Installation](#installation) -* [Usage](#usage) * [Example: Create a transaction](#example-create-a-transaction) - * [More examples](#more-examples) * [Documentation](#bigchaindb-documentation) -* [Speed Optimizations](#speed-optimizations) -* [Warnings](#warnings) -* [npm Releases](#npm-releases) * [Authors](#authors) * [License](#license) @@ -33,13 +28,6 @@ npm install bigchaindb-driver ``` -## Usage - -You'll probably need a babel here and a bundler there. Alternatively, use one of the bundled dist versions: - -- `dist/bundle/`: Babelified and packaged with dependencies, so you can drop it in anywhere you want. -- `dist/node/`: Babelified into a CommonJS module, so you can drop it in on any node project. - ### Example: Create a transaction ```js @@ -67,8 +55,8 @@ const tx = driver.Transaction.makeCreateTransaction( alice.publicKey ) -// Optional: You've got everything you need, except for an asset -// and metadata. Maybe define them here, any JSON-serializable object +// Optional: You've got everything you need, except for an asset +// and metadata. Maybe define them here, any JSON-serializable object // will do // Ok, now that you have a transaction, you need to *sign* it @@ -85,12 +73,6 @@ conn.postTransaction(txSigned) .then((res) => console.log('Transaction status:', res.status)) ``` -### More examples - -You may also be interested in some [long-form tutorials with actual code](https://github.com/bigchaindb/kyber): - -- [Kyber](https://github.com/bigchaindb/kyber): full suite of BigchainDB repos with tutorials, examples and experiments included. - ## BigchainDB Documentation - [HTTP API Reference](https://docs.bigchaindb.com/projects/server/en/latest/http-client-server-api.html) @@ -101,65 +83,11 @@ You may also be interested in some [long-form tutorials with actual code](https: ## Speed Optimizations -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: +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: * [chloride](https://github.com/dominictarr/chloride), or its underlying [sodium](https://github.com/paixaop/node-sodium) library * [node-sha3](https://github.com/phusion/node-sha3) -- **MAKE SURE** to use [steakknife's fork](https://github.com/steakknife/node-sha3) if [the FIPS 202 upgrade](https://github.com/phusion/node-sha3/pull/25) hasn't been merged (otherwise, you'll run into all kinds of hashing problems) -## Warnings - -> Crypto-conditions - -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)). - -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. - -> SHA3 - -Make sure to use a SHA3 implementation that has been upgraded as per [FIPS 202](http://csrc.nist.gov/publications/drafts/fips-202/fips_202_draft.pdf). Otherwise, the hashes you generate **WILL** be invalid in the eyes of the BigchainDB Server. - -> Ed25519 - -If you do end up replacing `tweetnacl` with `chloride` (or any other `Ed25519` package), you might want to double check that it gives you a correct public/private (or verifying/signing, if they use -that lingo) key pair. - -An example BigchainDB Server-generated key pair (encoded in `base58`): - -- Public: `DjPMHDD9JtgypDKY38mPz9f6owjAMAKhLuN1JfRAat8C` -- Private: `7Gf5YRch2hYTyeLxqNLgTY63D9K5QH2UQ7LYFeBGuKvo` - -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`). - -## npm Releases - -For a new **patch release**, execute on the machine where you're logged into your npm account: - -```bash -npm run release -``` - -Command is powered by [`release-it`](https://github.com/webpro/release-it) package, defined in the `package.json`. - -That's what the command does without any user interaction: - -1. create release commit by updating version in `package.json` -1. create tag for that release commit -1. push commit & tag -1. create a new release on GitHub, with change log auto-generated from commit messages -1. update local dependencies to latest version -1. build bundled dist versions -1. publish to npm as a new release - -If you want to create a **minor** or **major release**, use these commands: - -```bash -npm run release-minor -``` - -```bash -npm run release-major -``` ## Authors