Commit 01848051f7ae17dff5c454e94d433a5c61d76dfa
better description of how user invites work
Dominic Tarr committed on 12/14/2018, 1:12:19 AMParent: e78f3103aca1ae4bdbffcd9ed957553ccb2b394a
Files changed
README.md | changed |
README.md | ||
---|---|---|
@@ -13,20 +13,28 @@ | ||
13 | 13 … | * sometimes pubs failed to follow back. |
14 | 14 … | * some pubs more inviting than others "too open" |
15 | 15 … | * hard to tell if growth was word of mouth or not |
16 | 16 … | |
17 | -## solution: user-invites | |
17 … | +## user invites - how it works | |
18 | 18 … | |
19 | -These are invites created directly by _users_ to directly | |
20 | -invite _one_ new person. | |
19 … | +host (user creating the invite) generates a _seed_, and publishes an invitation | |
20 … | +message (`type:'user-invite'`) for their guest (new user, receiving the invite) | |
21 … | +The message may contain both a private and a reveal section. | |
22 … | +(private section is only readably be the guest, but reveal is published | |
23 … | +if they guest accepts the invite). | |
21 | 24 … | |
22 | -* host user creates invite, publishes stub, sends invite to guest | |
23 | -* guest connects to pub, requests invite message, which contains host identity. | |
24 | -* guest publishes accept message | |
25 | -* guest passes accept message to pub directy | |
26 | -* pub now replicates guest, considering them friend of host, and publishes a "confirm" containing the accept message. | |
27 | -* other peers can strongly link invite with accept via confirm. | |
25 … | +The host then checks for peers that have a public address and follow them. | |
26 … | +The host provides the guest with the `seed` the invite message id, and | |
27 … | +a short list of [pub addresse](http://github.com/ssbc/ssb-device-address) that may process the invite. | |
28 | 28 … | |
29 … | +The guest accepting the invite is a two step process. First they use the | |
30 … | +seed and the pub addresses to connect to a pub and request the invite message. | |
31 … | +Here they may read a private message from their host, as well as see what will | |
32 … | +be revealed once they accept. If they accept, they publish a accept message | |
33 … | +on their own feed (`type: 'user-invite/accept'`), and then pass that to the pub, | |
34 … | +who then publishes a confirm message (`type: user-invite/confirm'`). | |
35 … | +Now peers who replicate the pub's feed can see the guest has arrived. | |
36 … | + | |
29 | 37 … | ## example |
30 | 38 … | |
31 | 39 … | Alice wishes to invite Bob to her corner of the ssb |
32 | 40 … | network. But she is does not have a pub server. |
@@ -143,4 +151,9 @@ | ||
143 | 151 … | ## License |
144 | 152 … | |
145 | 153 … | MIT |
146 | 154 … | |
155 … | + | |
156 … | + | |
157 … | + | |
158 … | + | |
159 … | + |
Built with git-ssb-web