Difference between revisions of "Blockchain Messages Format and Schemae"

From OIP Wiki
Jump to: navigation, search
(formatting)
Line 1: Line 1:
 +
__NOTOC__
 
{| class="wikitable"
 
{| class="wikitable"
 
!
 
!
Line 15: Line 16:
 
|[[#Artifact Publish|Artifact Publish]]
 
|[[#Artifact Publish|Artifact Publish]]
 
|[[#Artifact Edit|Artifact Edit]]
 
|[[#Artifact Edit|Artifact Edit]]
|[[#Artifact Transfer|Artifact Reassign]]
+
|[[#Artifact Transfer|Artifact Transfer]]
 
|[[#Artifact Deactivate|Artifact Deactivate]]
 
|[[#Artifact Deactivate|Artifact Deactivate]]
 +
|-
 +
!Retailers
 +
|[[#Retailer Register|Retailer Register]]
 +
|[[#Retailer Edit|Retailer Edit]]
 +
|
 +
|
 
|-
 
|-
 
!Promoters
 
!Promoters
 
|[[#Promoter Register|Promoter Register]]
 
|[[#Promoter Register|Promoter Register]]
 
|[[#Promoter Edit|Promoter Edit]]
 
|[[#Promoter Edit|Promoter Edit]]
|
 
|
 
|-
 
!Retailers
 
|[[#Retailer Register|Retailer Register]]
 
|[[#Retailer Edit|Retailer Edit]]
 
 
|
 
|
 
|
 
|
Line 43: Line 44:
 
|}
 
|}
  
== Multipart Messages ==
+
= Multipart Messages =
If any of the messages created below are larger than the 528 byte tx-comments currently supported by Florincoin, then the message will be split up into a Multipart message.
+
All of the below blockchain messages are stored as plaintext in one or more transaction comments. If the total message length is larger than the 528 byte tx-comments currently supported by Florincoin, then the message will be split up into a Multipart message.
  
 
You can find information on how Multipart messages are formed [[Multipart Message Format|here]].
 
You can find information on how Multipart messages are formed [[Multipart Message Format|here]].
  
=== Publisher Register ===
+
== Publisher Register ==
Plaintext data, stored in a transaction comment.<div class="toccolours mw-collapsible mw-collapsed">
+
<div class="toccolours mw-collapsible mw-collapsed">
 
To view the JSON schema for '''''Publisher Register''''', click Expand ->  
 
To view the JSON schema for '''''Publisher Register''''', click Expand ->  
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
Line 78: Line 79:
 
</div>
 
</div>
 
A list of Registered Publishers can be found at [[Alexandrias_Hosted_APIs#Get_All_Publishers|Alexandria's hosted API endpoint]]
 
A list of Registered Publishers can be found at [[Alexandrias_Hosted_APIs#Get_All_Publishers|Alexandria's hosted API endpoint]]
=== Publisher Edit ===
+
 
Plaintext data, stored in a transaction comment.
+
== Publisher Edit ==
 
<div class="toccolours mw-collapsible mw-collapsed">
 
<div class="toccolours mw-collapsible mw-collapsed">
To view the JSON schema for '''''Edit Publisher''''', click Expand ->  
+
To view the JSON schema for '''''Publisher Edit''''', click Expand ->  
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
 
  {
 
  {
Line 97: Line 98:
 
</div>
 
</div>
 
</div>
 
</div>
=== Retailer Register ===
 
Plaintext data, stored in a transaction comment.
 
<div class="toccolours mw-collapsible mw-collapsed">
 
To view the JSON schema for '''''Register Retailer''''', click Expand ->
 
<div class="mw-collapsible-content">
 
{
 
    "oip-041": {
 
        "retailer": {
 
            "FLOaddress": "string",
 
            "FLOaddress": "string",
 
            "http-url": "string",
 
            "version": 1,
 
            "opt": {
 
                "name": "string",
 
                "minimum-share": int
 
            }
 
        },
 
        "signature": "string"
 
    }
 
}
 
[[deprecated register retailer|deprecated '''''Register Retailer''''' schema]]
 
</div>
 
</div>
 
A list of Registered Retailers can be found at [[Alexandrias_Hosted_APIs#Retailers|Alexandria's hosted API endpoint]]
 
=== Promoter Register ===
 
Plaintext data, stored in a transaction comment.
 
<div class="toccolours mw-collapsible mw-collapsed">
 
To view the JSON schema for '''''Register Promoter''''', click Expand ->
 
<div class="mw-collapsible-content">
 
 
    "oip-041":{ 
 
        "promoter":{ 
 
            "BTCaddress":"string",
 
            "LTCaddress":"string",
 
            "FLOaddress":"string",
 
            "version":1,
 
            "social":{ 
 
                "facebook":"string",
 
                "twitter":"string",
 
                "instagram":"string"
 
            }
 
        },
 
        "signature":"string"
 
    }
 
}
 
[[deprecated register promoter|deprecated '''''Register Promoter''''' schema]]
 
</div>
 
</div>
 
A list of Registered Promoters can be found at [[Alexandrias_Hosted_APIs#Promoters|Alexandria's hosted API endpoint]]
 
=== Autominer Register ===
 
Plaintext data, stored in a transaction comment.
 
<div class="toccolours mw-collapsible mw-collapsed">
 
To view the JSON schema for '''''Register Autominer''''', click Expand ->
 
<div class="mw-collapsible-content">
 
{
 
    "oip-041": {
 
        "autominer": {
 
            "FLOaddress": "string",
 
            "BTCaddress": "string",
 
            "endpointURL": "string",
 
            "version": 2
 
        },
 
        "signature": "string"
 
    }
 
}
 
[[deprecated register autominer|deprecated '''''Register Autominer''''' schema]]
 
</div>
 
</div>
 
A list of Registered Autominers can be found at [[Alexandrias_Hosted_APIs#Autominers|Alexandria's hosted API endpoint]]
 
=== Autominer Pool Register ===
 
Plaintext data, stored in a transaction comment. 
 
You can view information about the Register Autominer Pool Schema [[Autominer Pool Registration Message Format|here]] 
 
A list of Registered Autominer Pools can be found at [[Alexandrias_Hosted_APIs#Autominer_Pool|Alexandria's hosted API endpoint]]
 
  
== Artifact Messages ==
+
== Artifact Publish ==
 
 
=== Artifact Publish ===
 
Plaintext data, stored in one or more transaction comments, using the multipart scheme.
 
 
<div class="toccolours mw-collapsible mw-collapsed">
 
<div class="toccolours mw-collapsible mw-collapsed">
 
To view the JSON schema for '''''Artifact Publishing''''', click Expand ->  
 
To view the JSON schema for '''''Artifact Publishing''''', click Expand ->  
Line 245: Line 170:
 
</div>
 
</div>
 
A list of Published Artifacts can be found at [[Alexandrias_Hosted_APIs#Artifacts|Alexandria's hosted API endpoint]]
 
A list of Published Artifacts can be found at [[Alexandrias_Hosted_APIs#Artifacts|Alexandria's hosted API endpoint]]
=== Artifact Edit ===
+
 
 +
== Artifact Edit ==
 
<div class="toccolours mw-collapsible mw-collapsed">
 
<div class="toccolours mw-collapsible mw-collapsed">
 
To view the JSON schema for '''''Artifact Edits''''', click Expand ->  
 
To view the JSON schema for '''''Artifact Edits''''', click Expand ->  
Line 263: Line 189:
 
</div>
 
</div>
 
</div>
 
</div>
=== Artifact Transfer ===
+
 
 +
== Artifact Transfer ==
 
<div class="toccolours mw-collapsible mw-collapsed">
 
<div class="toccolours mw-collapsible mw-collapsed">
 
To view the JSON schema for '''''Artifact Transfers''''', click Expand ->  
 
To view the JSON schema for '''''Artifact Transfers''''', click Expand ->  
Line 280: Line 207:
 
</div>
 
</div>
 
</div>
 
</div>
=== Artifact Deactivate ===
+
 
 +
== Artifact Deactivate ==
 
<div class="toccolours mw-collapsible mw-collapsed">
 
<div class="toccolours mw-collapsible mw-collapsed">
 
To view the JSON schema for '''''Artifact Deactivation''''', click Expand ->  
 
To view the JSON schema for '''''Artifact Deactivation''''', click Expand ->  
Line 296: Line 224:
 
</div>
 
</div>
  
== Historian Messages ==
+
== Retailer Register ==
 +
Plaintext data, stored in a transaction comment.
 +
<div class="toccolours mw-collapsible mw-collapsed">
 +
To view the JSON schema for '''''Register Retailer''''', click Expand ->
 +
<div class="mw-collapsible-content">
 +
{
 +
    "oip-041": {
 +
        "retailer": {
 +
            "FLOaddress": "string",
 +
            "FLOaddress": "string",
 +
            "http-url": "string",
 +
            "version": 1,
 +
            "opt": {
 +
                "name": "string",
 +
                "minimum-share": int
 +
            }
 +
        },
 +
        "signature": "string"
 +
    }
 +
}
 +
[[deprecated register retailer|deprecated '''''Register Retailer''''' schema]]
 +
</div>
 +
</div>
 +
A list of Registered Retailers can be found at [[Alexandrias_Hosted_APIs#Retailers|Alexandria's hosted API endpoint]]
  
=== Historian Datapoint ===
+
== Promoter Register ==
 +
<div class="toccolours mw-collapsible mw-collapsed">
 +
To view the JSON schema for '''''Register Promoter''''', click Expand ->
 +
<div class="mw-collapsible-content">
 +
 +
    "oip-041":{ 
 +
        "promoter":{ 
 +
            "BTCaddress":"string",
 +
            "LTCaddress":"string",
 +
            "FLOaddress":"string",
 +
            "version":1,
 +
            "social":{ 
 +
                "facebook":"string",
 +
                "twitter":"string",
 +
                "instagram":"string"
 +
            }
 +
        },
 +
        "signature":"string"
 +
    }
 +
}
 +
[[deprecated register promoter|deprecated '''''Register Promoter''''' schema]]
 +
</div>
 +
</div>
 +
A list of Registered Promoters can be found at [[Alexandrias_Hosted_APIs#Promoters|Alexandria's hosted API endpoint]]
 +
 
 +
== Autominer Register ==
 +
<div class="toccolours mw-collapsible mw-collapsed">
 +
To view the JSON schema for '''''Register Autominer''''', click Expand ->
 +
<div class="mw-collapsible-content">
 +
{
 +
    "oip-041": {
 +
        "autominer": {
 +
            "FLOaddress": "string",
 +
            "BTCaddress": "string",
 +
            "endpointURL": "string",
 +
            "version": 2
 +
        },
 +
        "signature": "string"
 +
    }
 +
}
 +
[[deprecated register autominer|deprecated '''''Register Autominer''''' schema]]
 +
</div>
 +
</div>
 +
A list of Registered Autominers can be found at [[Alexandrias_Hosted_APIs#Autominers|Alexandria's hosted API endpoint]]
 +
 
 +
== Autominer Pool Register ==
 +
You can view information about the Register Autominer Pool Schema [[Autominer Pool Registration Message Format|here]] 
 +
A list of Registered Autominer Pools can be found at [[Alexandrias_Hosted_APIs#Autominer_Pool|Alexandria's hosted API endpoint]]
 +
 
 +
 
 +
= Historian Messages =
 +
 
 +
== Historian Datapoint ==
 
Plaintext data, stored in the block reward (coinbase) transaction comment.
 
Plaintext data, stored in the block reward (coinbase) transaction comment.
 
<div class="toccolours mw-collapsible mw-collapsed">
 
<div class="toccolours mw-collapsible mw-collapsed">
Line 317: Line 320:
 
</div>
 
</div>
 
</div>
 
</div>
=== Historian Block Reward ===
+
== Historian Block Reward ==
 
+
Plaintext data, stored in a transaction comment. [[Historian Block Reward Message Format]]
Plaintext data, stored the transaction comments. [[Historian Block Reward Message Format]]
 

Revision as of 01:33, 3 January 2018

Register/Publish Edit Transfer Control Deactivate
Publishers Publisher Register Publisher Edit
Artifacts Artifact Publish Artifact Edit Artifact Transfer Artifact Deactivate
Retailers Retailer Register Retailer Edit
Promoters Promoter Register Promoter Edit
Autominers Autominer Register Autominer Edit
Autominer Pools Autominer Pool Register Autominer Pool Edit

Multipart Messages

All of the below blockchain messages are stored as plaintext in one or more transaction comments. If the total message length is larger than the 528 byte tx-comments currently supported by Florincoin, then the message will be split up into a Multipart message.

You can find information on how Multipart messages are formed here.

Publisher Register

To view the JSON schema for Publisher Register, click Expand ->

{
    "oip-041": {
        "pub": {
            "alias": "$PublisherAlias",
            "address": "$PublisherAddress",
            "timestamp": $UnixTime,
            "info": {
                "emailmd5": "$md5HashOfEmail",
                "avatarNetwork": "$IPFSorBittorrentorHTTP"
                "avatar": "$NetworkAddressOfAvatarImage
                "bitmessage": "$bitmessageAddress",
                },
            "verification": {
                "IMDB": "$IMDBArtistUrl",
                "MusicBrainz": "$MusicBrainzArtistURL",
                "Twitter": "$TwitterVerificationURL",
                "Facebook": $FacebookVerificationURL"
                }
            },
        "signature": "$RegisterPublisherSignature"
    }
}

deprecated Publisher Register schema

A list of Registered Publishers can be found at Alexandria's hosted API endpoint

Publisher Edit

To view the JSON schema for Publisher Edit, click Expand ->

{
    "oip-041": {
        "editPub": {
            "txid": "string",
            "timestamp": int,
            "patch": {
                // Squashed Edit of JSON Patch Schema https://tools.ietf.org/html/rfc6902
            }
        }
    },
    "signature": "string"
}

Artifact Publish

To view the JSON schema for Artifact Publishing, click Expand ->

{
    "oip-041":{
        "artifact":{
            "publisher": "string",
            "timestamp": 10 digit int,
            "type": "string",
            "info":{
                "title": "string",
                "description": "string",
                "year": 4 digit int,
                "extraInfo":{
                    "artist": "string",
                    "company": "string",
                    "tags":[
                        "string",
                        "string"
                        ]
                    }
                },
            "payment":{
                "fiat": "string",
                "scale": int,
                "sugTip":[
                    int,
                    int,
                    int
                    ],
                "addresses": {
                    "three letter string":"string",
                    "three letter string":"string"
                },
                "tokens": {
                    "STRING": int,
                    "STRING": int
                }
                },
            "storage":{
                "network": "string",
                "location": "string,
                "files":[
                    {
                        "disBuy": boolean,
                        "disPlay": boolean,
                        "dName": "string",
                        "duration": int,
                        "fName": "string",
                        "fSize": int,
                        "sugPlay": "int",
                        "minPlay": "int",
                        "sugBuy": "int",
                        "minBuy": "int",
                        "disPer": "int",
                        "promo": "int",
                        "retail": "int",
                        "ptpFT": int,
                        "ptpDT": int,
                        "ptpDA": int,
                        "type": "string",
                        "tokenlyID": "string"
                    }
                },
            "signature": "string"
        }
}

A list of Published Artifacts can be found at Alexandria's hosted API endpoint

Artifact Edit

To view the JSON schema for Artifact Edits, click Expand ->

{
    "oip-041": {
        "editArtifact": {
            "txid": "string",
            "timestamp": int,
            "patch": {
                // Squashed Edit of JSON Patch Schema https://tools.ietf.org/html/rfc6902
            }
        }
    },
    "signature": "string"
}

Artifact Transfer

To view the JSON schema for Artifact Transfers, click Expand ->

{
    "oip-041": {
    "transferArtifact": {
        "txid": "string",
            "to": "string",
            "from": "string",
            "timestamp": int
        },
        "signature": "string"
    }
}

Artifact Deactivate

To view the JSON schema for Artifact Deactivation, click Expand ->

{
    "oip-041": {
        "deactivateArtifact": {
            "txid": "string",
            "timestamp": int
        },
        "signature": "string"
    }
}

Retailer Register

Plaintext data, stored in a transaction comment.

To view the JSON schema for Register Retailer, click Expand ->

{
    "oip-041": {
        "retailer": {
            "FLOaddress": "string",
            "FLOaddress": "string",
            "http-url": "string",
            "version": 1,
            "opt": {
                "name": "string",
                "minimum-share": int
            }
        },
        "signature": "string"
    }
}

deprecated Register Retailer schema

A list of Registered Retailers can be found at Alexandria's hosted API endpoint

Promoter Register

To view the JSON schema for Register Promoter, click Expand ->

{  
    "oip-041":{  
        "promoter":{  
            "BTCaddress":"string",
            "LTCaddress":"string",
            "FLOaddress":"string",
            "version":1,
            "social":{  
                "facebook":"string",
                "twitter":"string",
                "instagram":"string"
            }
        },
        "signature":"string"
    }
}

deprecated Register Promoter schema

A list of Registered Promoters can be found at Alexandria's hosted API endpoint

Autominer Register

To view the JSON schema for Register Autominer, click Expand ->

{
    "oip-041": {
        "autominer": {
            "FLOaddress": "string",
            "BTCaddress": "string",
            "endpointURL": "string",
            "version": 2
        },
        "signature": "string"
    }
}

deprecated Register Autominer schema

A list of Registered Autominers can be found at Alexandria's hosted API endpoint

Autominer Pool Register

You can view information about the Register Autominer Pool Schema here A list of Registered Autominer Pools can be found at Alexandria's hosted API endpoint


Historian Messages

Historian Datapoint

Plaintext data, stored in the block reward (coinbase) transaction comment.

Historian Block Reward

Plaintext data, stored in a transaction comment. Historian Block Reward Message Format