Comments (4)
@coodoo yes absolutely. scuttlebutt/model gives you a simple kv store, and https://github.com/dominictarr/r-edit gives you text editing. see the links in the readme for others.
from scuttlebutt.
each timestamp is generally considered only with respect to the node that recorded that timestamp. so the system will still be eventually consistent even if clocks are skewed.
In the case of scuttlebot/model it will take the most recently (by timestamp) value for a key. This would mean that peers with an early timestamp will win against timestamps set by other peers, However, no one has ever posted an issue saying that this is a problem.
If it was, one simple way to fix this would be to replace the timestamp with a value that was always one more than the latest update you knew about. So I make update 1, then you could make update 2. if I see that I'd make update 3 next. if I didn't see it, i'd make update 2, but that would be okay because these would be compared by our node ids and it would be apparent that we updated concurrently.
re: security, this module should really be called insecure-scuttlebutt. It would be okay if it's running behind your firewall (i.e. you control the code on all peers). I am now working a secure replication system, http://github.com/ssbc/scuttlebot/ it uses the same basic idea as scuttlebutt but has very different project goals.
from scuttlebutt.
Thanks for the detailed information, I will have a good look at secure-scuttlebutt and scuttlebot ASAP.
In the mean time, one quick question, does secure scuttlebot support the use case of letting multiple users working on one document (think google doc)? Which means everyone can edit the document event offline, and the document will eventually converge to the same state across all clients.
Thanks!
from scuttlebutt.
Yup I've been working on r-edit/r-array/scuttlebutt example for a while and finally come to an extent I'm feeling comfortable with the whole combinations, I was just about to start revising r-edit with r-string which is more granular and suits my use case better.
I was just under the impression that r-array won't work with secure-scuttlebutt/bot out of the box but seems I'm wrong :)
from scuttlebutt.
Related Issues (20)
- Very large messages getting clipped? HOT 17
- Scuttlebutt#clone requires your scuttlebutts use constructor functions, don't take arguments or require modification on an instance HOT 5
- Pub/Sub broker on top of Scuttlebutt HOT 2
- Automatic network setup HOT 3
- Handling object references HOT 7
- Syncing trees HOT 1
- how to use it with peer to peer network settings(not client server)? HOT 34
- Does scuttlebutt/events omit events? HOT 2
- Documentation , dosnt include client side code for connecting to a tcp server HOT 2
- Documentation , dosnt include client side code for connecting to a tcp server
- Prevent tampering HOT 7
- Example data structure for rich text editing HOT 8
- Integrate scuttlebutt with Meteor HOT 1
- Building a singleton P2P network for syncing Scuttlebutts? HOT 2
- Sharding HOT 1
- Data sync issue HOT 3
- Encrypted message to all friends
- There is no `sync` event on SB or Model? HOT 3
- App Crashes When Open -MACOS
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scuttlebutt.