Waves Labs Announces Recipients of 3rd Special Batch of Grants

Vitaliy Tsigulev
Apr 30 · 6 min read

Check out the creative suggested solutions for (dApps).

Three weeks ago, we announced to fund decentralised application projects developed with ’ native programming language, . We suggested four use cases that could be implemented using RIDE: Auctions, Voting and democratic tools/DAO, Prediction markets and Identity management/Oracles.

No preliminary application was necessary. To be eligible, a developer simply had to choose a use case, create a solution and submit the final result, including source code on GitHub and links to a demo and a description of the implemented case with instructions for using the solution.

The first applicants to deliver the required materials for a workable solution for each use case would be awarded a grant of 1,000 WAVES each.

It didn’t take long for talented developers eager to explore RIDE for dApps to come up with working solutions for all these use cases.

Currently, all the winning solutions are operating on . To test the demos, you can use a Waves TestNet address. To get a TestNet wallet, please use this .

Since the main goal of this batch of grants was testing the possibilities of the , the solutions were developed as prototypes. However, they have the potential to be developed into fully-fledged products.

We are grateful to all the applicants. Now, let’s check out the winning solutions.

Voting and democratic tools / DAO

The concept of a decentralised autonomous organisation (DAO) is vital for blockchain. A DAO, controlled by rules set in smart contracts, ensures transparency and control strictly by its participants, without any central authority.

Suggesting this use case, we expected a simple and universal DAO prototype that could be used — for instance, for running a company, investment fund or charity organisation. The winning solution was proposed by .

Alexei developed a simple DAO dApp for voting and collective investment in projects. In his solution, multiple accounts can deposit their funds and safely withdraw them without any outside interference.

WAVES tokens can be stored in a dApp wallet. Tokens can be transferred to the wallet through a callable deposit function or withdrawn from the the wallet through a callable withdraw function.

Demo:
Source code on GitHub:
Description:
Grant value: 1,000 WAVES

Identity management/Oracle

Blockchain allows secure and immutable storage of personal data, making the technology eminently suitable for identity management and verification.

Identification of users by their phone numbers or email addresses has long been used in online banking. We suggested that a similar system be implemented on the blockchain.

Under this use case, we wanted a versatile tool that would facilitate tying a user’s email address to their to facilitate secure transfer of tokens to that email address.

In response to this task, we received several high-quality solutions that complement rather than duplicate each other. We therefore decided to pronounce several solutions as winners, releasing 1,000 WAVES grants to all of them.

Developer:

Solution: A console application on node.js for identifying email addresses and sending over email.

The app is powered by a smart contract that stores pairs of email addresses and corresponding account addresses and facilitates invoking a function for transferring WAVES to the account address linked to the email address.

The algorithm for tying an email address to an account address on the works in the following way. At every verification request, the oracle sends a confirmation code to the email address and records to its own address the email address and the hashed verification code. The email verification function checks the verification code and email address against those recorded by the oracle and, in the case of a match, the email address and account address pair will be written to the contract’s state.

Demo:
Source code on GitHub:
Description (in Russian):
Grant value: 1,000 WAVES

Developer:

Solution: A web app for identification of email addresses and sending tokens over email. The app facilitates transfer of any tokens issued on the Waves platform to any verified email address.

The app’s functionality includes:

  • Request verification of a user’s email address. sends an email with a verification code and stores a hashed (SHA-256) verification code on the blockchain.
  • Verify a user’s email address by calling the contract with the email address and the verification code. The smart contract will check the code and, in the case of a match, will save the email address pair.
  • Send tokens to an email address by calling the contract with the email address and an attached payment.

Demo:
Source code on GitHub:
Description:
Grant value: 1,000 WAVES

Developer:

Solution: A web app for identification of email addresses and sending tokens over email.

Ihar’s solution, Waves Identity, facilitates checking the user’s email address from any smart contract. This is done by calling the with the oracle address and sending the user’s email address to it.

The server part of the oracle reads requests for checking email addresses every minute. When a new request is received, the oracle creates a unique code for the email and sends it in an encrypted form to the email and to the blockchain.

Upon receiving the message, the owner of the email address can enter the received code and send it to the oracle. The oracle’s smart contract checks the code and, if it is correct, writes a confirmation to the blockchain.

Subsequently, the confirmed email data could be used for various purposes like, for instance, sending WAVES to email addresses.

Demo:
Source code on GitHub:
Description:
Grant value: 1,000 WAVES

Auction

As participants in an auction need to be sure that any manipulation is ruled out, transparency is a vital condition for successfully running one. Transparency can be achieved by using blockchain, which facilitates immutability of data for all bids and the time at which they were made.

Under this use case, we expected a solution facilitating creation of auctions for token issuance on the Waves platform and setting various parameters, such as duration, minimum bid price etc. A solution satisfying all these requirements came from .

Once an auction has been created, the lot appears on the website’s main page and users can start making bids and eventually redeem the lot at the highest price. Once the auction is completed, the winner can pick up their tokens by paying their bid.

smart contracts facilitate absolutely transparent buy/sell orders. The seller can be assured that their tokens won’t disappear before the auction is over, and the buyer can be assured that they will collect the lot.

Demo:
Source code on GitHub:
Description:
Grant value: 1,000 WAVES

Prediction markets

Prediction markets are created for trading the outcome of various events, with market prices indicating the probability of the event in question.

The concept applies to a binary event: where something either will or will not happen. For instance, in the finance world, participants trade with contracts where the payoff will vary depending on the outcome of a future event. Prediction markets make the result of this future event tradable.

Essentially, prediction markets are about placing bets on the probability of the outcome of an event, such as elections, sales of a company, price fluctuations of commodities, even weather changes.

Similar to auctions, in the prediction markets segment, blockchain facilitates transparency, making prediction markets a promising use case for the technology.

For this use case, we wanted developers to come up with a decentralised app that facilitates creation of new events and trading in open prediction markets, also ensuring a transparent mechanism for determining a win distribution of awards.

implemented a solution fitting the description. He developed a simple Prediction Market dApp (along the lines of Augur or Gnosis), which allows any user to create new markets, trade shares and win if the prediction is correct.

Demo:
Source code on GitHub:
Description:
Grant value: 1,000 WAVES


We would once again like to thank all the applicants for Waves Grants. We are currently working on the next round of the , and we will announce the recipients shortly.

You can learn more about our grants program and find the application form .

Recently, we launched Waves Incubator, a strategic long-term initiative designed to support the development of Waves-based solutions and specifically focused on dApps built in the RIDE language. You can learn more .

To receive news and updates of the program, subscribe to our and .

Waves Labs

Waves Labs is an initiative for supporting talented developers and promising startups focused on decentralized technologies leading to Web 3.0

Vitaliy Tsigulev

Written by

COO Waves Labs.

Waves Labs

Waves Labs is an initiative for supporting talented developers and promising startups focused on decentralized technologies leading to Web 3.0