mirror of
https://github.com/bigchaindb/js-bigchaindb-driver.git
synced 2024-11-25 03:20:12 +01:00
71a231a50a
Signed-off-by: getlarge <ed@getlarge.eu>
542 lines
16 KiB
Markdown
542 lines
16 KiB
Markdown
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->
|
|
|
|
### Table of Contents
|
|
|
|
- [Ed25519Keypair][1]
|
|
- [Parameters][2]
|
|
- [Properties][3]
|
|
- [Connection][4]
|
|
- [Parameters][5]
|
|
- [getBlock][6]
|
|
- [Parameters][7]
|
|
- [getTransaction][8]
|
|
- [Parameters][9]
|
|
- [listBlocks][10]
|
|
- [Parameters][11]
|
|
- [listOutputs][12]
|
|
- [Parameters][13]
|
|
- [listTransactions][14]
|
|
- [Parameters][15]
|
|
- [postTransaction][16]
|
|
- [Parameters][17]
|
|
- [postTransactionSync][18]
|
|
- [Parameters][19]
|
|
- [postTransactionAsync][20]
|
|
- [Parameters][21]
|
|
- [postTransactionCommit][22]
|
|
- [Parameters][23]
|
|
- [searchAssets][24]
|
|
- [Parameters][25]
|
|
- [searchMetadata][26]
|
|
- [Parameters][27]
|
|
- [Transaction][28]
|
|
- [serializeTransactionIntoCanonicalString][29]
|
|
- [Parameters][30]
|
|
- [makeCreateTransaction][31]
|
|
- [Parameters][32]
|
|
- [makeEd25519Condition][33]
|
|
- [Parameters][34]
|
|
- [makeOutput][35]
|
|
- [Parameters][36]
|
|
- [makeSha256Condition][37]
|
|
- [Parameters][38]
|
|
- [makeThresholdCondition][39]
|
|
- [Parameters][40]
|
|
- [makeTransferTransaction][41]
|
|
- [Parameters][42]
|
|
- [signTransaction][43]
|
|
- [Parameters][44]
|
|
- [delegateSignTransaction][45]
|
|
- [Parameters][46]
|
|
- [delegateSignTransactionAsync][47]
|
|
- [Parameters][48]
|
|
- [ccJsonLoad][49]
|
|
- [Parameters][50]
|
|
- [ccJsonify][51]
|
|
- [Parameters][52]
|
|
|
|
## Ed25519Keypair
|
|
|
|
[src/Ed25519Keypair.js:16-21][53]
|
|
|
|
Type: [Object][54]
|
|
|
|
### Parameters
|
|
|
|
- `seed` **[Buffer][55]?** A seed that will be used as a key derivation function
|
|
|
|
### Properties
|
|
|
|
- `publicKey` **[string][56]**
|
|
- `privateKey` **[string][56]**
|
|
|
|
## Connection
|
|
|
|
[src/connection.js:21-199][57]
|
|
|
|
### Parameters
|
|
|
|
- `nodes`
|
|
- `headers` **[Object][54]** Common headers for every request (optional, default `{}`)
|
|
- `timeout` **float** Optional timeout in secs (optional, default `DEFAULT_TIMEOUT`)
|
|
|
|
### getBlock
|
|
|
|
[src/connection.js:79-85][58]
|
|
|
|
#### Parameters
|
|
|
|
- `blockHeight`
|
|
|
|
### getTransaction
|
|
|
|
[src/connection.js:90-96][59]
|
|
|
|
#### Parameters
|
|
|
|
- `transactionId`
|
|
|
|
### listBlocks
|
|
|
|
[src/connection.js:102-108][60]
|
|
|
|
#### Parameters
|
|
|
|
- `transactionId`
|
|
- `status`
|
|
|
|
### listOutputs
|
|
|
|
[src/connection.js:114-126][61]
|
|
|
|
#### Parameters
|
|
|
|
- `publicKey`
|
|
- `spent`
|
|
|
|
### listTransactions
|
|
|
|
[src/connection.js:132-139][62]
|
|
|
|
#### Parameters
|
|
|
|
- `assetId`
|
|
- `operation`
|
|
|
|
### postTransaction
|
|
|
|
[src/connection.js:144-146][63]
|
|
|
|
#### Parameters
|
|
|
|
- `transaction`
|
|
|
|
### postTransactionSync
|
|
|
|
[src/connection.js:151-156][64]
|
|
|
|
#### Parameters
|
|
|
|
- `transaction`
|
|
|
|
### postTransactionAsync
|
|
|
|
[src/connection.js:161-166][65]
|
|
|
|
#### Parameters
|
|
|
|
- `transaction`
|
|
|
|
### postTransactionCommit
|
|
|
|
[src/connection.js:171-176][66]
|
|
|
|
#### Parameters
|
|
|
|
- `transaction`
|
|
|
|
### searchAssets
|
|
|
|
[src/connection.js:181-187][67]
|
|
|
|
#### Parameters
|
|
|
|
- `search`
|
|
|
|
### searchMetadata
|
|
|
|
[src/connection.js:192-198][68]
|
|
|
|
#### Parameters
|
|
|
|
- `search`
|
|
|
|
## Transaction
|
|
|
|
[src/transaction.js:16-288][69]
|
|
|
|
Construct Transactions
|
|
|
|
### serializeTransactionIntoCanonicalString
|
|
|
|
[src/transaction.js:22-29][70]
|
|
|
|
Canonically serializes a transaction into a string by sorting the keys
|
|
|
|
#### Parameters
|
|
|
|
- `transaction`
|
|
- `null` **[Object][54]** (transaction)
|
|
|
|
Returns **[string][56]** a canonically serialized Transaction
|
|
|
|
### makeCreateTransaction
|
|
|
|
[src/transaction.js:80-87][71]
|
|
|
|
Generate a `CREATE` transaction holding the `asset`, `metadata`, and `outputs`, to be signed by
|
|
the `issuers`.
|
|
|
|
#### Parameters
|
|
|
|
- `asset` **[Object][54]** Created asset's data
|
|
- `metadata` **[Object][54]** Metadata for the Transaction
|
|
- `outputs` **[Array][72]<[Object][54]>** Array of Output objects to add to the Transaction.
|
|
Think of these as the recipients of the asset after the transaction.
|
|
For `CREATE` Transactions, this should usually just be a list of
|
|
Outputs wrapping Ed25519 Conditions generated from the issuers' public
|
|
keys (so that the issuers are the recipients of the created asset).
|
|
- `issuers` **...[Array][72]<[string][56]>** Public key of one or more issuers to the asset being created by this
|
|
Transaction.
|
|
Note: Each of the private keys corresponding to the given public
|
|
keys MUST be used later (and in the same order) when signing the
|
|
Transaction (`signTransaction()`).
|
|
|
|
Returns **[Object][54]** Unsigned transaction -- make sure to call signTransaction() on it before
|
|
sending it off!
|
|
|
|
### makeEd25519Condition
|
|
|
|
[src/transaction.js:96-101][73]
|
|
|
|
Create an Ed25519 Cryptocondition from an Ed25519 public key
|
|
to put into an Output of a Transaction
|
|
|
|
#### Parameters
|
|
|
|
- `publicKey` **[string][56]** base58 encoded Ed25519 public key for the recipient of the Transaction
|
|
- `json` **[boolean][74]** If true returns a json object otherwise a crypto-condition type (optional, default `true`)
|
|
|
|
Returns **[Object][54]** Ed25519 Condition (that will need to wrapped in an Output)
|
|
|
|
### makeOutput
|
|
|
|
[src/transaction.js:111-131][75]
|
|
|
|
Create an Output from a Condition.
|
|
Note: Assumes the given Condition was generated from a
|
|
single public key (e.g. a Ed25519 Condition)
|
|
|
|
#### Parameters
|
|
|
|
- `condition` **[Object][54]** Condition (e.g. a Ed25519 Condition from `makeEd25519Condition()`)
|
|
- `amount` **[string][56]** Amount of the output (optional, default `'1'`)
|
|
|
|
Returns **[Object][54]** An Output usable in a Transaction
|
|
|
|
### makeSha256Condition
|
|
|
|
[src/transaction.js:139-143][76]
|
|
|
|
Create a Preimage-Sha256 Cryptocondition from a secret to put into an Output of a Transaction
|
|
|
|
#### Parameters
|
|
|
|
- `preimage` **[string][56]** Preimage to be hashed and wrapped in a crypto-condition
|
|
- `json` **[boolean][74]** If true returns a json object otherwise a crypto-condition type (optional, default `true`)
|
|
|
|
Returns **[Object][54]** Preimage-Sha256 Condition (that will need to wrapped in an Output)
|
|
|
|
### makeThresholdCondition
|
|
|
|
[src/transaction.js:152-162][77]
|
|
|
|
Create an Sha256 Threshold Cryptocondition from threshold to put into an Output of a Transaction
|
|
|
|
#### Parameters
|
|
|
|
- `threshold` **[number][78]**
|
|
- `subconditions` **[Array][72]** (optional, default `[]`)
|
|
- `json` **[boolean][74]** If true returns a json object otherwise a crypto-condition type (optional, default `true`)
|
|
|
|
Returns **[Object][54]** Sha256 Threshold Condition (that will need to wrapped in an Output)
|
|
|
|
### makeTransferTransaction
|
|
|
|
[src/transaction.js:185-206][79]
|
|
|
|
Generate a `TRANSFER` transaction holding the `asset`, `metadata`, and `outputs`, that fulfills
|
|
the `fulfilledOutputs` of `unspentTransaction`.
|
|
|
|
#### Parameters
|
|
|
|
- `unspentOutputs`
|
|
- `outputs` **[Array][72]<[Object][54]>** Array of Output objects to add to the Transaction.
|
|
Think of these as the recipients of the asset after the transaction.
|
|
For `TRANSFER` Transactions, this should usually just be a list of
|
|
Outputs wrapping Ed25519 Conditions generated from the public keys of
|
|
the recipients.
|
|
- `metadata` **[Object][54]** Metadata for the Transaction
|
|
- `unspentTransaction` **[Object][54]** Previous Transaction you have control over (i.e. can fulfill
|
|
its Output Condition)
|
|
- `OutputIndices` **...[number][78]** Indices of the Outputs in `unspentTransaction` that this
|
|
Transaction fulfills.
|
|
Note that listed public keys listed must be used (and in
|
|
the same order) to sign the Transaction
|
|
(`signTransaction()`).
|
|
|
|
Returns **[Object][54]** Unsigned transaction -- make sure to call signTransaction() on it before
|
|
sending it off!
|
|
|
|
### signTransaction
|
|
|
|
[src/transaction.js:219-243][80]
|
|
|
|
Sign the given `transaction` with the given `privateKey`s, returning a new copy of `transaction`
|
|
that's been signed.
|
|
Note: Only generates Ed25519 Fulfillments. Thresholds and other types of Fulfillments are left as
|
|
an exercise for the user.
|
|
|
|
#### Parameters
|
|
|
|
- `transaction` **[Object][54]** Transaction to sign. `transaction` is not modified.
|
|
- `privateKeys` **...[string][56]** Private keys associated with the issuers of the `transaction`.
|
|
Looped through to iteratively sign any Input Fulfillments found in
|
|
the `transaction`.
|
|
|
|
Returns **[Object][54]** The signed version of `transaction`.
|
|
|
|
### delegateSignTransaction
|
|
|
|
[src/transaction.js:252-265][81]
|
|
|
|
Delegate signing of the given `transaction` returning a new copy of `transaction`
|
|
that's been signed.
|
|
|
|
#### Parameters
|
|
|
|
- `transaction` **[Object][54]** Transaction to sign. `transaction` is not modified.
|
|
- `signFn` **[Function][82]** Function signing the transaction, expected to return the fulfillment.
|
|
|
|
Returns **[Object][54]** The signed version of `transaction`.
|
|
|
|
### delegateSignTransactionAsync
|
|
|
|
[src/transaction.js:274-287][83]
|
|
|
|
Delegate signing of the given `transaction` returning a new copy of `transaction`
|
|
that's been signed.
|
|
|
|
#### Parameters
|
|
|
|
- `transaction` **[Object][54]** Transaction to sign. `transaction` is not modified.
|
|
- `signFn` **[Function][82]** Function signing the transaction, expected to resolve the fulfillment.
|
|
|
|
Returns **[Promise][84]<[Object][54]>** The signed version of `transaction`.
|
|
|
|
## ccJsonLoad
|
|
|
|
[src/utils/ccJsonLoad.js:13-44][85]
|
|
|
|
Loads a crypto-condition class (Fulfillment or Condition) from a BigchainDB JSON object
|
|
|
|
### Parameters
|
|
|
|
- `conditionJson` **[Object][54]**
|
|
|
|
Returns **cc.Condition** Ed25519 Condition (that will need to wrapped in an Output)
|
|
|
|
## ccJsonify
|
|
|
|
[src/utils/ccJsonify.js:12-65][86]
|
|
|
|
Serializes a crypto-condition class (Condition or Fulfillment) into a BigchainDB-compatible JSON
|
|
|
|
### Parameters
|
|
|
|
- `fulfillment` **cc.Fulfillment** base58 encoded Ed25519 public key for recipient of the Transaction
|
|
|
|
Returns **[Object][54]** Ed25519 Condition (that will need to wrapped in an Output)
|
|
|
|
[1]: #ed25519keypair
|
|
|
|
[2]: #parameters
|
|
|
|
[3]: #properties
|
|
|
|
[4]: #connection
|
|
|
|
[5]: #parameters-1
|
|
|
|
[6]: #getblock
|
|
|
|
[7]: #parameters-2
|
|
|
|
[8]: #gettransaction
|
|
|
|
[9]: #parameters-3
|
|
|
|
[10]: #listblocks
|
|
|
|
[11]: #parameters-4
|
|
|
|
[12]: #listoutputs
|
|
|
|
[13]: #parameters-5
|
|
|
|
[14]: #listtransactions
|
|
|
|
[15]: #parameters-6
|
|
|
|
[16]: #posttransaction
|
|
|
|
[17]: #parameters-7
|
|
|
|
[18]: #posttransactionsync
|
|
|
|
[19]: #parameters-8
|
|
|
|
[20]: #posttransactionasync
|
|
|
|
[21]: #parameters-9
|
|
|
|
[22]: #posttransactioncommit
|
|
|
|
[23]: #parameters-10
|
|
|
|
[24]: #searchassets
|
|
|
|
[25]: #parameters-11
|
|
|
|
[26]: #searchmetadata
|
|
|
|
[27]: #parameters-12
|
|
|
|
[28]: #transaction
|
|
|
|
[29]: #serializetransactionintocanonicalstring
|
|
|
|
[30]: #parameters-13
|
|
|
|
[31]: #makecreatetransaction
|
|
|
|
[32]: #parameters-14
|
|
|
|
[33]: #makeed25519condition
|
|
|
|
[34]: #parameters-15
|
|
|
|
[35]: #makeoutput
|
|
|
|
[36]: #parameters-16
|
|
|
|
[37]: #makesha256condition
|
|
|
|
[38]: #parameters-17
|
|
|
|
[39]: #makethresholdcondition
|
|
|
|
[40]: #parameters-18
|
|
|
|
[41]: #maketransfertransaction
|
|
|
|
[42]: #parameters-19
|
|
|
|
[43]: #signtransaction
|
|
|
|
[44]: #parameters-20
|
|
|
|
[45]: #delegatesigntransaction
|
|
|
|
[46]: #parameters-21
|
|
|
|
[47]: #delegatesigntransactionasync
|
|
|
|
[48]: #parameters-22
|
|
|
|
[49]: #ccjsonload
|
|
|
|
[50]: #parameters-23
|
|
|
|
[51]: #ccjsonify
|
|
|
|
[52]: #parameters-24
|
|
|
|
[53]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/Ed25519Keypair.js#L16-L21 "Source code on GitHub"
|
|
|
|
[54]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
|
|
|
|
[55]: https://nodejs.org/api/buffer.html
|
|
|
|
[56]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
|
|
|
|
[57]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/connection.js#L21-L199 "Source code on GitHub"
|
|
|
|
[58]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/connection.js#L79-L85 "Source code on GitHub"
|
|
|
|
[59]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/connection.js#L90-L96 "Source code on GitHub"
|
|
|
|
[60]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/connection.js#L102-L108 "Source code on GitHub"
|
|
|
|
[61]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/connection.js#L114-L126 "Source code on GitHub"
|
|
|
|
[62]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/connection.js#L132-L139 "Source code on GitHub"
|
|
|
|
[63]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/connection.js#L144-L146 "Source code on GitHub"
|
|
|
|
[64]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/connection.js#L151-L156 "Source code on GitHub"
|
|
|
|
[65]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/connection.js#L161-L166 "Source code on GitHub"
|
|
|
|
[66]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/connection.js#L171-L176 "Source code on GitHub"
|
|
|
|
[67]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/connection.js#L181-L187 "Source code on GitHub"
|
|
|
|
[68]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/connection.js#L192-L198 "Source code on GitHub"
|
|
|
|
[69]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/transaction.js#L16-L288 "Source code on GitHub"
|
|
|
|
[70]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/transaction.js#L22-L29 "Source code on GitHub"
|
|
|
|
[71]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/transaction.js#L80-L87 "Source code on GitHub"
|
|
|
|
[72]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array
|
|
|
|
[73]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/transaction.js#L96-L101 "Source code on GitHub"
|
|
|
|
[74]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
|
|
|
|
[75]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/transaction.js#L111-L131 "Source code on GitHub"
|
|
|
|
[76]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/transaction.js#L139-L143 "Source code on GitHub"
|
|
|
|
[77]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/transaction.js#L152-L162 "Source code on GitHub"
|
|
|
|
[78]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
|
|
|
|
[79]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/transaction.js#L185-L206 "Source code on GitHub"
|
|
|
|
[80]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/transaction.js#L219-L243 "Source code on GitHub"
|
|
|
|
[81]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/transaction.js#L252-L265 "Source code on GitHub"
|
|
|
|
[82]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
|
|
|
|
[83]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/transaction.js#L274-L287 "Source code on GitHub"
|
|
|
|
[84]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
|
|
|
|
[85]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/utils/ccJsonLoad.js#L13-L44 "Source code on GitHub"
|
|
|
|
[86]: https://github.com/bigchaindb/js-bigchaindb-driver/blob/76c877c649801f0a26351d03237e0b59c18bd3ef/src/utils/ccJsonify.js#L12-L65 "Source code on GitHub"
|