A universal dapp
Developer Note: Work in progress. Also check out the repo of the Gitcoin bounty oracles.
Proposed Jekyll universal dapp enables users to interact with any smart contract or platform. To show at the hackathon, users can use 2 different bounty services - Gitcoin and Status Open Bounties (SOB) - from a single Jekyll interface.
How does it work?
User can write a message in his own custom language, format, standard, you name it. He can even use emoji! Once we detect that the message is an developer issue, bounty services (Gitcoin, SOB for now) are offered to user. User can choose whichever service he prefers. In the next step, user's message is converted to Gitcoin/SOB standard and sent to the service.
Technology + big picture
Interoperability is a big topic now. There is no "one size fits all" format of messages that things can use to communicate. We need a system that enables anybody to introduce his own standard ("language") immediately understandable to others. Jekyll dapp is backed by such a system. There are converters (state oracles) to translate one standard to another (e.g. "emoji issue" to a Gitcoin bounty). As a result, all humans, machines and software (incl. smart contracts) will be able to seamlessly and autonomously interact with each other.
Where is Ethereum?
Infrastructure of state oracles and other parts of the project need to use many crypto-primitives like staking tokens, TCRs etc.
More on the topic
Generalized idea: You can speak your thoughts in your own way (language) and a universal dapp always offer you resources able to handle your messages. Universal dapp is close to an IA (intelligent assistant): You don’t have to seek and choose a specific service in advance. Instead, you can explore new services on fly.
Interoperability is a big topic now. Creating a universal dapp (single user interface to everything) means solving the interoperability problem. There are 2 ways (at least) how to reach the interoperability:
- We push everybody to agree on a same standard. or
- We make various standards convertible between each other.
I believe in the second approach. There is a parallel with languages. Should all the people in the world use one rigid language? Or a language that evolves? “Language that evolves” means that anybody can invent new words (e.g. buidl) and influence others. Users of the language use a translator if they don't understand the new word.
Universal dapp is backed by an infrastructure that consists of simple oracle translators (converters) from one language — format and standard — to another. The infrastructure brings self-evolving languages for humans, machines and software: Everything will be able to seamlessly communicate with each other.
With this infrastructure new languages — formats and standards — will arise. Developers can introduce new standards understandable to others from day zero. More useful (efficient) standards gain wider adoption.
There are no barriers for adoption of new services or using any resource once we have universal dapps. Technologies will evolve at the same pace as society.
Jekyll is currently under development and continues under Unframework project.