D://
0.0.11
Bitcoin dynamic content protocol
online
https://d.onchain.ch
Block 613028
/Bitcoin SV:0.2.1(EB2000.0)/
install
pc pull 1G3BpTyEK6xF4LaQTHqdFBBaVxYHZzts4M
files
README.md
planaria.js
planarium.js
package.json
# D:// _Bitcoin dynamic content protocol_ ## Benefit A D:// transaction refers to another transaction/file and thus forms a layer which state can be overwritten. This way, referencing content via D:// links (instead of b:// or c://) has the advantage of keeping the URL while the content can change. Example B:// (**can not** be changed once set):
``
``
/
` and `D://
/
`. ### Delete A key is "removed" by updating the key with a `type` value set to NULL (`0x00`). The state of the planaria will provide the string `deleted` as "type" when a key is removed. Example: ``` OP_RETURN 19iG3WTYSsbyos3uJ733yK4zEioi1FesNU [key] NULL NULL 1 ``` #### Example Tx This is an example Website with D:// link in it: https://bico.media/0363e9addc3f5de6587b250a07c4bab00f58f54cf780aa5f0f4655a8d3e4cfa5 The image is mapped like ```
` ==> C://c808b8aa7bf72a0732d1a366d530b6ad3cdea1f25cbe075ca075dc1f55006e5e ==> B://efb301edd3a8b2270aea61cdc46bd923130a8c05245f763ff3c3c8fea1f0fc27 ``` State machine D:// tx: https://whatsonchain.com/tx/329eacb2d1ab8770ac01d2daa13a852d72282379ea26caca1729817315fb12b0 State machine Query: https://d.onchain.ch/query/1G3BpTyEK6xF4LaQTHqdFBBaVxYHZzts4M/ewogICJ2IjogMywKICAicSI6IHsKICAgICJmaW5kIjogewogICAgICAic2VuZGVyIjoiMTlpRzNXVFlTc2J5b3MzdUo3MzN5SzR6RWlvaTFGZXNOVSIsCiAgICAgICJhbGlhcyI6ImRlcl93b2xmX3VuZF9kaWVfc2llYmVuX2dlaXNsZWluLmpwZWciCiAgICB9LAogICAgImxpbWl0IjogMTAwCiAgfSwKICAiciI6IHsKICAgICJmIjogIlsuW10gfCB7IHRyYW5zYWN0aW9uOiAudHhpZCwgYmxvY2s6IC5ibGsuaSwgc2VuZGVyOiAuc2VuZGVyICwgYWxpYXM6IC5hbGlhcywgcG9pbnRlcjogLnBvaW50ZXIsY250OiAuY250LCB0eXBlOiAudHlwZSAsIHNlcTogLnNlcSAsIFwiVVJJIG92ZXIgaHR0cHNcIjogKGlmIC50eXBlID09IFwiY1wiIHRoZW4gXCJodHRwczovL2RhdGEuYml0ZGIubmV0d29yay8xS3VVcjJwU0pEYW85N1hNOEpzcTh6d0xTNlcxV3RGZkxnL2MvXFwoLnBvaW50ZXIpXCIgZWxzZSBcImh0dHBzOi8vYi5iaXRkYi5uZXR3b3JrI1xcKC5wb2ludGVyKVwiIGVuZCl9XSIKICB9Cn0= ## Referencing A D:// transaction is referenced by `D://
/
` or `bit://19iG3WTYSsbyos3uJ733yK4zEioi1FesNU/
/
` - Key must always be presented as a URL encoded string - In case the key is NULL no key is to be provided - In case no key is provided the `/` is optional - In case no key is provided, the content will tentatively be derived from the first of the following keys with an existing and none-deleted d:// transaction: 1. The key of `NULL` value (`0x00`) 2. The key `index.html` 2. The key `index.htm` ## Links - A [D:// Transactions](https://babel.bitdb.network/query/1DHDifPvtPgKFPZMRSxmVHhiPvFmxZwbfh/ewogICJ2IjogMywKICAicSI6IHsKICAgICJmaW5kIjogewogICAgICAib3V0LnMxIjogIjE5aUczV1RZU3NieW9zM3VKNzMzeUs0ekVpb2kxRmVzTlUiCiAgICB9LAogICAgImxpbWl0IjogMTAwCiAgfSwKICAiciI6IHsKICAgICJmIjogIlsuW10gfCB7IHRyYW5zYWN0aW9uOiAudHguaCwgYmxvY2s6IC5ibGssIHNlbmRlcjogLmluWzBdLmUuYSAsYXBwSUQ6IC5vdXRbMF0uczEsIGFsaWFzOiAub3V0WzBdLnMyLCBwb2ludGVyOiAub3V0WzBdLnMzLCB0eXBlOiAub3V0WzBdLnM0ICwgc2VxOiAub3V0WzBdLnM1ICxcIlVSSSBvdmVyIGh0dHBcIjogXCJodHRwczovL2RhdGEuYml0ZGIubmV0d29yay8xS3VVcjJwU0pEYW85N1hNOEpzcTh6d0xTNlcxV3RGZkxnL1xcKC5vdXRbMF0uczQpXC9cXCgub3V0WzBdLnMzKVwifV0iCiAgfQp9) - The [D:// State Machine](https://d.onchain.ch/query/1G3BpTyEK6xF4LaQTHqdFBBaVxYHZzts4M) #### Future ideas * An API that resolves D:// links to txids or an API that returns even the file data can be built. * Get a list of "files" in a directory (find all current tx with a key that starts with `xyz/` for a specific owner) * Multiple signatures to share control * X out of N signatures to share control * Support D:// piped on any type of transaction ---- _D:// was born as a brainchild of SH and @rangelWulff_
README.md