vote pending
cPoker: Open Smart Contracts for Multi-User Value Exchange in dApps
Current Project Status
vote pending
Amount
Received
₳0
Amount
Requested
₳102,000
Percentage
Received
0.00%
Solution

We are developing open smart contracts for cPoker, a peer-to-peer protocol for escrow and payout with poker rules. We’ll provide it openly so many real-world dApps can benefit from it.

Problem

Cardano dApp developers need access to practical, non-trivial examples of working smart contracts for interactively exchanging value with multiple participants.

cPoker: Open Smart Contracts for Multi-User Value Exchange in dApps

Please describe your proposed solution

As we are developing cPoker, a decentralized poker game on cardano, we are in the right spot to create and share a practical, non-trivial example of working smart contract for interactive exchange of value with multiple participants. See the video at the bottom of this section to get an idea of the cPoker application.

With this proposal we intend to fund the open development of smart contracts for implementing a peer-to-peer protocol for escrow and payout with poker rules. We'll provide it openly so many real-world dApps can benefit from it.

The smart contract is designed to be robust in real-world conditions, and it will include the following elements:

  • Establish a Table token for each active table, stored in the smart contract (source code)
  • Enable key contract transactions on that Table for players to join the table and exit the table
  • Minimize fee overhead for the Table contract
  • Ensure all funds paid in by table players are also paid back out to the players (peer-to-peer game)
  • Implement designed elements to guard against player misbehaviors such as game abandonment, ensuring incentive alignment
  • Enable cash-out transaction for post-game settlement with player-consensus mechanism
  • Enforce the presence of the DRED network-operator contract to cover costs of the communication-channel providers (the DRED contract will require its own fee tokens)

You can get an idea of the architecture from this diagram

Image file

Beyond the technical elements, we will share progress with the community:

  • Present our progress on a twice-monthly basis in the ODIN Build group in an open session for community developers to have this learning opportunity about real-world contract development and real-time on-chain value exchange with Cardano.

In the video below, you can understand the team's overall effort for building a real-time interactive dApp. From this video, you can get an idea of how the protocol will be used in the real-world application.

<https://www.youtube.com/watch?v=ERWI-xHvXE0>Note: The scope of this proposal is the development of the smart contracts for the dApp.

  • The development of the dApp and the development of the side-channel are not in scope for this proposal.

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

This project will provide concrete examples of working smart contracts for interactively exchanging value with multiple participants.

The smart contracts will serve a foundation for a real-world dApp under development: cPoker, a peer-to-peer protocol for escrow and payout with poker rules. We'll provide it openly so many real-world dApps can benefit from it.

This project is a concrete example of interactive dApp which will enable more developers building interactive dApps. This, in turn, should increase the overall adoption of Cardano.

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 team already delivered a PoC of a dApp implementing the basics of the described cryptographic protocol. Our team includes a Smart contract expert, and software engineers experienced with the blockchain which have the capabilities needed to understand and implement the needed smart contracts.

Our Capability to Deliver 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 team is capable, meets regularly, and has a good track record of github commits, and of published documentation and videos for the current projects.
  • We already worked in other Cardano projects, and we are technically ready to take the challenge.
  • We work as a team for more than a year. We know the technical challenges well because we put our own ressources to work on this project.
  • Our team members are well-known in the community, joining and organising community events on a regular bases for years by now. In the past, we also organized and participated in Challenge Teams, such as the Open Source CT.

The Feasibility of our Approach is validated according to:

  • Our Trackrecord: We already built sophisticated software on which this project builds on.
  • Incremental Progress: we broke down the problem in subproblems, which makes it easier to solve different aspects
  • Pragmatic Approach: incremental testing during development, incremental assessment of the deliverables for the project milestones

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

Milestone 1: M1: Table Token and Key Contract transactions

Milestone outputs

  • Source code and documentation on <https://github.com/Cardano-After-Dark/>
  • Present our progress on a twice-monthly basis in the ODIN Build group in an open session for community developers to have this learning opportunity about real-world contract development and real-time on-chain value exchange with Cardano.

Acceptance criteria

  • Establish a Table token for each active table, stored in the smart contract (source code)
  • Enable key contract transactions on that Table for players to join the table and exit the table

Evidence of completion

  • Implementation or partial implementation of the smart contracts establishing a table token and enabling key contract transactions on that table.
  • Documentation explaining the smart contract implementation

Milestone 2: M2: Minimize fees, transaction payout, and misbehavior prevention

