Mark WIP parts as WIP
This commit is contained in:
parent
e7bbdf8e90
commit
dd3c4614d6
|
@ -365,7 +365,8 @@ ideas at `contact at vaporsoft.xyz`. I will reply to all messages.
|
||||||
|
|
||||||
Check out the following links:
|
Check out the following links:
|
||||||
|
|
||||||
|
* (WIP) [Developer Docs and Specification](dev_docs.md)
|
||||||
|
* (WIP) [Message Format Specification](message_format.md)
|
||||||
* [Frequently Asked Questions](faq.md)
|
* [Frequently Asked Questions](faq.md)
|
||||||
* [Roadmap](roadmap.md)
|
* [Roadmap](roadmap.md)
|
||||||
* [Developer Docs and Specification](dev_docs.md)
|
|
||||||
* [Ideas and Features](ideas.md)
|
* [Ideas and Features](ideas.md)
|
||||||
|
|
26
dev_docs.md
26
dev_docs.md
|
@ -6,17 +6,17 @@ In their most simple form, Pigeon protocol messages are just ASCII text document
|
||||||
Below is an example of such a message:
|
Below is an example of such a message:
|
||||||
|
|
||||||
```
|
```
|
||||||
author @MF312A76JV8S1XWCHV1XR6ANRDMPAT2G5K8PZTGKWV354PR82CD0.ed25519
|
author USER.4CZHSZAH8473YPHP1F1DR5ZVCRKEA4Q0BY18NMXYE14NZ0XV2PGG
|
||||||
|
depth 123
|
||||||
kind weather_report
|
kind weather_report
|
||||||
prev %ZV85NQS8B1BWQN7YAME1GB0G6XS2AVN610RQTME507DN5ASP2S6G.sha256
|
lipmaa TEXT.7ZKXANAAM31R9AMHMBVGP9Q5BF5HSCP557981VQHBTRYETGTGAK0
|
||||||
depth 3
|
prev TEXT.E90DY6RABDQ2CJPVQHYQDYH6N7Q46SZKQ0AQ76J6D684HYBRKE4G
|
||||||
lipmaa 2
|
|
||||||
|
|
||||||
temperature:"22.0C"
|
temperature:"22.0C"
|
||||||
webcam_photo:&FV0FJ0YZADY7C5JTTFYPKDBHTZJ5JVVP5TCKP0605WWXYJG4VMRG.sha256
|
webcam_photo:FILE.FV0FJ0YZADY7C5JTTFYPKDBHTZJ5JVVP5TCKP0605WWXYJG4VMRG
|
||||||
weather_reported_by:@0DC253VW8RP4KGTZP8K5G2TAPMDRNA6RX1VHCWX1S8VJ67A213FM.ed25519
|
weather_reported_by:USER.GGP2VX0ZN41EYXMN81YB0Q4AEKRCVZ5RD1F1PHPY3748HAZSHZC4
|
||||||
|
|
||||||
signature JSPJJQJRVBVGV52K2058AR2KFQCWSZ8M8W6Q6PB93R2T3SJ031AYX1X74KCW06HHVQ9Y6NDATGE6NH3W59QY35M58YDQC5WEA1ASW08.sig.ed25519
|
signature JSPJJQJRVBVGV52K2058AR2KFQCWSZ8M8W6Q6PB93R2T3SJ031AYX1X74KCW06HHVQ9Y6NDATGE6NH3W59QY35M58YDQC5WEA1ASW08
|
||||||
```
|
```
|
||||||
|
|
||||||
The specifics of the message format are explained line-by-line [in the message format explanation document](message_format.md).
|
The specifics of the message format are explained line-by-line [in the message format explanation document](message_format.md).
|
||||||
|
@ -48,7 +48,7 @@ Here is an example of the contents of a `messages.pgn` file:
|
||||||
|
|
||||||
```
|
```
|
||||||
author @RZW2HE8MQFRH93NP3YKWC1QGZ6VWDZW1WZPMEKQ5MP0NM6TE54W0.ed25519
|
author @RZW2HE8MQFRH93NP3YKWC1QGZ6VWDZW1WZPMEKQ5MP0NM6TE54W0.ed25519
|
||||||
kind &ET9C7B9N82XR0F021CXEWSPDH23H4CHMX866WWA3R2PXEFZM67PG.sha256
|
kind FILE.FV0FJ0YZADY7C5JTTFYPKDBHTZJ5JVVP5TCKP0605WWXYJG4VMRG
|
||||||
prev NONE
|
prev NONE
|
||||||
depth 0
|
depth 0
|
||||||
lipmaa 0
|
lipmaa 0
|
||||||
|
@ -63,7 +63,7 @@ prev %XKB8MVA3AZZAG1D29AHPG33G2T8BWAGRKJ0DJ4H01MGPM5R9Y3RG.sha256
|
||||||
depth 1
|
depth 1
|
||||||
lipmaa 0
|
lipmaa 0
|
||||||
|
|
||||||
&7Z2CSZKMB1RE5G6SKXRZ63ZGCNP8VVEM3K0XFMYKETRDQSM5WBSG.sha256:"b"
|
FILE.FV0FJ0YZADY7C5JTTFYPKDBHTZJ5JVVP5TCKP0605WWXYJG4VMRG:"b"
|
||||||
|
|
||||||
signature 5Y8KQVMJ0BADEPWZEXSMYYVMVE5JYQ0069RQ4S80CT9GA64KCRVTWYSK3V728J024916P9SVZ62W9HVZ189C6PANHWD23T07C779P2R.sig.ed25519
|
signature 5Y8KQVMJ0BADEPWZEXSMYYVMVE5JYQ0069RQ4S80CT9GA64KCRVTWYSK3V728J024916P9SVZ62W9HVZ189C6PANHWD23T07C779P2R.sig.ed25519
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@ prev %5N0KJN0TSWRVMXY3JF0FAJRXXDB1AHT9YXBTKE2V7H98GKQND4PG.sha256
|
||||||
depth 2
|
depth 2
|
||||||
lipmaa 1
|
lipmaa 1
|
||||||
|
|
||||||
b:&HDDSVC617PS44NP856N3CJN91HPJXEHHHE93595BJC9VJN6KANFG.sha256
|
b:FILE.FV0FJ0YZADY7C5JTTFYPKDBHTZJ5JVVP5TCKP0605WWXYJG4VMRG
|
||||||
|
|
||||||
signature 7XSFRS28B5T6GN0XEYAASFQQAJG9YTVNSXQY0JD8XHYHPQVNK2VSH081PS9CNPNKEAEJGEPXZR6GSZ21SV1HTKQ7R3SZ49P8PHRER18.sig.ed25519
|
signature 7XSFRS28B5T6GN0XEYAASFQQAJG9YTVNSXQY0JD8XHYHPQVNK2VSH081PS9CNPNKEAEJGEPXZR6GSZ21SV1HTKQ7R3SZ49P8PHRER18.sig.ed25519
|
||||||
|
|
||||||
|
@ -113,9 +113,9 @@ Example:
|
||||||
a user exports a bundle that contains a few messages and the following blobs:
|
a user exports a bundle that contains a few messages and the following blobs:
|
||||||
|
|
||||||
```
|
```
|
||||||
&622PRNJ7C0S05XR2AHDPKWMG051B1QW5SXMN2RQHF2AND6J8VGPG.sha256
|
FILE.FV0FJ0YZADY7C5JTTFYPKDBHTZJ5JVVP5TCKP0605WWXYJG4VMRG
|
||||||
&FV0FJ0YZADY7C5JTTFYPKDBHTZJ5JVVP5TCKP0605WWXYJG4VMRG.sha256
|
FILE.FV0FJ0YZADY7C5JTTFYPKDBHTZJ5JVVP5TCKP0605WWXYJG4VMRG
|
||||||
&YPF11E5N9JFVB6KB1N1WDVVT9DXMCHE0XJWBZHT2CQ29S5SEPCSG.sha256
|
FILE.FV0FJ0YZADY7C5JTTFYPKDBHTZJ5JVVP5TCKP0605WWXYJG4VMRG
|
||||||
```
|
```
|
||||||
|
|
||||||
Assuming the user's client follows this specification, the exported bundles strucutre would be laid out as follows on the local filesystem:
|
Assuming the user's client follows this specification, the exported bundles strucutre would be laid out as follows on the local filesystem:
|
||||||
|
|
4
faq.md
4
faq.md
|
@ -25,7 +25,3 @@
|
||||||
# Is This a Blockchain?
|
# Is This a Blockchain?
|
||||||
|
|
||||||
It's different than a block chain despite some similarity. A global blockchain is a singleton, and Pigeon has no singletons. Each Pigeon node maintains their own feed of messages rather than sharing a global feed. When you trust a peer, you agree to replicate their feed. You also replicate the feed of their peers. Unlike a blockchain, there are many feeds (rather than one) and they do not require consensus or coordination to coexist. Additionally, forking of feeds is not supported by Pigeon.
|
It's different than a block chain despite some similarity. A global blockchain is a singleton, and Pigeon has no singletons. Each Pigeon node maintains their own feed of messages rather than sharing a global feed. When you trust a peer, you agree to replicate their feed. You also replicate the feed of their peers. Unlike a blockchain, there are many feeds (rather than one) and they do not require consensus or coordination to coexist. Additionally, forking of feeds is not supported by Pigeon.
|
||||||
|
|
||||||
# Up Next
|
|
||||||
|
|
||||||
Continue to [Developer Docs and Specification](DEV_DOCS.md)
|
|
|
@ -5,19 +5,48 @@ In the test that follows, we will explore a pigeon message line-by-line.
|
||||||
The example message is shown in its entirety below:
|
The example message is shown in its entirety below:
|
||||||
|
|
||||||
```
|
```
|
||||||
author @MF312A76JV8S1XWCHV1XR6ANRDMPAT2G5K8PZTGKWV354PR82CD0.ed25519
|
author USER.4CZHSZAH8473YPHP1F1DR5ZVCRKEA4Q0BY18NMXYE14NZ0XV2PGG
|
||||||
|
depth 123
|
||||||
kind weather_report
|
kind weather_report
|
||||||
prev %ZV85NQS8B1BWQN7YAME1GB0G6XS2AVN610RQTME507DN5ASP2S6G.sha256
|
lipmaa TEXT.7ZKXANAAM31R9AMHMBVGP9Q5BF5HSCP557981VQHBTRYETGTGAK0
|
||||||
depth 3
|
prev TEXT.E90DY6RABDQ2CJPVQHYQDYH6N7Q46SZKQ0AQ76J6D684HYBRKE4G
|
||||||
lipmaa 2
|
|
||||||
|
|
||||||
temperature:"22.0C"
|
temperature:"22.0C"
|
||||||
webcam_photo:&FV0FJ0YZADY7C5JTTFYPKDBHTZJ5JVVP5TCKP0605WWXYJG4VMRG.sha256
|
webcam_photo:FILE.FV0FJ0YZADY7C5JTTFYPKDBHTZJ5JVVP5TCKP0605WWXYJG4VMRG
|
||||||
weather_reported_by:@0DC253VW8RP4KGTZP8K5G2TAPMDRNA6RX1VHCWX1S8VJ67A213FM.ed25519
|
weather_reported_by:USER.GGP2VX0ZN41EYXMN81YB0Q4AEKRCVZ5RD1F1PHPY3748HAZSHZC4
|
||||||
|
|
||||||
signature JSPJJQJRVBVGV52K2058AR2KFQCWSZ8M8W6Q6PB93R2T3SJ031AYX1X74KCW06HHVQ9Y6NDATGE6NH3W59QY35M58YDQC5WEA1ASW08.sig.ed25519
|
signature JSPJJQJRVBVGV52K2058AR2KFQCWSZ8M8W6Q6PB93R2T3SJ031AYX1X74KCW06HHVQ9Y6NDATGE6NH3W59QY35M58YDQC5WEA1ASW08
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Pigeon Multihashes and Data Types
|
||||||
|
|
||||||
|
Pigeon has 4 data types:
|
||||||
|
|
||||||
|
* Message multihash
|
||||||
|
* Blob multihash
|
||||||
|
* User multihash
|
||||||
|
* String
|
||||||
|
|
||||||
|
### Parts of a Message
|
||||||
|
|
||||||
|
The three parts of a Pigeon message are:
|
||||||
|
|
||||||
|
1. Header: Data that is used by the _protocol_
|
||||||
|
2. Body: Data that is used by the _user or application_
|
||||||
|
3. Footer: Cryptographic signature to prevent tampering or forgery.
|
||||||
|
|
||||||
|
The parts of a message must follow the order specified.
|
||||||
|
|
||||||
|
### Parts of a Header
|
||||||
|
|
||||||
|
A header is the first part of a message and contains 5 subsections:
|
||||||
|
|
||||||
|
1. `author`: A
|
||||||
|
1. `depth`:
|
||||||
|
1. `kind`:
|
||||||
|
1. `lipmaa`:
|
||||||
|
1. `prev`:
|
||||||
|
|
||||||
### Line 1: `Author`
|
### Line 1: `Author`
|
||||||
|
|
||||||
EXAMPLE:
|
EXAMPLE:
|
||||||
|
|
|
@ -47,8 +47,3 @@ With a finalized spec and a portable client library, the next goal is to promote
|
||||||
This phase will be considered complete when there are three production-scale apps using the libraries authored. By this point, we've hopefully made a difference and helped people regain control of their data and find a new alternative to the current status-quo of "online only" computer applications.
|
This phase will be considered complete when there are three production-scale apps using the libraries authored. By this point, we've hopefully made a difference and helped people regain control of their data and find a new alternative to the current status-quo of "online only" computer applications.
|
||||||
|
|
||||||
After that, I might rename the project so that we are not tied to the legacy baggage of the prototype phase. It might be fun to apply to a grant for continued maintenance (or just lock down the feature set- it's too early to say).
|
After that, I might rename the project so that we are not tied to the legacy baggage of the prototype phase. It might be fun to apply to a grant for continued maintenance (or just lock down the feature set- it's too early to say).
|
||||||
|
|
||||||
|
|
||||||
# Up Next
|
|
||||||
|
|
||||||
Continue to the [idea bin](IDEAS.md).
|
|
Loading…
Reference in New Issue