not approved
DRED cPoker integration
Current Project Status
Unfunded
Amount
Received
₳0
Amount
Requested
₳195,000
Percentage
Received
0.00%
Solution

Empower developers by providing a concrete dApp integration example, enhance DRED docs, advance the development of the cPoker app, and organize community sessions for DRED use & integration in dApps.

Problem

Cardano lacks infrastructure, know-how and examples needed to integrate DRED state channels, which enables fast multi-user interactions in dApps

Impact Alignment
Feasibility
Value for money

Team

3 members

DRED cPoker integration

Please describe your proposed solution.

As there are no real-time applications in Cardano, we’re going to integrate DRED real-time messaging capabilities into an existing application, and create technical resources for other application developers to learn how to add real time communications to their dApps.

Integrating cPoker with DRED, we will demonstrate that more secure, scalable, and interactive applications can be built on Cardano. We will also interact with the developer community to share information and ensure that the approach and messaging of our technical resources is fitting to the audience.

We will further develop the DRED node-to-node state-replication capabilities, fulfilling DRED's potential to operate in full decentralized fashion - different poker-game clients can connect to different DRED nodes in the poker neighborhood. The code and the process of making the changes will be shared with the community as Open Source.

We will update the poker-game demo to create and share transaction data for the in-game state, demonstrating the use of DRED as a transaction state channel for multi-user smart contracts.

Our project will primarily engage developers in the community and potential dApp users. Our impact will be visible in having a working poker demo-dApp, and in the the number of developers attending sessions, improved documentation, and enhanced functionality of cPoker.

Please define the positive impact your project will have on the wider Cardano community.

Our solution develops an example with an enhanced infrastructure, which allows for real-time interaction between dApps. Here is how we positively impact the community:

  • Provide a learning environment that results in a working poker demo-app
  • Demonstrate and explain how to do secure and scalable real-time communication for dApps
  • Reuse and enhance DRED, a completed Cardano project, for realizing decentralized communications
  • Provide a concrete example of off-chain transaction, and allow to introduce other interactive state-sharing mechanisms for group-interactive dApps
  • Documentation of features and meeting videos explaining how to setup and use the infrastructure in a real-world dApp

What is your capability to deliver your project with high levels of trust and accountability? How do you intend to validate if your approach is feasible?

Our capability can be demonstrated by what we have already done, what we are doing, how we are working together, and by the reputation of the team members:

  • we developed DRED, a foundational library at the core of this proposal. The DRED project was managed and successfully delivered by this same team.
  • we are developing a commercial gaming application using DRED, of which we have a working PoC. The example that we create with this proposal is simpler version of our application.
  • the team is capable, meets regularly, and has a good track record of github commits, and of published documentation and videos for the current projects
  • several team members are well-known in the community

The feasibility of our approach is validated according to

  • Research phase completed
  • Incremental progress: we broke down the problem in subproblems, which makes it easier to solve different aspects: Cardano After Dark for Poker UI ; DRED to implement a State channel, zkpoker: to enable zk-proof of validity, and our latest PoC demonstrating we can run a poker protocol with encrypted cards.
  • Pragmatic approach: incremental testing during development, incremental assessment of the deliverables for the project milestones
  • Feedback loop from community sessions and from users.

What are the key milestones you need to achieve in order to complete your project successfully?

M1: Setup and Prepare Integration

Successful when the minimum infrastructure is running, we have a test that we can use as base for the dApp integration, and the documentation is updated.

  • Setup a DRED single-node neighborhood,
  • Simplify cPoker into a test harness that will be integrated
  • enhance DRED integration documentation,
  • broadcast and record the first community-session

>M2: Single-node Integration

Successful when the MVP is running on the minimum infrastructure, and we're able to demonstrate that the test harness can use the infrastructure to exchange real-time messages.

  • Execute the first integration with DRED-singlenode / cPoker-test-harness
  • Add in-neighborhood data-replication to DRED
  • broadcast and record a community session

>M3: Tri-node integration

Successful when we have three DRED nodes, which can run at least two instances of the dApp agent, to play poker in real-time.

  • Augment the DRED neighborhood to 3 nodes
  • Add any needed improvement to DRED codebase and documentation
  • Split cPoker test harness into a single-player poker Agent (dApp), and integrate with simple UI
  • broadcast and record a community session

>M4: Finalization and Packaging

Successful when the test dApp is running on DRED, and a package can be downloaded to reproduce the test presented in the close-up video.

ACs

  • Complete the example by demonstrating two poker-dApp instances communicating through DRED
  • make npm package, so people can 'npm install -g dred-cpoker' and test the working integration
  • broadcast and record the last community session

>For the Final Milestone, we present the results of M4:

  • Outcome: completed Poker demo application with DRED integration.
  • Outcome: Open an alpha version on testnet
  • Deliverable: Source code (dApp), demo video
  • Deliverable: Development sessions reports

Please provide a cost breakdown of the proposed work and resources.

Overall, we did compute the total expenditure based on the team size, location, and using a market rate well below average in our locations.

The core team is made of four members, all software professionals living in the U.S. and E.U.

After careful evaluation based on past experiences, 50%FTE worked, and possible risks, we determined that the team needs around 75 k₳ per month ( 18.5 k$/mo) to work properly.

It is worth to note that, with such an amount, we can cater for unforeseen circumstances, like team member replacements, or market volatility, but we can hardly afford an extra developer or smart contract developer in case this might be needed in order to complete the project quicker.

How does the cost of the project represent value for money for the Cardano ecosystem?

The project represents significant value for money, considering the potential long-term benefit that is unlocking real-time interaction mechanism for Cardano dApps. All of this while reusing the output of two completed projects, along with otherwise unfunded efforts from the team.

Besides, the team cost is significantly competitive and below the market rate, giving team member locations, roles, and skills required for this project. As an example, for the American team members, the average wages for contracting software engineers (in CA or TX) are well above the 10 k$/month, while for the European team members (DE, AT) the average wages are around 7 k€/month

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00