Skip to content

Commit

Permalink
Docs improvements (#184)
Browse files Browse the repository at this point in the history
Hello
I fixed some minor typos,
Hope it helps.
Br,
Tudor.
  • Loading branch information
tudorpintea999 authored Dec 11, 2024
1 parent 7f17a50 commit abaa8e5
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 5 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## Getting Started

Farcaster is a protocol for building decentralized social apps. This repository contains the technical specification for implementing Farcaster.
Farcaster is a protocol for building decentralized social apps. This repository contains the technical specifications for implementing Farcaster.

If you are instead looking for:

Expand Down
2 changes: 1 addition & 1 deletion docs/OVERVIEW.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ Hubs need to synchronize message-graphs across thousands of instances to achieve

Using CRDTs to encode these rules allows message-graphs to achieve consensus without coordination. Users can send updates to many hubs via different apps, and their state will eventually converge. Each message type has a CRDT, which compares incoming messages by resource id to catch conflicts. Last-write-wins rules combined with the timestamp-hash ordering allow for deterministic conflict resolution.

Message-graph CRDTs ensure that operations are commutative, associative, and idempotent while never moving causally backward. Each CRDT has a state $S$ and a merge function $merge(m, S)$ which accepts a message returns a new state $S' >= S$. Such CRDTs are called anonymous delta-state CRDTs[^delta-state] and can sync by comparing missing messages.
Message-graph CRDTs ensure that operations are commutative, associative, and idempotent while never moving causally backward. Each CRDT has a state $S$ and a merge function $merge(m, S)$ which accepts a message and returns a new state $S' >= S$. Such CRDTs are called anonymous delta-state CRDTs[^delta-state] and can sync by comparing missing messages.

Users must only be able to add a limited amount of data to CRDTs. Otherwise, a Hub becomes impractical to operate affecting the network's decentralization. CRDT's solve this by imposing per-user size limits and evicting messages with the lowest order. Time limits can also be imposed to reduce network size by evicting messages with timestamps older than the cutoff.

Expand Down
6 changes: 3 additions & 3 deletions docs/SPECIFICATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Version: `2023.11.15`

# 1. Smart Contracts

There are a set of 3 contracts that keep track of account ids (fids), keys for the fids and the storage allocated to the fids.
There is a set of 3 contracts that keep track of account ids (fids), keys for the fids and the storage allocated to the fids.

## 1.1 Id Registry

Expand Down Expand Up @@ -278,7 +278,7 @@ message CastAddBody {
};
string text = 4; // Text of the cast
repeated uint32 mentions_positions = 5; // Byte positions of the mentions in the text
repeated Embed embeds = 6; // URIs or CastIds to embedded in the cast
repeated Embed embeds = 6; // URIs or CastIds to be embedded in the cast
}
Expand Down Expand Up @@ -416,7 +416,7 @@ A Link is a relationship between two users which can be one of several types. Li
```protobuf
message LinkBody {
string type = 1;
optional uint32 displayTimestamp = 2; // If set, clients should use this as the follow create time
optional uint32 displayTimestamp = 2; // If set, clients should use this as the following create time
oneof target {
uint64 fid = 3;
}
Expand Down

0 comments on commit abaa8e5

Please sign in to comment.