Hacker News new | ask | show | jobs
by kafke 3596 days ago
The owner of a site is unneeded for the site to continue to work in a dynamic fashion (outside of the single 'ZeroBoard' demo that was made before the new system was in place).

Interactive sites allow users permission to sign/post in a particular directory of the site (data/userpublickey/stuff.json). They sign/publish this like the owner of the site would. The site can either access the .json files directly, or compile them into an SQLite database locally and read from that.

No bots are needed at all. AFAIK, git itself isn't used in ZeroNet at all, besides open-sourcing it's development.

Essentially, the entire site's functionality is entirely local. You can fully use any website (except those that do weird requests to outside of zeronet) without any internet connection.

Try visiting the zerotalk site, disabling your internet connection, making a post/comment, and then refreshing the page. You'll see that the comment is still there. It's just inaccessible until other users obtain the .json file you've modified.

Likewise, many sites are freely cloneable, so you can try running your own local copy and acknowledge that there isn't a bot on the backend.

2 comments

>Try visiting the zerotalk site, disabling your internet connection, making a post/comment, and then refreshing the page. You'll see that the comment is still there. It's just inaccessible until other users obtain the .json file you've modified.

How does it deal with conflicts? Is that a chronological list that gets merges after sync?

Thanks for a better explanation! Still have some questions:

I don't run my own client, but use the browser proxies. So what is happening then, service workers? Or you have to have the client in order to actually post to the website? Such that there is file access to mutate the local files or do SQLite stuff?

How does sync/merging those .json files work then? This is what I thought git was for. The peer just sends the edits to the local files they have made out to the other peers with git.