Difference between revisions of "Blockchain Messages Format and Schemae"

From OIP Wiki
Jump to: navigation, search
(Register Publisher)
(Autominer Block Reward)
 
(47 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Registration Messages ==
+
__FORCETOC__
 +
{| class="wikitable"
 +
!
 +
!Register/Publish
 +
!Edit
 +
!Transfer Control
 +
!Deactivate
 +
!Historian
 +
|-
 +
!Publishers
 +
|[[#Publisher Register|Publisher Register]]
 +
|[[#Edit Publisher|Publisher Edit]]
 +
|
 +
|
 +
|
 +
|-
 +
!Artifacts
 +
|[[#Artifact Publish|Artifact Publish]]
 +
|[[#Artifact Edit|Artifact Edit]]
 +
|[[#Artifact Transfer|Artifact Transfer]]
 +
|[[#Artifact Deactivate|Artifact Deactivate]]
 +
|
 +
|-
 +
!Retailers
 +
|[[#Retailer Register|Retailer Register]]
 +
|[[#Retailer Edit|Retailer Edit]]
 +
|
 +
|
 +
|
 +
|-
 +
!Promoters
 +
|[[#Promoter Register|Promoter Register]]
 +
|[[#Promoter Edit|Promoter Edit]]
 +
|
 +
|
 +
|
 +
|-
 +
!Autominer Pools
 +
|[[#Autominer Pool Register|Autominer Pool Register]]
 +
|[[#Autominer Pool Edit|Autominer Pool Edit]]
 +
|
 +
|
 +
|[[Blockchain Messages Format and Schemae#Autominer Pool Historian Datapoint|Datapoint]]
 +
|-
 +
!Autominers
 +
|[[#Autominer Register|Autominer Register]]
 +
|[[#Autominer Edit|Autominer Edit]]
 +
|
 +
|
 +
|[[#Autominer Block Reward|Block Reward]]
 +
|}
  
=== Register Publisher ===
+
= Multipart Messages =
<pre>
+
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.
{
 
"oip-pub": {
 
"register": {
 
"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"
 
},
 
}
 
</pre>
 
[[deprecated register publisher]]
 
  
=== Register Promoter ===
+
You can find information on how Multipart messages are formed [[Multipart Message Format|here]].
  
=== Register Autominer ===
+
[[message protocol]]
  
=== Register Autominer Pool ===
+
== Publisher Register ==
 +
<div class="toccolours mw-collapsible mw-collapsed">
 +
To view the JSON schema for '''''Publisher Register''''', click Expand ->
 +
<div class="mw-collapsible-content">
 +
  {
 +
  "[[Variable Definitions#oip.23.23.23|oip042]]": {
 +
  "[[Variable_Definitions#register|register]]": {
 +
  "[[Variable_Definitions#pub|pub]]": {
 +
  "[[Variable_Definitions#alias|alias]]": "string",
 +
  "[[Variable_Definitions#address|address]]": "string",
 +
  "[[Variable_Definitions#timestamp|timestamp]]": integer,
 +
  "[[Variable_Definitions#authorized|authorized]]": ["string", "string"],
 +
  "extraInfo": {
 +
  "[[Variable_Definitions#emailmd5|emailmd5]]": "string",
 +
  "[[Variable_Definitions#avatarNetwork|avatarNetwork]]": "string",
 +
  "[[Variable_Definitions#avatar|avatar]]": "string",
 +
  "[[Variable_Definitions#headerImageNetwork|headerImageNetwork]]": "string",
 +
  "[[Variable_Definitions#headerImage|headerImage]]": "string",
 +
  "[[Variable_Definitions#bitmessage|bitmessage]]": "string"
 +
  },
 +
  "verification": {
 +
  "[[Variable_Definitions#IMDB|IMDB]]": "string",
 +
  "[[Variable_Definitions#MusicBrainz|MusicBrainz]]": "string",
 +
  "[[Variable_Definitions#Twitter|Twitter]]": "string",
 +
  "[[Variable_Definitions#Facebook|Facebook]]": "string"
 +
  }
 +
  },
 +
  "[[Variable_Definitions#signature|signature]]": "string"
 +
  }
 +
  }
 +
  }
 +
[[deprecated register publisher|deprecated '''''Publisher Register''''' schema]]
 +
</div>
 +
</div>
 +
A list of Registered Publishers can be found at [[Alexandrias_Hosted_APIs#Get_All_Publishers|Alexandria's hosted API endpoint]]
  
=== Register Retailer ===
+
== Publisher Edit ==
 +
<div class="toccolours mw-collapsible mw-collapsed">
 +
To view the JSON schema for '''''Publisher Edit''''', click Expand ->
 +
<div class="mw-collapsible-content">
 +
{
 +
    "[[Variable Definitions#oip.23.23.23|oip042]]": {
 +
        "[[Variable Definitions#edit|edit]]": {
 +
            "[[Variable Definitions#pub|pub]]": {
 +
                "[[Variable Definitions#address|address]]": "string",
 +
                "[[Variable Definitions#timestamp|timestamp]]": int,
 +
                "[[Variable Definitions#patch|patch]]": {
 +
                    // [[Squash Edit|Squashed Edit]] of JSON Patch Schema https://tools.ietf.org/html/rfc6902
 +
                }
 +
            }
 +
        }
 +
    },
 +
    "[[Variable Definitions#signature|signature]]": "string"
 +
}
 +
</div>
 +
</div>
  
== Artifact Messages ==
+
== Artifact Publish ==
 +
<div class="toccolours mw-collapsible mw-collapsed">
 +
To view the JSON schema for '''''Artifact Publishing''''', click Expand ->
 +
<div class="mw-collapsible-content">
 +
{
 +
    "oip-041":{
 +
        "artifact":{
 +
            "[[Specification#Publisher_Address|publisher]]": "string",
 +
            "timestamp": 10 digit int,
 +
            "[[Variable Definitions#type|type]]": "string",
 +
            "info":{
 +
                "[[Variable Definitions#title|title]]": "string",
 +
                "[[Variable Definitions#description|description]]": "string",
 +
                "[[Variable Definitions#year|year]]": 4 digit int,
 +
                "extraInfo":{
 +
                    "[[Variable Definitions#artist|artist]]": "string",
 +
                    "[[Variable Definitions#company|company]]": "string",
 +
                    "[[Variable Definitions#tags|tags]]":[
 +
                        "string",
 +
                        "string"
 +
                    ]
 +
                }
 +
            },
 +
            "payment":{
 +
                "[[Variable Definitions#fiat|fiat]]": "string",
 +
                "[[Variable Definitions#scale|scale]]": int,
 +
                "[[Variable Definitions#sugTip|sugTip]]":[
 +
                    int,
 +
                    int,
 +
                    int
 +
                    ],
 +
                "[[Variable Definitions#addresses|addresses]]": {
 +
                    "three letter string":"string",
 +
                    "three letter string":"string"
 +
                },
 +
                "[[Variable Definitions#tokens|tokens]]": {
 +
                    "STRING": int,
 +
                    "STRING": int
 +
                }
 +
            },
 +
            "storage":{
 +
                "[[Variable Definitions#network|network]]": "string",
 +
                "[[Variable Definitions#location|location]]": "string,
 +
                "files":[
 +
                    {
 +
                        "[[Variable Definitions#disBuy|disBuy]]": boolean,
 +
                        "[[Variable Definitions#disPlay|disPlay]]": boolean,
 +
                        "[[Variable Definitions#dName|dName]]": "string",
 +
                        "[[Variable Definitions#duration|duration]]": int,
 +
                        "[[Variable Definitions#fName|fName]]": "string",
 +
                        "[[Variable Definitions#fSize|fSize]]": int,
 +
                        "[[Variable Definitions#sugPlay|sugPlay]]": "int",
 +
                        "[[Variable Definitions#minPlay|minPlay]]": "int",
 +
                        "[[Variable Definitions#sugBuy|sugBuy]]": "int",
 +
                        "[[Variable Definitions#minBuy|minBuy]]": "int",
 +
                        "[[Variable Definitions#disPer|disPer]]": "int",
 +
                        "[[Variable Definitions#promo|promo]]": "int",
 +
                        "[[Variable Definitions#retail|retail]]": "int",
 +
                        "[[Variable Definitions#ptpFT|ptpFT]]": int,
 +
                        "[[Variable Definitions#ptpDT|ptpDT]]": int,
 +
                        "[[Variable Definitions#ptpDA|ptpDA]]": int,
 +
                        "type": "string",
 +
                        "tokenlyID": "string"
 +
                    }
 +
                ]
 +
            },
 +
        "[[Variable Definitions#signature_2|signature]]": "string"
 +
    }
 +
}
 +
</div>
 +
</div>
 +
A list of Published Artifacts can be found at [[Alexandrias_Hosted_APIs#Artifacts|Alexandria's hosted API endpoint]]
  
=== Artifact Publish ===
+
== Artifact Edit ==
 +
<div class="toccolours mw-collapsible mw-collapsed">
 +
To view the JSON schema for '''''Artifact Edits''''', click Expand ->
 +
<div class="mw-collapsible-content">
 +
{
 +
    "[[Variable Definitions#oip-041|oip-041]]": {
 +
        "[[Variable Definitions#editArtifact|editArtifact]]": {
 +
            "[[Variable Definitions#txid|txid]]": "string",
 +
            "[[Variable Definitions#timestamp|timestamp]]": int,
 +
            "[[Variable Definitions#patch|patch]]": {
 +
                // [[Squash Edit|Squashed Edit]] of JSON Patch Schema https://tools.ietf.org/html/rfc6902
 +
            }
 +
        }
 +
    },
 +
    "[[Variable Definitions#signature|signature]]": "string"
 +
}
 +
</div>
 +
</div>
  
{
+
== Artifact Transfer ==
:"oip-041":{
+
<div class="toccolours mw-collapsible mw-collapsed">
::"artifact":{
+
To view the JSON schema for '''''Artifact Transfers''''', click Expand ->
:::"[[Specification#Publisher_Address|publisher]]": "string",
+
<div class="mw-collapsible-content">
:::"timestamp": 10 digit int,
+
{
:::"[[Variable Definitions#type|type]]": "string",
+
    "[[Variable Definitions#oip-041|oip-041]]": {
:::"info":{
+
    "[[Variable Definitions#transferArtifact|transferArtifact]]": {
::::"[[Variable Definitions#title|title]]": "string",
+
        "[[Variable Definitions#txid|txid]]": "string",
::::"[[Variable Definitions#description|description]]": "string",
+
            "[[Variable Definitions#to|to]]": "string",
::::"[[Variable Definitions#year|year]]": 4 digit int,
+
            "[[Variable Definitions#from|from]]": "string",
::::"extraInfo":{
+
            "[[Variable Definitions#timestamp|timestamp]]": int
:::::"[[Variable Definitions#artist|artist]]": "string",
+
        },
:::::"[[Variable Definitions#company|company]]": "string",
+
        "[[Variable Definitions#signature|signature]]": "string"
:::::"[[Variable Definitions#tags|tags]]":[
+
    }
::::::"string",
+
}
::::::"string"
+
</div>
::::::]
+
</div>
:::::}
 
::::},
 
:::"payment":{
 
::::"[[Variable Definitions#fiat|fiat]]": "string",
 
::::"[[Variable Definitions#scale|scale]]": int,
 
::::"[[Variable Definitions#sugTip|sugTip]]":[
 
:::::int,
 
:::::int,
 
:::::int
 
:::::],
 
::::"[[Variable Definitions#addresses|addresses]]": {
 
:::::"three letter string":"string",
 
:::::"three letter string":"string"
 
::::},
 
::::"[[Variable Definitions#tokens|tokens]]": {
 
:::::"STRING": int,
 
:::::"STRING": int
 
::::}
 
::::},
 
:::"storage":{
 
::::"[[Variable Definitions#network|network]]": "string",
 
::::"[[Variable Definitions#location|location]]": "string,
 
::::"files":[
 
:::::{
 
::::::"[[Variable Definitions#disBuy|disBuy]]": boolean,
 
::::::"[[Variable Definitions#disPlay|disPlay]]": boolean,
 
::::::"dname": "$DisplayName",
 
::::::"duration": $DurationInt,
 
::::::"fname": "$FileName",
 
::::::"fsize": $fileSizeInBytes,
 
::::::"sugPlay": "$suggestedPlayPriceUSD",
 
::::::"minPlay": "$minPlayPriceUSD",
 
::::::"sugBuy": "$suggestedBuyPriceUSD",
 
::::::"minBuy": "$minBuyyPriceUSD",
 
::::::"disPer": "$disPer",
 
::::::"promo": "$PromoterCut",
 
::::::"retail": "$RetailerCut",
 
::::::"ptpFT": $pinToPlayFreeThreshold,
 
::::::"ptpDT": $pinToPlayDiscountThreshold,
 
::::::"ptpDA": $pinToPlayDiscountAmount,
 
::::::"type": "$MediaType",
 
::::::"tokenlyID": "$SongTokenlyID"
 
:::::}
 
::::},
 
:::"signature": "$IPFSAddress-$PublisherAddress-$timestamp"
 
::}
 
}
 
  
=== Artifact Edit ===
+
== Artifact Deactivate ==
<pre>
+
<div class="toccolours mw-collapsible mw-collapsed">
{
+
To view the JSON schema for '''''Artifact Deactivation''''', click Expand ->
"oip-041":{
+
<div class="mw-collapsible-content">
"editArtifact":{
+
{
"txid":"$artifactID",
+
    "[[Variable Definitions#oip-041|oip-041]]": {
"timestamp":1234567890,
+
        "[[Variable Definitions#deactivateArtifact|deactivateArtifact]]": {
"patch":{
+
            "[[Variable Definitions#txid|txid]]": "string",
"add":[
+
            "[[Variable Definitions#timestamp|timestamp]]": int
{
+
        },
"path":"/payment/tokens/mtcproducer",
+
        "[[Variable Definitions#signature|signature]]": "string"
"value":""
+
    }
}
+
}
],
+
</div>
"replace":[
+
</div>
{
 
"path":"/storage/files/3/fname",
 
"value":"birthdayepFirst.jpg"
 
},
 
{
 
"path":"/storage/files/3/dname",
 
"value":"Cover Art 2"
 
},
 
{
 
"path":"/info/title",
 
"value":"Happy Birthday"
 
},
 
{
 
"path":"/timestamp",
 
"value":1481420001
 
}
 
],
 
"remove":[
 
{
 
"path":"/payment/tokens/mtmproducer"
 
},
 
{
 
"path":"/storage/files/0/sugBuy"
 
}
 
]
 
}
 
}
 
},
 
"signature":"$txid-$MD5HashOfPatch-$timestamp"
 
}
 
</pre>
 
=== Artifact Transfer ===
 
<pre>
 
{
 
"oip-041":{
 
"transferArtifact":{
 
"txid":"$artifactID",
 
"to":"$newPublisherAddress",
 
"from":"$oldPublisherAddress",
 
"timestamp":1234567890
 
},
 
"signature":"$artifactID-$newPublisherAddress-$oldPublisherAddress-$timestamp"
 
}
 
}
 
</pre>
 
=== Artifact Deactivate ===
 
<pre>
 
{
 
"oip-041":{
 
"deactivateArtifact":{
 
"txid":"$artifactID",
 
"timestamp":1234567890
 
},
 
"signature":"$txid-$publisher-$timestamp"
 
}
 
}
 
</pre>
 
  
== 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": 2,
 +
            "extraInfo": {
 +
                "name": "string",
 +
                "minimum-share": int
 +
            },
 +
            "verification": {
 +
                "twitter": "string",
 +
                "facebook": "string"
 +
            }
 +
        },
 +
        "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": 2,
 +
            "extraInfo": {
 +
                "name": "string",
 +
                "minimum-share": int
 +
            },
 +
            "verification":{ 
 +
                "facebook":"string",
 +
                "twitter":"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]]
  
=== Historian Summary ===
+
== 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 ==
 +
<div class="toccolours mw-collapsible mw-collapsed">
 +
To view the JSON schema for '''''Register Autominer Pool''''', click Expand ->
 +
<div class="mw-collapsible-content">
 +
{
 +
    "oip-041": {
 +
        "autominerPool": {
 +
            "FLOaddress": "string",
 +
            "webURL": "string",
 +
            "PoolName": "string",
 +
            "TargetMargin": integer,
 +
            "PoolShare": integer,
 +
            "version": 2
 +
        },
 +
        "signature": "string"
 +
    }
 +
}
 +
[[Deprecated register autominer pool|deprecated '''''Register Autominer Pool''''' schema]]
 +
</div>
 +
</div>
 +
A list of Registered Autominer Pools can be found at [[Alexandrias_Hosted_APIs#Autominer_Pool|Alexandria's hosted API endpoint]]
 +
 
 +
= Historian Messages =
 +
 
 +
== Autominer Pool Historian Datapoint ==
 +
Plaintext data, stored in the block reward (coinbase) transaction comment.
 +
<div class="toccolours mw-collapsible mw-collapsed">
 +
To view the JSON schema for '''''Historian Datapoints''''', click Expand ->
 +
<div class="mw-collapsible-content">
 +
{
 +
oip-historian-2:
 +
[[pool_flo_address]]:
 +
[[results.mrr.last_10]]:
 +
[[results.mrr.last_24hr]]:
 +
[[results.pool.hashrate]]:
 +
[[results.fbd.networkhashps]]:
 +
[[results.fmd.weighted]]:
 +
[[results.ltc.price_usd]]:
 +
[[results.fmd.usd]]:
 +
[[historian-datapoint-signature]]
 +
}
 +
 
 +
{
 +
oip042Hd:
 +
pub:
 +
historypoint:
 +
[[pool_flo_address]]:
 +
[[results.mrr.last_10]]:
 +
[[results.mrr.last_24hr]]:
 +
[[results.pool.hashrate]]:
 +
[[results.fbd.networkhashps]]:
 +
[[results.fmd.weighted]]:
 +
[[results.ltc.price_usd]]:
 +
[[results.fmd.usd]]:
 +
[[historian-datapoint-signature]]
 +
}
 +
</div>
 +
</div>
 +
== Autominer Block Reward ==
 +
<div class="toccolours mw-collapsible mw-collapsed">
 +
To view the JSON schema for '''''Historian Block Reward''''', click Expand ->
 +
<div class="mw-collapsible-content">
 +
{
 +
    oip042Hb:
 +
    [[pool_flo_address]]:
 +
    [[block]]:
 +
    [[historian-blockreward-signature]]
 +
}
 +
</div>
 +
</div>

Latest revision as of 23:32, 31 January 2018

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

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.

message protocol

Publisher Register

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

 {
 	"oip042": {
 		"register": {
 			"pub": {
 				"alias": "string",
 				"address": "string",
 				"timestamp": integer,
 				"authorized": ["string", "string"],
 				"extraInfo": {
 					"emailmd5": "string",
 					"avatarNetwork": "string",
 					"avatar": "string",
 					"headerImageNetwork": "string",
 					"headerImage": "string",
 					"bitmessage": "string"
 				},
 				"verification": {
 					"IMDB": "string",
 					"MusicBrainz": "string",
 					"Twitter": "string",
 					"Facebook": "string"
 				}
 			},
 			"signature": "string"
 		}
 	}
 }

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 ->

{
    "oip042": {
        "edit": {
            "pub": {
                "address": "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": 2,
            "extraInfo": {
                "name": "string",
                "minimum-share": int
            },
            "verification": {
                "twitter": "string",
                "facebook": "string"
            }
        },
        "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": 2,
            "extraInfo": {
                "name": "string",
                "minimum-share": int
            },
            "verification":{  
                "facebook":"string",
                "twitter":"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

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

{
    "oip-041": {
        "autominerPool": {
            "FLOaddress": "string",
            "webURL": "string",
            "PoolName": "string",
            "TargetMargin": integer,
            "PoolShare": integer,
            "version": 2
        },
        "signature": "string"
    }
}

deprecated Register Autominer Pool schema

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

Historian Messages

Autominer Pool Historian Datapoint

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

Autominer Block Reward

To view the JSON schema for Historian Block Reward, click Expand ->