Milestone outputs

  • Source code and documentation on <https://github.com/Cardano-After-Dark/>
  • Present our progress on a twice-monthly basis in the ODIN Build group in an open session for community developers to have this learning opportunity about real-world contract development and real-time on-chain value exchange with Cardano.

Acceptance criteria

  • Minimize fee overhead for the Table contract
  • Ensure all funds paid in by table players are also paid back out to the players (peer-to-peer game)
  • Start Implement designed elements to guard against player misbehaviors such as game abandonment, ensuring incentive alignment

Evidence of completion

  • Incremental implementation of the smart contracts including fee overhead minimization, funds distributed to players, and start of the implementattion of elements against misbehaviors.
  • Incremental update of the documentation explaining the additional features

Milestone 3: M3: Cash-out and integration with network operator contract

Milestone outputs

  • Source code and documentation on <https://github.com/Cardano-After-Dark/>
  • Present our progress on a twice-monthly basis in the ODIN Build group in an open session for community developers to have this learning opportunity about real-world contract development and real-time on-chain value exchange with Cardano.
  • Potential updates on source code on <https://github.com/cardano-After-Dark/dred>

Acceptance criteria

  • Complete implementation of elements to guard against player misbehaviors
  • Enable cash-out transaction for post-game settlement with player-consensus mechanism
  • Enforce the presence of the DRED network-operator contract to cover costs of the communication-channel providers (the DRED contract will require its own fee tokens)

Evidence of completion

  • Progressive Implementation of the smart contracts, and integration with the network operator contract.
  • Progressive improvement of the documentation explaining the additional implementation

Final Milestone: M4: Closeout

Milestone outputs

  • Source code and documentation on <https://github.com/Cardano-After-Dark/>
  • Video on <https://www.youtube.com/@cardanoafterdark>
  • Closeout Report

Acceptance criteria

  • Provide project closeout report and video about the project completion.
  • Release documentation and video tutorials on how to initialize and use the infrastructure for your dApp.

Evidence of Completion

  • Closeout report and video
  • Project Documentation and Video publicly available
  • List all evidence from previous milestones.

Who is in the project team and what are their roles?

P.Suzzi, Developer, SW Engineer - www.linkedin.com/in/psuzzi

  • Responsible for co-development, and for integration and testing of the communication module.

Jake G. - Developer, SW Engineer - <https://www.linkedin.com/in/jake-gonzalez-551306b4/>

  • Responsible for co-development, software engineering, testing and integration of the dApp.

Randall - Software architect, 20+ years exposure to cryptography, accounting, and application development - <https://www.linkedin.com/in/randall-harmon-aa52765/>

  • Designing the architecture and ensuring scalability and security of the system.

Seomon - Project Manager, IT Consultant, Cardano Ambassador

  • Managing the project-, timelines, milestones, alignment, reports and community engagement.

Please provide a cost breakdown of the proposed work and resources

We have calculated the total costs based on team experience, average market rates, and our willingness to be paid less than average market rate in order to get funded. This is possible since we don't need external resources, and we're confident about the work to be done.

The core team is distributed across the EU (Austria, Italy) and the US (California, Texas). Market rates for the roles needed will average to ~ 90 USD/hour. But we're willing to work for 150 ADA/hour.

Cost Breakdown:

Project Efforts:

  • Project duration: 4 months
  • Total estimated development time: 680 working hours –&gt; 17 working weeks
  • Development and Engineering activities: 520 h
  • Project management, communications, documentation: 160 h

Development Costs:

  • Based on the development team previous experience, we estimate that 150 ADA / hour will cover for the estimated development costs in the period.
  • Personnel: 680 hours * 150 ADA/hour = 102 k ADA (~34 k USD)

No dependencies

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

This project will provide concrete examples of working smart contracts for interactively exchanging value with multiple participants.

The result of this project will be also integrated in a real-world dApp which is under development: cPoker, a peer-to-peer protocol for escrow and payout with poker rules. We'll provide it openly so many real-world dApps can benefit from it.

We believe this project represents good value for money, as the concrete examples applied to a real-world application will enable more developers building interactive dApps. This, in turn, should increase the overall adoption of Cardano.

At current market price, 102k ADA is ~ 34k USD, which seems a good price for improving the reach of a solution that demonstrably works, and that could be adopted by more interactive dApps in the Cardano ecosystem.

Since we already developed part of the solution and we don't depend on external resources, the team can operate below market rates. In our locations, the average hourly rate would be around 90 USD/hour in average (~268 ADA/hour), while our proposed rate would be 150 ADA/hour.

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