tezos-contrib / gitcoin-bounties

All the gitcoin tezos submissions live here
MIT License
8 stars 4 forks source link

🦋 Builders for builders - Metamorphosis bounty #24

Open KittiBorissza opened 1 year ago

KittiBorissza commented 1 year ago

The technology, the knowledge, the tooling, the legos, the friendships, the support; all of it residing within the cocoon. It's time for metamorphosis. The Metamorphosis hackathon is about channeling the magic of builders and bringing the abrupt change that propels us all out of the cocoon.

In this bounty, builders build for builders. What is the tool you are missing in your everyday life as a Tezos developer? What is a tool that could improve the entire ecosystem? What is a tool that all other ecosystems have, but Tezos doesn’t? Can you build it quickly? Start now and see the butterfly effect.

Requirements:

Judging criteria:

Technical:

Design and UX:

Prize

$15000 in tez in total and it’s up to the judges to distribute based on submission qualities. We reserve the right to not pay out prizes if none of the applicable submissions meet the minimum criteria.

Developer resources

Tezos General Resources

Developer Portal - starting place for Tezos OpenTezos - explore technical and economic concepts behind Tezos Coding schools Tacode - learn Tezos development from simple recipes with your peers Ligo Academy - learn to code Tezos smart contracts the easy way 4 different ways of coding smart contract languages on Tezos SmartPy - an intuitive and powerful smart contract development platform for Tezos LIGO - a friendly smart contract language for Tezos with 4 different styles Archetype - a general purpose language to develop smart contracts on Tezos with exclusive features to ease development, test and formal verification Michelson - low level language of Tezos smart contracts Smart Contract IDEs LIGO Online IDE SmartPy Online IDE Archetype Gitpod Michelson Online Playground

Blockchain Explorers

TzKT - TzKT is a user-friendly and highly detailed Tezos block explorer Better Call Dev - Tezos smart contract explorer and developer dashboard Frameworks and libraries Taquito - A library for building dApps on the Tezos Blockchain - JavaScript / TypeScript PyTezos - A Python library for interacting with Tezos blockchain, testing smart contracts, and writing Michelson scripts. DipDup - Python SDK for developing indexers of Tezos smart contracts inspired by The Graph. Chinstrap - A development environment, testing framework, and origination pipeline focused solely on Tezos. QuePasa - a lightweight indexer for specific contracts

Tezos Community

Tezos Discord Agora Forum Tezos StackExchange Tezos Riot Chat Tezos Reddit Tezos Platform Telegram Tezos Developers Telegram

gitcoinbot commented 1 year ago

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


This issue now has a funding of 8804.8627 XTZ attached to it as part of the tezos-contrib fund.

gitcoinbot commented 1 year ago

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


Work for 8804.8627 XTZ (15000.00 USD @ $1.41/XTZ) has been submitted by:

  1. @abmtf
  2. @strandgeek
  3. @waylad
  4. @jim-toth
  5. @kelvinpraises
  6. @lucas-v-742742

@kittiborissza please take a look at the submitted work:


gitcoinbot commented 1 year ago

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


Work has been started.

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

1) strandgeek has started work.

I'm going to build a tooling and UI that makes the development of dApps in Tezos easy in React Applications. After developing some dApps in tezos, I realized that there is a way to componentize various UI elements that are commonly used in a tez application. The goal is to attract more developers to the Tezos blockchain as we will have a user-friendly toolkit to get a quick start on developing dApps in React. 2) abmtf has started work.

Inspiration Till now, BUIDL is not only a crypto meme that calls on people for building the blockchain and cryptocurrency ecosystem instead of passively holding, but also a future of work in the web3 world where people invest their time, money, efforts, and expertise to exchange for ownership or a piece of project or business in remote, permissionless collaboration and thus build their careers like portfolio managers.

As in the traditional business world, credit and reputation are still the cornerstones of web3 BUIDL, and more importantly. The reputation and its evaluation systems of web3 BUIDL help recognize and incentivize participants' contributions, which is crucial to the growth and sustainability of any web3 project or product. And we can see such examples of reputation systems as points, levels, titles, badges, certificates, and social tokens.

