---
# System prepended metadata

title: Solidity Team Hackathon Retro / Outcomes

---

# Solidity Team Hackathon Retro / Outcomes

[Initial planning sheet](https://docs.google.com/spreadsheets/d/1ee2hibkkO4UC5X9n9taK_lC0NNY100aL2fvgqhVw8FQ/edit#gid=0).

- Spend one week to really *use* Solidity
- **Goal**: Learn how to code with Solidity and learn about the tools, by the end, have a presentable prototype ready which you can share in front of the others (including your learnings!)

- - - 

*@all: Please add your input for the following questions below*

### 1. Summarize your project
#### --> Briefly describe what you built and why
#### --> Add a link to your project

### 2. Summarize your findings
#### --> What were your biggest learnings?
#### --> Did you encounter any obstacles, if yes, elaborate what and if you think the dev experience can be improved in future.

- - -

## A trustless cardgame on the blockchain [@hrkrshnn](https://github.com/hrkrshnn)

  
The project was inspired by a [Numberphile video](https://www.youtube.com/watch?v=mthPiiCS24A) by Ronald Rivest, which describes a way to play poker over postal-mail. The challenge about playing poker or any cardgame that involves shuffling is *trusting* an entity to shuffle the cards. Shamir, Rivest and Adleman proposed a [cryptographic protocol](https://people.csail.mit.edu/rivest/pubs/SRA81.pdf) to solve the problem of trustless shuffling. The project implements the protocol on a very simple abstract card game, where two people, through a solidity smart contract, shuffles a deck and is dealt one card each. The winner is the one with the 'largest' card.

### References
- [Specification](https://github.com/hrkrshnn/deal/blob/master/spec.org)
- [Presentation slides](https://github.com/hrkrshnn/deal/blob/master/pres.pdf)
- [Contracts](https://github.com/hrkrshnn/deal/tree/master/contracts)


## Reading and Writing Solidity Libraries [@bshastry](https://www.github.com/bshastry)

[This hackathon project][1] involved quite simply auditing existing Solidity libraries on the one hand, and writing a couple of Solidity libraries on the other. At first, a string comparison routine was [written and tested][2]; later a couple of routines to [implement QuickSort][3] were written.

[1]: https://docs.google.com/presentation/d/1FyjvrGL6A9BEwapBSIOi6c44G_8qecULfBagoZBKerI/edit?usp=sharing
[2]: https://www.github.com/bshastry/89e85446ebee804e7fe17f7a5e8960c3
[3]: https://www.github.com/bshastry/604bb2c567715c4cbe7e8fb559f10bc9


## Project 3


## Project 4


## Project 5


