Skip to content

Commit 0e9c8f2

Browse files
committed
Update README.md
1 parent 7821adf commit 0e9c8f2

File tree

1 file changed

+21
-16
lines changed

1 file changed

+21
-16
lines changed

README.md

+21-16
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,42 @@
11

22
# redux-scuttlebutt
33

4-
<!--
5-
Self-replicating, self-ordering log of actions shared between all clients.
6-
Using the power behind redux's hot reloading and time travel, your client
7-
dispatches actions itself and so does every other client, they share the state,
8-
and it all just works.
9-
-->
4+
Self-replicating, self-ordering log of actions shared between peers.
5+
Using the power of time travel enabled by redux, your application
6+
dispatches and receives actions between its connected peers, creating an
7+
eventually consistent shared state.
108

119
## scuttlebutt
1210

1311
> This seems like a silly name, but I assure you, this is real science.
1412
> [dominictarr/scuttlebutt](https://github.com/dominictarr/scuttlebutt)
1513
1614
Efficient peer to peer reconciliation. We use it as the underlying
17-
protocol to share dispatched redux actions among peers, and eventually agree on
18-
their order in time. As actions from the past arrive, we replay history as if
19-
they had always existed.
15+
protocol to share actions among peers, and to eventually agree on
16+
their logical order. When we encounter actions with a (one or more
17+
actions ago), we rewind and replay history in the correct order.
2018

21-
A sample "server" peer is included, which might sync state changes to a
22-
database, write a persistent log, or manage system/world/NPC actors.
19+
For more about the protocol, read the
20+
[Scuttlebutt paper](http://www.cs.cornell.edu/home/rvr/papers/flowgossip.pdf).
2321

24-
While it works great in a traditional client-server set up, you can flexibly
25-
upgrade/downgrade to peer-to-peer connections, go offline for minutes or days,
26-
and changes will sync when you next connect to another scuttlebutt instance.
22+
## use
23+
24+
Add the store enhancer to your existing redux application and connect to a
25+
scuttlebutt peer. Peers will gossip and reconciliate any actions (received
26+
or dispatched) with all their connected peers.
27+
A sample "server" peer is included which could be extended to sync state changes
28+
with a database, write a persistent log, or manage system/world/bot actors.
29+
30+
While it works great in a traditional client-server set up, you could flexibly
31+
upgrade/downgrade to peer-to-peer connections. The protocol supports going offline
32+
for any amount of time, and any changes will sync when you next connect to another
33+
scuttlebutt instance.
2734

2835
Note, by default, scuttlebutt itself does not make any guarantees of security or
2936
identity: peer `Bob` is able to lie to `Jane` about `Amy`'s actions. Security
3037
guarantees can added using the [`signAsync` and `verifyAsync`](#signasync--verifyasync)
3138
dispatcher options.
3239

33-
For more, read the [Scuttlebutt paper](http://www.cs.cornell.edu/home/rvr/papers/flowgossip.pdf).
34-
3540
## dispatcher
3641

3742
`Dispatcher` is our Scuttlebutt model. It handles remote syncing of local

0 commit comments

Comments
 (0)