Meet the Winners: Schelling Point Virtual Hackathon 2022
We want to thank everybody who has participated in the Schelling Point virtual hackathon 2022. We are delighted with the results and the quality of submissions from our community.
The Gitcoin hackathon came to a close on February 10, 2022. The hackathon hosted various challenges such as DeFi apps, DAO projects and templates, and developer tooling.
Let’s dive into the winners!
Challenge: DeFi Apps
Winner: Specter.DeFi
Like conventional peer-to-peer lending and borrowing platforms, Specter DeFi facilitates its users to lend their ALGO to others and borrow it from the protocol pool. In exchange, the lender gets interest payments. Specter DeFi operates without any middlemen. Hence, the financial rewards are sent straight to the users.
As part of their future roadmap, the team behind Specter DeFi will implement dynamic APY calculations, a network token for lenders, and taking collateral from borrowers to ensure the protection of lenders. This last item is crucial for a successful lending and borrowing protocol.
You can view the Open Source code on GitHub.
Prize: 3,750 ALGO
Challenge: Developer Tooling
Winner: AlgoML - Algorand Modelling Language
AlgoML is created by Bart and Roberto. It’s a Domain Specific Language (DSL) for specifying Algorand smart contracts, which compiles into TEAL scripts. AlgoML allows to specify stateful contracts in a declarative style; its compiler implements several static checks to rule out common programming errors in lower-level languages like TEAL. We illustrate the expressiveness of AlgoML through a series of use cases, including DeFi contracts and games.
We believe that AlgoML fills a gap between the two mainstream contract languages TEAL/PyTEAL and Reach.
Compared to TEAL/PyTEAL, AlgoML features a more high-level programming style, which leads to human-readable implementations of a wide range of smart contracts. Our repository of smart contracts illustrates how complex use cases can be elegantly specified in AlgoML. AlgoML is designed to rule out typical programming errors in TEAL/PyTEAL, like forgetting to check for a null rekey address, and other critical fields like close-remainder-to, and the size of the transaction group. Further, AlgoML implements a basic type checking algorithm that avoids several kinds of type errors.
Compared to Reach, AlgoML allows the developer to focus on the contract code, neglecting the client-side. This is particularly relevant for smart contracts that do not rely on structured interactions with their clients, like most DeFi contracts. We believe that focussing on the contract side leads to more straightforward reasoning: this is witnessed by our implementations of gambling games (lottery, morra game), which are substantially simpler than similar contracts in Reach.
The AlgoML compiler is written in OCaml (using the standard lexer/parser generators ocamllex and menhir), and its contracts compile into TEALv4 scripts.
Prize: 7,500 ALGO
Runnerup Winner (1): Wasabi
Community member fionnachan
has created the Wasabi project. This project intends to provide a UI for developers and regular dApp users to interact with ARC-4-compliant smart contracts using a dApp-agnostic UI as long as the contract interface is provided.
You can check out the app or view a live working demo.
Prize: 6,500 ALGO
Runnerup Winner (2): AlgoPytest
AlgoPytest was created by one of our community members Damian Barabonkov, which is a framework for testing Algorand Smart Contracts using PyTest. The goal of AlgoPytest is to hide all of the complexity and repetitiveness that comes with testing Algorand Smart Contracts.
A lot of boilerplate code is necessary in order to set up a suitable test environment. AlgoPytest takes care of all that. It handles deploying the smart contract, creating and funding any necessary user accounts, and then using those accounts to interact with the smart contract itself. Additionally, each test is run in a freshly deployed smart contract, facilitating a clean slate that prevents stateful interference from previous tests.
In addition to the GitHub project, AlgoPytest also comes with documentation and demos for developers to help them get started.
Prize: 6,000 ALGO
Runnerup Winner (3): PyTeal Checker
PyTeal checker uses a machine learning model to determine the validity of PyTeal smart contracts. It will allow for easier development of PyTeal smart contracts and encourage the community to audit and talk about best practices when it comes to all things Algorand security.
You can try the app yourself!
Prize: 1,500 ALGO
Challenge: DAO Projects and Templates
Winner: AlgoDAO
AlgoDao is a DAO deployment template that’s made up of a series of contracts that allow the DAO creator to define the initial governance structure of their DAO and then enforce that governance via the smart contracts.
The intention was to build a system that can be fully trustless, having the top-level DAO contract own the treasury and only make payouts or implement other proposals in accordance with the governance rules defined in the smart contract. These rules include how what type of vote (governance vs. committee) is required for each proposal type, along with parameters specifying the approval conditions (e.g., the number of “yes” votes must make up X% of total votes submitted for the proposal type Y to be approved and implemented).
It is also planned but not implemented that the governance rules themselves could be modified via the smart contract, in accordance with their own modification rules.
The entire project is built in Python using PyTeal. A proof-of-concept webservice using flask and gunicorn is implemented on a separate GitHub branch that shows how the DAO creation could be integrated into a webapp. Extensive use of ASAs is utilized to indicate trust of Proposal contracts, DAO membership, committee membership, and voting constructs.
Prize: 7,500 ALGO
How did we score projects?
We used a scoring system based on originality, complexity, and quality.
For originality, we look at the value a project adds and if the idea has never been implemented before. For complexity, we focused on smart contracts and how they interact. That means we also evaluate the interface facing the smart contracts. And lastly, for the quality metric, we looked at code quality, documentation, videos, or live demos/websites.
Four independent Algorand community members who have a strong technical know-how of Algorand development have reviewed all projects.
Hope to see you hackers in future hackathons!