blockprotocol
OctoBase
Our great sponsors
blockprotocol | OctoBase | |
---|---|---|
3 | 3 | |
1,330 | 1,107 | |
1.3% | 7.7% | |
8.2 | 9.2 | |
13 days ago | 3 months ago | |
TypeScript | Rust | |
GNU General Public License v3.0 or later | GNU Affero General Public License v3.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
blockprotocol
-
Learning HTML was too hard so I made a compiler instead
Relevant to this conversation, I saw Joel Spolsky giving a talk about his new big project/stab at addressing this problem The Block Protocol.
-
The Block Protocol
1) The spec says that a block package includes its source code, and the block hub seems to be a browser of block packages, but it doesn't give me the full view into said block packages. Is there a reason for this? Is it on the to-do list?
It's on the to-list indeed - we are going to add links to the source of blocks. The package for distribution will typically be minified and less illuminating, although we can look to expose that too (as well as making it available for request via the API).
2) What's going on with the type signatures here?
The type signatures on functions in the spec definitely need cleaning up to be consistent and more helpful. They are pseudo-code. There are TypeScript types for them (https://github.com/blockprotocol/blockprotocol/blob/main/pac...) which won't be much use to you, but I am including in case they are of someone else.
The schema you mention in the Hub is autogenerated from the TypeScript interface for the block, which can lead to weird artefacts of the sort you identify. We need to add custom codegen to better handle this. It should valid JSON Schema.
OctoBase
- OctoBase: Local-first, collaborative data engine written in Rust
-
CRDT Papers
Octobase is a new CRDT back-end data synchronizer written in Rust that I am evaluating for a project.
It seems quite practical for multi-player document editing and collaboration.
Currently AGPLv3 licensed but is apparently changing to MPLv2 once fully stable, as per the License section on the GitHub readme
https://github.com/toeverything/OctoBase
-
Meet OctoBase - AFFiNE's local-first, collaborative open-source database!
Would love you guys to check it out. If you want to reach out to the developers you can find the Technical Discussion | AFFiNE Community or head over to the GitHub toeverything/OctoBase.
What are some alternatives?
solid - Solid - Re-decentralizing the web (project directory)
awesome-crdt - A collection of awesome CRDT resources
PyLD - JSON-LD processor written in Python
storm-spec - Specification for Storm: L2/L3 distributed storage and messaging with economic incentivisation leveraging LNP/BP ecosystem
custom-elements-manifest - A file format for describing custom elements
blocks_iterator - Iterate over bitcoin blocks
icestudio - :snowflake: Visual editor for open FPGA boards
surrealdb - A scalable, distributed, collaborative, document-graph database, for the realtime web
awesome-jsonschema - A curated list of awesome JSON Schema resources, tutorials, tools, and more.
gun - An open source cybersecurity protocol for syncing decentralized graph data.