add condition details upgrade section

This commit is contained in:
Scott Sadler 2017-06-28 00:56:16 +02:00
parent 1b9fd1b08c
commit 3d99d192c6

View File

@ -85,7 +85,7 @@ Transactions](https://docs.bigchaindb.com/projects/py-driver/en/latest/handcraft
document.
#### Update to Cryptoconditions version 2
#### Update to Crypto-Conditions version 2
Earlier this year the IETF Interledger working group released an [updated
draft](https://tools.ietf.org/html/draft-thomas-crypto-conditions-02) of their
@ -104,6 +104,37 @@ If you don't find your preferred language in this list, do not despair but
reach out to us for help on Github/Gitter or product@bigchaindb.com.
#### Revamp of Crypto-Conditions signing details
In order to create a correct fulfillment for an output condition in BigchainDB,
we include the conditon URI ("ni:///sha-256;..."), to verify the fulfillment
against. However, the condition URI does not tell you who may sign in order to
create a correct fulfillment.
For this, we have the `condition.details` object. This is a recursive data structure
which mirrors the n-of-m threshold / ed25519 condition types that we support.
An example of the new structure is:
```json
{
"details": {
"type": "threshold-sha-256",
"threshold": 2,
"subconditions": [
{
"public_key": "<new owner 1 public key>",
"type": "ed25519-sha-256",
},
{
"public_key": "<new owner 2 public key>",
"type": "ed25519-sha-256",
}
],
},
}
```
#### Transaction version is now 1.0
The `version` key in the transaction is now set to `'1.0'`.