Ylide - P2P File Communication platform

Ylide - P2P File Communication platform

Seamless cross-chain communication with Ylide SDK integration

Ylide - P2P File Communication platform

Ylide - P2P File Communication platform

Seamless cross-chain communication with Ylide SDK integration

The problem Ylide - P2P File Communication platform solves

The P2P File Communication Platform allows for the following functionalities:

Generating and Registering the Communication Keys: As Ylide SDK requires a KeyPair to work with message encryption and decryption, the platform takes care of exposing this functionality for the end users. First-time users can generate and register their communication keys with Ylide and start sending secure communications.

Creating a private Room: The platform allows creating of a private room with a set of recipient addresses by any user. This room can then be used to send unidirectional information from the creator to the list of recipient addresses defined during the room creation. Both the creation of the room and the sending of messages to the room recipients are encrypted and secure in every way.

Seeing My Room list: The platform shows a list of private rooms a user is part of, once the onboarding has been completed.

See Messages & Files of My Rooms: The platform shows a list of messages received in a room, given that the user is present in the room recipient list. The messages are decoded and decrypted using the user's communication keys, so the messages are only visible if the onboarded user is present in the room recipient list.

Send Messages & Files to a Room: [Admin-only Action] Since the platform supports only unidirectional messaging, the room's creator can send encrypted/private messages to all recipients of the room, which are then decoded on the receiver's end.

Using IPFS with Infura for storing files on-chain.

Challenges I ran into

One of the first problems you face when working with an event history retrieval in EVM — is the inability of most RPC nodes to filter the events' history properly. eth_getLogs allows you to retrieve events only in ascending order, and all the public RPC nodes have limitations over the number of blocks you can scan at once.
It causes a huge problem when you want to perform a simple task such as "retrieve the last ten events". In general, you will have to backwards-traverse all the blockchain history until you find the first ten events. The dramatic downside of this problem is that having limits for the scanned block count of the public RPC nodes means that you will have to make hundreds or even thousands of queries until extracting these events. Moreover, users will have to wait minutes to see their last ten messages. The "good news" is that you will never have such a problem: any public RPC node bans you after the first hundred such queries, and your user will just close the dApp.
We figured out how to optimize such queries drastically.
First of all, we have to store the information about the last X messages for certain recipients in our smart contracts. Secondly, we have to optimize our smart contract execution as much as possible to reduce gas costs since executing anything inside the smart contract is very expensive.

Tracks Applied (12)

Best Mobile Experience

Our app is designed with the user experience in mind. The interface is intuitive, easy to navigate, and provides a seaml...Read More

Best Use of Walletless Onboarding

Our P2P file communication app project is perfect for the Walletless Onboarding track because it offers a simple and has...Read More

Extending the Ecosystem

Our app is perfect for users who need to transfer files across multiple ecosystems, as it supports the Ylide SDK for mes...Read More

Best apps built on Dapper Sports Studios

Our app is perfect for sports fans who want to share files related to their favorite sports teams and events. We underst...Read More

Dapper

Best app using USDC

1) Users can deposit USDC into their platform wallet, which they can then use to pay for file transfers. 2) When a user...Read More

Circle

Best app using Evaluate’s Swap Contract

Our app allows users to securely and seamlessly exchange cryptocurrency, all while communicating with each other through...Read More

Evaluate

Best app using Niftory's NFT and Wallet APIs

Our app is perfect for NFT collectors and creators who want to share NFTs and related files securely and seamlessly. We ...Read More

Niftory

Best app extending or integrating with Puddle

Our app offers a unique set of features that are perfect for DeFi users. Firstly, we've integrated Puddle's protocol int...Read More

Puddle

Best app extending the Flowverse Socks

handle the demands of a large user base. We've integrated FlowVerse Socks' features and functionalities into our platfor...Read More

Flowverse 🌊 - Discover Flow Blockchain

Best app extending the Flovatar Ecosystem

Our app is built on the Flovatar ecosystem, which means that it is highly scalable and can handle the demands of a large...Read More

Flovatar

Best app building on FlowNS

To enhance your P2P file communication platform, consider integrating the Flow blockchain for secure metadata management...Read More

Flowns

Best app extending & integrating with IncrementFi protocols

Our app is built on the IncrementFi protocol, which means that it is highly scalable and can handle the demands of a lar...Read More

Increment Finance

Discussion