-
Notifications
You must be signed in to change notification settings - Fork 202
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PSS CHAT -- Swarm Demo App #24
Comments
We've been working on these problems for a few months at Mainframe so I have a few comments and questions. Establishing contacts With goal 1 using the peer's PSS address, would the assumption be that users have already shared their asymmetric or symmetric keys?
The advantage of this approach is that only the public key of a peer needs to be known, and the "dark routing" preference can be set by both the sender and recipient, for example Alice can choose to share only a partial PSS address and Bob no address at all, so Alice's messages to Bob have to be sent with an empty address, and Bob messages to Alice have a wider reach than only Alice's node. Here is a basic implementation of this flow: https://github.com/MainframeHQ/swarmchat Encrypted images AFAIK there is no HTTP API yet to encrypt uploads, only the CLI supports it? Feeds AFAIK currently updating feeds requires to use the CLI or sign the payload client-side before posting the HTTP request. Thanks! |
Issue Status: 1. Open 2. Started 3. Submitted 4. Done This issue now has a funding of 250.0 DAI (250.0 USD @ $1.0/DAI) attached to it.
|
Hey @aquiladev you're good to go :) |
Hey @riusricardo are you alright with being on standby here? Haven't heard back from @aquiladev yet and want to make sure we get started on this soon :) |
@aquiladev Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
@ceresstation @gitcoinbot I started the issue, it took time to prepare environment, forgot to comment the issue |
@riusricardo Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
@gitcoinbot Working on it. |
@riusricardo Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
1 similar comment
@riusricardo Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
@gitcoinbot Still working on it. I'll show the progress soon. |
@riusricardo yes, I've build my own version of |
@gitcoinbot, @ceresstation |
Issue Status: 1. Open 2. Started 3. Submitted 4. Done Work has been started. These users each claimed they can complete the work by 2 months ago. 1) aquiladev has been approved to start work. re-apply
Learn more on the Gitcoin Issue Details page. |
Issue Status: 1. Open 2. Started 3. Submitted 4. Done Work for 250.0 DAI (250.0 USD @ $1.0/DAI) has been submitted by: @ceresstation please take a look at the submitted work:
|
Issue Status: 1. Open 2. Started 3. Submitted 4. Done The funding of 250.0 DAI (250.0 USD @ $1.0/DAI) attached to this issue has been approved & issued to @aquiladev.
|
PSS Chat App
Context:
We are hosting several demo applications on Swarm including:
The Photocalbum https://swarm-gateways.net/bzz:/example.photoalbum.eth/
The ENS updater https://swarm-gateways.net/bzz:/swarm-ens.eth/
The Swarm File Manager https://swarm-gateways.net/bzz:/swarm-explorer.eth/
and more (see swarmapps.eth)
There are some new features of Swarm 0.3.x that we wish to showcase.
Goal 1: A simple demo chat dapp using Swarm PSS
Swarm 0.3.x contains the PSS communications protocol. It is documented here:
https://swarm-guide.readthedocs.io/en/latest/pss.html
https://swarm-guide.readthedocs.io/en/latest/apireference.html#pss
We would like a decentralised (Swarm hosted) application that leverages PSS messages for a simple chat application.
For goal 1, this application must allow a user to add another user's PSS address and then engage in a back-and-forth irc-style chat.
Bonus: Allow sharing of images
Adding an image to the chat, should perform an (encrypted?) swarm upload of the image and share the hash with the chat peers - so that they can download the images from swarm and inline them in the chats.
Goal 2: Named chat contacts
The Ethereum Name Service (ENS) allows us to have payment addresses and content hashes assigned to names. For example, theswarm.eth currently has d1de9994b4d039f6548d191eb26786769f580809256b4685ef316805265ea162 registered as the content hash and 0x3df7ce6b04663bb6f625bab474543d2e43aaaa44 as the payment address.
Under the hood, what the ENS does is to assign a special 'resolver' contract to the name. The currently used default resolver has fields for 'address' and 'content'.
See also: http://docs.ens.domains/en/latest/
There are discussions on changing the behaviour of the default resolver specifically to accomodate more diverse content hashes (such as IPFS multihash) alongside Swarm. (example: https://eips.ethereum.org/EIPS/eip-1062 or ethereum/EIPs#1577). In the medium term we would like to contribute Swarm related improvement suggestions to the ENS ourselves.
However, goal 2 of this project is simply to experiment with custom resolver contracts on the testnet. Try a resolver that allows users to add a PSS address to their ENS name and adapt the chat dapp to be able to find chat peers by name.
Be aware of the security imlications of forward vs backward lookups. [Nobody can stop me registering your PSS address at my name].
Goal 3: Feeds and Avatars
Another new feature in Swarm 0.3.x is that of feeds, allowing mutable content to be accessed at a static address.
Goal 3 is to experiment further by extending the ENS resolver and the chat dapp to enable users to create a profile (avatar, name, bio) that is updatable as a Swarm feed, and have the hash of that feed registered in the Resolver.
Bonus: use functionality from the swarm-ens.eth demo app to implement a "save profile" button in the chat app.
Bonus 2: Allow user-to-user payments to be initiated from the chat using the 'address' field of the resolver contracts as payment addresses.
The text was updated successfully, but these errors were encountered: