Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create the open source verifier #1

Open
yigitguler opened this issue Jul 17, 2022 · 6 comments
Open

Create the open source verifier #1

yigitguler opened this issue Jul 17, 2022 · 6 comments

Comments

@yigitguler
Copy link

Bounty Template

Prize Title

Open-source application verifier

Prize Bounty

1st Place - 15,000 ALGO
2nd Place - 10,000 ALGO

Challenge Description

Create a web app that verifies the claimed source code of an Algorand on-chain application.
A user should be able to submit an application id and a Github URL for a Teal contract and check if the compiled bytecode of the Teal program matches the on-chain values.
Ideally, it should support PyTeal & Reach contracts too.
It could maintain a list of verified contracts and their sources.
It could support versioning with a history of application versions linked to Github commits.
The app should be written with Python.

Submission Requirements

A simple deployed version is required in the submission process. It should be as close to as possible to PEP-20 guidelines.

Judging Criteria

We really believe that this project can be a good tool that will improve their confidence about the applications they are using. A maintainable, well-designed open-source project is our target, and we will review the applications accordingly.

Winner Announcement Date

We will review the applications right-after the deadline.

Resources

Feel free to reach us by opening an issue in the project repository.

Difficulty:

Intermediate

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 25000.0 ALGO (8475.58 USD @ $0.34/ALGO) attached to it.

@soe
Copy link

soe commented Jul 19, 2022

hello @yigitguler

i am looking to work on this. but i would like to clarify a few things.

  1. is the intended solution a web app or command line app ?
  2. do you have any preference for a python framework? (i.e Flask)
  3. for data storage, do you have any preference for a specific database?
  4. for frontend interface, do you have any preference for a specific JS/CSS framework?

@gitcoinbot
Copy link

gitcoinbot commented Jul 19, 2022

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 6 hours from now.
Please review their action plans below:

1) mark-ruddy has started work.

I plan to implement a webapp which will provide a verifier as described in the bounty description. As a developer I am especially focused on providing a well-engineered project that is maintainable and extensible.

My intended tech stack:

  • Python, with Django framework
  • MongoDB/PostgreSQL if a persistent database is required
  • If a frontend framework is required I will likely choose Angular2 with Typescript

Technical decisions to produce a good project that is extensible/maintainable:

  • A Python library for the verification logic, which the Django webapp will import and use. This allows other Python developers to import the verification library into their apps instead of all the logic being locked in this specific Django app.
  • Python automated testing for all content, and CI configured to run tests automatically
  • Deployment configured in Kubernetes with Helm, allowing for a one-line command to deploy the Django app on a Kubernetes cluster. The app will also be available to deploy normally without Kubernetes.

Thanks for offering this bounty, I think it's a great addition to the Alogrand ecosystem!
2) tee-py has started work.

This Project Verifies Algorand Smart Contract Codes against the one stored on-chain and it also keeps track of all verified smart contracts.
3) avalias has started work.

Web app that verifies the claimed source code of an Algorand on-chain application.
4) edinyangaottoho has started work.

TEALVerif is a simple Application Explorer that aims at indicating the verification status of on-chain TEAL programs with respect to repositories and track the changes made.
It aims at connecting to GitHub OAuth for access and enabling users to connect their GitHub repository TEAL code to be matched against the on-chain code, also providing version history and time for each verification made
5) mawut0r has started work.

A web app that verifies the claimed source code of an Algorand on-chain application.
6) juweber99 has started work.

contract verifier application for algorand smart contracts
7) almoloo has started work.

Twins is a simple and intuitive web application built with the Django framework that helps you verify a smart contract's validity on Algorand blockchain.
8) cryptofervid has started work.

This project will verify and store details of Algorand on-chain applications
9) ubinix-warun has started work.

Verify On-Chain and Off-Chain Code for TEAL/PyTEAL/REACH
10) mul53 has started work.

Django applications that verifies the onchain code for algorand apps

Learn more on the Gitcoin Issue Details page.

@yigitguler
Copy link
Author

Good luck!

is the intended solution a web app or command line app ?
The intended solution is a web app.

do you have any preference for a python framework? (i.e Flask)
Nope, any Python framework would work.

for data storage, do you have any preference for a specific database?
Nope, you can use any kind of database, as long as it is performant and easy to maintain. PostgreSQL or SQLLite will work.

for frontend interface, do you have any preference for a specific JS/CSS framework?
Nope. TBH, there may not be a need for a frontend client. Most of the work will be on the backend anyway, and SSR is fine for us.

@gitcoinbot
Copy link

gitcoinbot commented Aug 11, 2022

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work for 25000.0 ALGO (7409.62 USD @ $0.3/ALGO) has been submitted by:

  1. @mawut0r
  2. @tee-py
  3. @mark-ruddy
  4. @almoloo
  5. @cryptofervid
  6. @avalias
  7. @ubinix-warun
  8. @mul53

@joe-p please take a look at the submitted work:


@cryptofervid
Copy link

Hi, any updates on the results of evaluation and payout?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants