git ssb

1+

kieran / horcrux-schemas-and-thoughts



Branch:
Kieran committed test invite flumeViewLatest: 0bebd57 on 4/17/2018, 2:35:26 AM
📄.gitignore
📄README.md
📁assets
📄index.js
📄package.json
📁schemas
📁test
README.md

Sharding Abaddon's Soul

Abaddon the Despoiler

Important

Event Flow

Invitee Response Secret Shard
Khan Accepted 8019f3e33db69e5ef15288ad22ce231f357e03bb1fd7c2cda17eb0b898d9b29efef1829a909769238ce27
Dan Accepted 802b19843774fa19badbf25224a2df7fcd1280bd2a788d166aca3a0c9457e61ee73a0a86b44076589ed8c
Jak Rejected N/A
Al Accepted 8032fa602ac434418b8feaf9f66bfc67c86ad30075ad4fdd9bb20ab34c8c5486f9cd781a64d10f7d323ca
Smeggy Never Responded N/A
Leggy Accepted 804029ae6b9f99a086195fa5ddc479d025e8aff114e2da1fe7784bf669f480e351c688260cd90a7c86a3f
Bob Accepted 8059ca4a762f57f8b74d470e0f0d5ac82090fc4c4b3718d416007b49b12f327b4f31fabadc4873592a479

1. Invitations

Abaddon the Despoiler selects a list of his best reavers from his Chaos Army.

Abaddon hits confirm and the invitations send.

What does this do?

Therefore

All of Abaddon's different secret sharing root events can be summoned using:

api.secrets.root.get(callback)
api.secrets.root.stream()

Invites can be viewed through the API and a FlumeView... something along the lines of:

api.secrets.invites.get(rootId, callback)
api.secrets.invites.stream(rootId)

NOTE: Responses are not needed? Can it not be simply a branch of the invite with accept: true. The flume view could then sort that?

2. Responses

Each ally recieves a secret_invite and, if they're a dependable evil ally, they can send back a secret_response to either accept or reject the trust that Abaddon has placed in them. If they're not a regular scuttler, its likely they might not respond in time before Abaddon makes his final decision to share his soul.

What does this do?

api.secrets.responses.get(rootId, callback)
api.secrets.responses.stream(rootId)

3. Trustees

Abaddon decides its time to proceed with his super evil plan and shard his soul...

I now have enough super evil allies. I can split my soul into pieces and give them each a piece so I can become immortal. Muhahahahaaa...

What does this do?

Therefore

api.secrets.trustees.get(rootId, callback)
api.secrets.trustees.stream(rootId)

Questions

4. Secrets

Immediately after Abaddon has confirmed the sharding of his soul, and the trustees log has been created, each member of the trustees will be gossiped a private message detailing their own shard. The author is Abaddon and the recipient

What does this do?

api.secrets.pieces.get(rootId, callback)
api.secrets.pieces.stream(rootId)

// Needs more thought... Should the trustees know the root? Do they need to?

Note:

Built with git-ssb-web