iroh
upspin
iroh | upspin | |
---|---|---|
7 | 20 | |
1,575 | 6,226 | |
4.4% | 0.2% | |
9.8 | 6.0 | |
2 days ago | 14 days ago | |
Rust | Go | |
Apache License 2.0 | Apache License 2.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.
iroh
-
SeaweedFS fast distributed storage system for blobs, objects, files and datalake
If you're talking about this https://github.com/n0-computer/iroh ... Iroh is a p2p file syncing protocol. That's not even close to the same wheelhouse as SeaweedFS?
-
I Moved My Blog from IPFS to a Server
Totally biased founder here, but I work on https://github.com/n0-computer/iroh, a thing that started off as an IPFS implementation in rust, but we broke out & ended up doing our own thing. We're not at the point where the iroh implements "the full IPFS experience" (some parts border on impossible to do while keeping a decentralized promise), but we're getting closer to the "p2p website hosting" use case each week.
-
Willow Protocol
if you are looking for something similar to ipfs but a bit more minimalistic and performance oriented, check out iroh https://github.com/n0-computer/iroh .
It is a set of open source libraries for peer to peer networking and content-addressed storage. It is written in rust, but we have bindings to many languages.
One part of iroh is a work in progress implementation of the willow spec. The lower layers include a networking library similar to libp2p and a library for content-addressed storage and replication based on blake3 verified streaming.
Most iroh developers have been active in the ipfs community for many years and have shared similar frustrations... See this talk from me in 2019 :-) https://www.youtube.com/watch?v=Qzu0xtCT-R0
-
Planning to make a video on cool Rust apps focused on the end user. Make recommendations!
IPFS Protocol Stack: Iroh
-
Iroh: A New Implementation of IPFS in Rust
We have an initial release out since earlier today: https://github.com/n0-computer/iroh/releases/tag/v0.1.0 but we are still very early, so be gentle :)
-
ACM SIGCOMM'22: Design and Evaluation of IPFS
(Disclosure: I work for the Filecoin Foundation/Filecoin Foundation for the Decentralized Web).
I do actually agree that the privacy and anonymity aspects of IPFS are not well- conveyed. I think people get hooked on the "censorship-resistant" nature of decentralized systems, without understanding that even if you have multiple sources, for instance in a content-addressable network like IPFS, aggressive censorship systems have other strategies to dissuade dissemination or punish readers. You always have to be thinking a few steps ahead. Services like Tor and, I hope, the IPFS network both try to convey what threat models they are useful for, and which they are not, but it's really hard to stop overenthusiastic re-statements that give them super-powers they do not, in fact, possess.
That said, there's a bunch of careful thinking right now going on about how IPFS's privacy story could be improved: https://blog.ipfs.tech/ipfs-ping-2022-recap/ has a couple of sessions on this, and is a great summary of some other recent developments in the space.
One of those improvements is in the point about nodes being high CPU, RAM, etc. (I actually find this to be more of a challenge when running the full IPFS Go node locally on my desktop, rather than on a VPS; it requires some tweaking.)
The strategy right now is to encourage more implementations of IPFS to cover more use-cases; the original go-ipfs had to do everything, including maintaining some legacy decisions. Nowadays, there's a lot of effort on alternative IPFS implementations that can be slimmer, or optimised for particular scenarios, e.g. on an embedded device, serving a high-load web gateway, or providing millions of files. Protocol Labs recently renamed their canonical go-ipfs to kubo (https://github.com/ipfs/kubo ) to make it more of a peer with other implementations.
Of course, I love all these new generation implementations EQUALLY, but if you pushed me, I've enjoyed playing around with https://github.com/n0-computer/iroh , a modular rust implementation building off the increasingly robust rust libp2p etc libraries. There's some more to pick from here: https://docs.ipfs.tech/basics/ipfs-implementations/
upspin
-
I Moved My Blog from IPFS to a Server
Super intriguing. Thanks for sharing!
It reminds me a bit of an early Go project called Upspin [1]. And also a bit of Solid [2]. Did you get any inspiration from them?
What excites me about your project is that you're addressing the elephant in the room when it comes to data sovereignty (~nobody wants to self-host a personal database but their personal devices aren't publicly accessible) in an elegant way.
By storing the data on my personal device and (presumably?) paying for a managed relay (and maybe an encrypted backup), I can keep my data in my physical possession, but I won't have to host anything on my own. Is that the idea?
https://upspin.io/
-
Educational Codebases
There are a few Go projects meant to be learned from:
- https://github.com/pion/opus for to learn audio
- https://github.com/benbjohnson/wtf for overall production quality
- https://github.com/upspin/upspin difficult to explain, personally I'm not a fan of the errors
-
Fundamentals to Learn
You could also take a look at some real-world open-source projects. I like upspin for its idiomatic approach.
- Examples of Good Go Repos
- Examples of an idiomatic API project
-
Best practices of validation on web apps?
For example, Rob Pike's upspin places all its validations in the separate package. Do you agree with that approach? Which yet proven options there are?
- Is there a good example of an open source non-trivial (DB connection, authentication, authorization, data validation, tests, etc...) Go API?
-
Ask HN: What Are You Working on This Year?
Just a few projects that could perhaps interest you in terms of design of your own solution :
Upspin: https://upspin.io/
- Upspin: A framework for naming everyone's everything.
-
proposal: Go 2: error handling: try statement with handler
The early error wrapping work which emerged out of the Upspin project, that eventually made its way into the errors package, included stack traces in the wrap error. This would provide exactly what it appears you seek.
What are some alternatives?
kubo - An IPFS implementation in Go
ytcast - cast YouTube videos to your smart TV from command-line
bevy - A refreshingly simple data-driven game engine built in Rust
mitchellh/cli - A Go library for implementing command-line interfaces.
dragit - Application for intuitive file sharing between devices.
ivy - The Unified AI Framework
oku - Oku is a hive browser written in Rust.
golang-gin-realworld-example-app - Exemplary real world application built with Golang + Gin
rust-libp2p - The Rust Implementation of the libp2p networking stack.
fiber-boilerplate - This is the go boilerplate on the top of fiber web framework. With simple setup you can use many features out of the box
iced - A cross-platform GUI library for Rust, inspired by Elm
Rundeck - Enable Self-Service Operations: Give specific users access to your existing tools, services, and scripts