Nonetheless, there are problems existing in current reputation systems such as arbitrariness, inaccuracy, silo and fragmentation in the record, difficulties in verification and authentication, achievements that are easy to be falsified, modified, and removed by third parties, and reputation damage from the direct tokenization happened in some social tokens.

Proof of BUIDL Protocol or POB Protocol aims to provide an effective solution to those problems listed above.

What it does The POB Protocol is defined to be a decentralized workflow protocol for web3 BUIDL by which users issue, claim, submit, and verify tasks through smart contract and validator network and all data is stored on public blockchains and decentralized storage networks. Each workflow supports the Soulbound Token as BUIDL-based verification, which constitutes a verifiable reputation system.

How we built it The POB Protocol implements a Decentralized Verifiable Reputation Protocol, which enables users to acquire a web3 BUIDL reputation by participating in verifiable workflows without having to accumulate their reputation from any centralized and siloed infrastructure.

The POB Protocol can be divided into a stack of distinct interoperable layers as shown in Figure.

pob-stack-v2.png

Consensus Layer The POB Protocol has several components which require a blockchain-based consensus layer to provide guarantees that mechanisms in the protocol (validation, payment, voting, etc.) are immutable, irreversible, and can be carried out without the help of a central governing authority. We will use an existing EVM-compatible blockchain such as Ethereum, or Polygon for this purpose.

Storage Layer Other than core assets and states in smart contracts, the POB protocol stores data such as user submissions, workflow profiles, and other data on decentralized content-addressable networks such as IPFS or Arweave for permanent data storage.

Validator Network The network is grouped according to the type of task requested by the reviewer, with each group consisting of a number of validator nodes, each node providing the same functionality and specifications. When a task triggers the validator network to provide a service, the node will sign the result data according to the service content and then upload it to the data center. Within a certain period of time, the validator network gets the data from the data center and calculates the final data based on rule aggregation (BFT, or Byzantine fault tolerance). If the user has authorized the validator network, then the network will automatically authorize or deny based on the results. If not authorized, the user can get the reference data from the POB backend.

Validator requires to stake $POB, the native token of POB Protocol, to join the network and will be rewarded or slashed by the system based on its own validation performance.

Contract Factory The POB protocol uses a specifically designed Contract Factory to process workflows consisting of single and multiple tasks created by the protocol participants involved on-chain, combined with the work of the validator network to produce Incentive Token and Reputation Credentials as incentives and reputation validation.

Factory Contract - the decentralized workflows implemented by the POB protocol require using multiple smart contracts with similar functionality but different data, with factory contracts acting as units dedicated to producing contracts to represent and implement their workflow instances. Task - the basic unit that executes the workflow. The task can be created by all protocol participants, and the taker can only submit content on the task. The task contains information about the reviewer, the taker, and the flowing states. Workflow - a set of tasks that represent workflow instances and store some core rules data. Workflow is created and approved by the issuer, claimed, and minted soulbound token by the taker. Incentive Token - The POB protocol supports the protocol native token $POB, stablecoins such as USDT/USDC/DAI, and other ERC20 tokens as incentive tokens for accomplishing workflows. Reputation Credentials - The POB protocol enables takers to mint soulbound token as their reputation credentials for accomplishing workflows since reputation results from the social evaluation of a set of behavior or performance of a social entity by the counterpart. Marketplace The decentralized marketplace supported by the POB Protocol not only enables users to pay to use workflow templates developed by the protocol but also enables community developers to create task templates and workflow templates applied to different specific needs and scenarios for others to pay to use in order to prosper the protocol ecosystem.

Workflow Template - it is a mandatory option when creating a workflow, and it represents a specific application scenario for a workflow that users can get from open API or SDK powered by the POB Protocol in the marketplace. Task Template - user needs to select the task template when creating a workflow, which represents the type of tasks supported and which users can get from open API or SDK powered by the POB Protocol in the marketplace. DApp Store The POB protocol supports a wide range of use cases (described below) and encourages community developers to build DApps for a variety of different needs and scenarios using the combination of capabilities and markets provided by the protocol.

