
Show HN: A federated social network, built on Ethereum and IPFS - heynk
https://numaverse.com/
======
evanprodromou
Hey, that's amazing! I think that having an AP server that stores data in IPFS
is really cool. Where did the idea come from?

------
heynk
Hey HN!

I’m really excited to share what I’ve been working on for the past few months.
It’s a social network, built on distributed technologies, with support for
federation with Mastodon and other compatible networks.

I don’t want to throw around too many buzzwords, so let me just get to the
point. There is a smart contract on Ethereum that keeps track of references to
all the network’s data. The only data actuall passed to the contract are IPFS
hashes. Those IPFS objects are JSON files that contain the actual information
that describes users, messages, follows, favorites, etc. If you view a message
page[1], you can scroll down and see the raw details like the IPFS hash,
actual IPFS file, and transaction information for that message.

Because all the data is stored in a distributed fasion, that means you’re not
reliant on any central server. The server is open source[2], so anyone can run
their own ‘gateway’ to the network, or build their own on top of it. You could
even run it locally. Either way, you get the same experience, and since you
control your private keys, you can take your account wherever you want.

The app batches all of your actions into a single transaction that only costs
a few cents. You can sign up, post messages, etc, without having to spend or
own any Ethereum. When you want to actually post it on the blockchain, you
commit your batch. Until then, your content is cached on the server, and only
other folks on that server can view it. Still, I get not wanting to go through
the whole hassle of buying Ether, sending it to an account, and testing it out
on some new thing. I’ve setup a staging server[3] that connects to the
‘Ropsten’ test network, and you can get free ether from a faucet to use.

It’s also built it so that the ‘gateway’ server is ActivityPub compliant,
which means you can follow and be followed by other folks in the fediverse.
You can have people follow you from other networks, though, by having them
search for @your_username@numaverse.com . To follow people on other networks,
search for their ‘fediverse handle’ in the search bar, i.e.
@gargron@mastodon.social.

It’s just a start, but I’ve loved this project because I’ve never learned more
than while working on this. I’m really excited for what will come from these
technologies. One cool feature coming up will be support for Token Curated
Registries, which are a form of a reputation network that’s tied to a
blockchain. Stuff like that will be really interesting in the context of
social networks.

[1] - [https://numaverse.com/messages/4](https://numaverse.com/messages/4)

[2] - [https://github.com/numaverse/numaverse-
gateway](https://github.com/numaverse/numaverse-gateway)

[3] - [https://ropsten.numaverse.com/](https://ropsten.numaverse.com/)

~~~
DeadSuperHero
Interesting stuff. Given that it's AP-compliant, does that mean messages from
the rest of the fediverse are not stored on the blockchain?

Also, can Numa be used like a regular fediverse client, without spending Ether
or storing anything on the Blockchain?

