This repository has been archived on 2023-02-03. You can view files and clone it, but cannot push or open issues or pull requests.
autonomic.zone/src/_posts/2020-04-23-dat-py.md

53 lines
2.5 KiB
Markdown
Raw Normal View History

2020-04-23 14:53:19 +00:00
---
layout: post
2020-05-16 15:32:55 +00:00
title: Hyperpy, the punk-to-punk protocol in Python
description: A new Python implementation of the Hypercore protocol is cooking at Autonomic
2020-04-23 14:53:19 +00:00
image: 2020-04-23-dat-protocol.png
2020-05-16 15:32:55 +00:00
category: technology, peer-to-peer, hypercore-protocol
2020-04-23 14:53:19 +00:00
date: 2020-04-23
---
2020-05-16 15:32:55 +00:00
# Hyperpy, the punk-to-punk protocol in Python
2020-04-23 14:53:19 +00:00
We're quite excited by the new wave of community-developed peer-to-peer
2020-04-23 14:53:19 +00:00
technology. [Scuttlebutt], [Cabal], [Mapeo] and [Beaker browser] are inspiring
examples of software which show that technology can be built to operate without
running on centralised commercially-owned infrastructure (e.g. WhatsApp).
2020-04-23 14:53:19 +00:00
2020-05-16 15:32:55 +00:00
One of the underlying innovations for these technologies is the [Hypercore
2020-04-23 14:53:19 +00:00
protocol], which is a way of describing how two computers can send information
2020-05-16 15:32:55 +00:00
to each other directly.
2020-04-23 14:53:19 +00:00
2020-05-16 15:32:55 +00:00
Today, the reference implementation of the Hypercore protocol is written in
2020-04-23 14:53:19 +00:00
Javascript. The Javascript ecosystem has proved to be remarkably flexible for
advancing this next generation of tools. Simple methods of publishing (npm
publish), well-established distribution channels (the browser) and a
2020-04-23 14:53:19 +00:00
[philosophy of modularity] have enabled so many to get started with building
peer-to-peer technology.
However, there is a great need for other languages and ecosystems to benefit
from the tools and concepts that are being developed based on the reference
implementation. People from all walks of life need a working implementation in
their preferred language of choice. In response to this, we are seeing projects
2020-05-16 15:32:55 +00:00
like [Datrs] and [Datcxx] emerge (please note, the Hypercore protocol was once
called the Dat protocol, see [this blog post] for more information).
2020-04-23 14:53:19 +00:00
2020-05-16 15:32:55 +00:00
Alongside these efforts, a member of Autonomic has begun to work on Hyperpy, a
Python-based implementation of the Hypercore protocol. The project proposes a
roadmap but offers no deadlines and receives no funding at current status.
2020-04-23 14:53:19 +00:00
2020-05-16 15:32:55 +00:00
However slowly, things are moving along. Further progress updates will be
posted on this blog as they come in. All development is taking place on
[git.autonomic.zone/hyperpy].
2020-04-23 14:53:19 +00:00
[scuttlebutt]: https://scuttlebutt.nz/
[cabal]: https://cabal.chat/
[mapeo]: https://www.digital-democracy.org/mapeo/
[beaker browser]: https://beakerbrowser.com/
2020-05-16 15:32:55 +00:00
[hypercore protocol]: https://hypercore-protocol.org/
2020-04-23 14:53:19 +00:00
[philosophy of modularity]: https://mafinto.sh/blog/pragmatic-modularity.html
2020-05-16 15:32:55 +00:00
[datrs]: https://github.com/datrs/
[datcxx]: https://datcxx.github.io/
[git.autonomic.zone/hyperpy]: https://git.autonomic.zone/hyperpy/
[this blog post]: https://blog.datproject.org/2020/05/15/dat-protocol-renamed-hypercore-protocol/