1
0
mirror of https://github.com/bigchaindb/js-bigchaindb-driver.git synced 2024-10-31 23:45:22 +01:00
js-bigchaindb-driver/docs/source
2018-02-21 10:33:47 +01:00
..
.conf.py.swp Moved docs from personal repo to official js Driver repo 2017-11-23 10:00:40 +01:00
advanced.rst docs updated to new makeTransferTransaction format 2017-11-23 10:03:23 +01:00
conf.py
index.rst Moved docs from personal repo to official js Driver repo 2017-11-23 10:00:40 +01:00
quickstart.rst
readme.rst Correct typo 2018-02-21 10:33:47 +01:00
usage.rst Change references to IPDB 2018-02-08 14:04:51 +01:00

BigchainDB JavaScript Driver
============================

.. image:: https://img.shields.io/npm/v/bigchaindb-driver.svg
			:target: https://www.npmjs.com/package/bigchaindb-driver

.. image:: https://codecov.io/gh/bigchaindb/js-bigchaindb-driver/branch/master/graph/badge.svg
			:target: https://codecov.io/gh/bigchaindb/js-bigchaindb-driver

.. image:: https://img.shields.io/badge/js-ascribe-39BA91.svg
			:target: https://github.com/ascribe/javascript

.. image:: https://travis-ci.org/bigchaindb/js-bigchaindb-driver.svg?branch=master
			:target: https://travis-ci.org/bigchaindb/js-bigchaindb-driver

.. image:: https://badges.greenkeeper.io/bigchaindb/js-bigchaindb-driver.svg
			:target: https://greenkeeper.io/

Features
--------

* Support for preparing, fulfilling, and sending transactions to a BigchainDB
  node.
* Retrieval of transactions by id.
* Getting status of a transaction by id.

Compatibility Matrix
--------------------

+-----------------------+----------------------------------+
| **BigchainDB Server** | **BigchainDB Javascript Driver** |
+=======================+==================================+
| ``0.10``              | ``0.1.x``                        |
+-----------------------+----------------------------------+
| ``1.0``               | ``0.3.x``                        |
+-----------------------+----------------------------------+
| ``1.3``               | ``3.x.x``                        |
+-----------------------+----------------------------------+


Older versions
--------------------
For versions below 3.2, a transfer transaction looked like:

.. code-block:: js

	const createTranfer = BigchainDB.Transaction.makeTransferTransaction(
	    txCreated,
	    metadata, [BigchainDB.Transaction.makeOutput(
	        BigchainDB.Transaction.makeEd25519Condition(alice.publicKey))],
	    0
	)

	const signedTransfer = BigchainDB.Transaction.signTransaction(createTranfer,
		keypair.privateKey)


In order to upgrade and do it compatible with the new driver version, this
transaction should be now:

.. code-block:: js

	const createTranfer = BigchainDB.Transaction.makeTransferTransaction(
		[{ tx: txCreated, output_index: 0 }],
		[BigchainDB.Transaction.makeOutput(
        BigchainDB.Transaction.makeEd25519Condition(alice.publicKey))],
		metaData
	)

	const signedTransfer = BigchainDB.Transaction.signTransaction(createTranfer,
		keypair.privateKey)


The upgrade allows to create transfer transaction spending outputs that belong
to different transactions. So for instance is now possible to create a transfer 
transaction spending two outputs from two different create transactions:


.. code-block:: js

	const createTranfer = BigchainDB.Transaction.makeTransferTransaction(
		[{ tx: txCreated1, output_index: 0 },
			{ tx: txCreated2, output_index: 0}],
		[BigchainDB.Transaction.makeOutput(
        BigchainDB.Transaction.makeEd25519Condition(alice.publicKey))],
		metaData
	)

	const signedTransfer = BigchainDB.Transaction.signTransaction(createTranfer,
		keypair.privateKey)