/gun

The Gun database, in Rust

Primary LanguageRustMIT LicenseMIT

gun

The Gun database, in Rust. Gun is an open source cybersecurity protocol for syncing decentralized graph data.

You can find out more about the original JavaScript implementation here: https://gun.eco/docs/.

We are working on rewriting the protocol in Rust following the information here and the guidance of Mark, the creator of Gun.

If you are interested in joining the development team please join our Discord: https://discord.gg/t4CMVJ2Bge.

status and direction

exploratory

While the version is “0.*” the port might align towards exploratory programming and rapid prototyping. Performance Testing Speed Development is welcome, but at this stage it is okay to have performance gaps and regressions in the code

Also, no semver for now. API will stabilize when we're happy with how GUN works in the Linux kernel and WASM, how pluggable architecture is organized, and go through a number of performance optimizations

nightly

The project is using non_ascii_idents and other such Nightly features. Presently tested on nightly-2020-11-20

no_std

The project will be developed as no_std to ensure maximum portability (kernels, WASM, blockchains, hardware, etc).

Out of the box we likely lack the no_std encryption facilities necessary to run this in Linux kernel and WASM, but we might use c2rust in the future to bridge that gap.

bounty-driven

I (@ArtemGr) prefer to see myself as a maintainer, consolidating a community effort towards exploring Gun, porting it and then improving the port.

To that end I will be playing with forward tasks/issues and listing them on Reddit maybe, Bountysource and This Week In Rust.

I'd welcome guidance in that.