Participants There are four different roles of protocol participants as follows:

Builder - the participant who creates task templates and workflow templates for the Issuer to use, and provides the corresponding validation services for the task if needed. Issuer - the participant who publishes the workflow. The issuer requires to configure the workflow information and task information. Taker - the participant who claims the workflow. Only the taker can claim the workflow and submit the task. Reviewer - a participant who reviews and approves a workflow, either by the issuer or by a third party designated by the issuer. The reviewer can request verification from the validator network. Challenges we ran into We found that web3 projects have a trust issue when working with people, capital, and other projects and ecosystems. Especially when the way of our work became remote and decentralized, the trust and reputation between projects and people became an obstacle to reaching a truly permissionless build.

Most of the existing solutions are oriented toward recording the results of the user's completed work. On the one hand, there is no way to verify the quality and status of the user's completed work, and on the other hand, there is a lot of uncertainty about the reputation of the issuer of the results, which leads to no standardized way to verify the user's reputation.

Accomplishments that we're proud of We have finished developing a fully decentralized workflow protocol that can support almost all use cases from the architecture level, making the POB Protocol applicable to a variety of scenarios.

After the first MVP was developed, we immediately introduced our product to the outside world and were recognized by many customers, which also strengthened our idea that the POB Protocol is an indispensable cornerstone to support the building of the web3 reputation system and even the evolution of the web3 ecosystem.

At this stage, we have already applied the POB Protocol to some products, such as MetaJam Quest, and the DAO community's collaboration.

What we learned We put a lot of effort into pre-product design, which has helped us a lot in product development. The extensive design and verification made the protocol architecture more flexible and reduced rework.

We also learned a lot from the customer surveys. For example, the recruitment workflow was inspired by the prospective client to refine a more compatible recruitment workflow template from a real-world use case. This case made us realize that it's time to talk to more customers about cooperation.

What's next for POB Protocol After the initial design of POB Protocol architecture, we need to standardize, specify and quantify the definition of reputation, and hope to find a standardized solution for defining reputation through contact with different types of customers and demand exploration. Futhermore, we hope to support more scenarios, each of which has its own unique process and implementation method. In the process of communicating with different projects and builders, we will build more workflow templates based on POB Protocol to meet the needs of different projects and builders, increase the success rate of demand matching, and build the reputation of projects and individuals while making profits. 3) pokesi has started work.

MiniTaco is a small library that simplifies making UIs for Tezos. It is a node.js module, that uses Taquito to make contract reads simple for developers making dApps. MiniTaco has out-of-the box support for Tezos Domains, FA1.2 and FA2 contracts. 4) waylad has started work.

I will create a tool that is much needed by Tezos developers. 5) jim-toth has started work.

There is a severe lack of Arweave adoption & support in the Tezos ecosystem for on-chain asset and data storage. The ArBundles library doesn't support signing or creation of Arweave L2 data items from a Tezos wallet keypair and there is no open source API or service available to ensure Arweave bundle transactions created in such a way are posted to the Arweave network and un-bundled. This project aims to address both issues by providing a wrapper library for the ArBundles library that adds Tezos wallet keypair support for the signing and creation of Arweave L2 data items and by providing an open-source API & service capable of accepting such bundle transactions and posting them to the Arweave network via Arweave utility wallet & accepting payment in Tezos for this service. 6) defiprince has started work.

A DeFi typescript library which helps with the interaction of the tezos DeFi protocols on the testnet. 7) kelvinpraises has started work.

Cermodel as a tool enables Tezos devs using Ceramics data store to quickly write schemas and create models alias for data storage. Creating a fully-fledged decentralized identity and community store layer isn't easy due to the difficulty of building a real-time decentralized storage system. I tried using some low-level systems like IPFS and also Orbit-Db which are great but have some gotchas that require configurations for the web. Ceramic is a Did and model-based storage service built upon IPFS and support for Did keys for Tezos ecosystem. 8) lucas-v-742742 has started work.

Tezos VSCode Extension

Learn more on the Gitcoin Issue Details page.