4esee – ETH Tokyo2023 WIP zkApp

4esee – ETH Tokyo2023 WIP zkApp

4esee
Prediction platform for future events built on Mina using SnarkyJS

Project Description When we learned that Mina will be a sponsor, the first thought we had was: “Wow, chain without DeFi! We had to bring one here”, but then inspiration changed to the common sense and all these stories about TornadoCash, Zk money and other unlucky projects come to mind. So, after some considerations, our final idea is somewhere in-between our lovely decentralized finance and… games.

We tried to create the platform where users could make bets on any future event (sports, election results, price movements etc) and all of this privately hiding the tendencies until reveal. How it’s Made The project is written in TypeScript using SnarkyJS, tests are written using jest framework. It consists of 3 zkApps: BettingEvent, Token and Oracle.

The project is written in TypeScript using SnarkyJS, tests are written using jest framework. It consists of 3 zkApps: BettingEvent, Token and Oracle.

BettingEvent is the main contract that represents the Event on which users make predictions whether it will happen or it will not. The user selects the side (will happen/will not), size of their bet and executes bet. The bets are accepted until some time called start. There is a specific time after which event status can be revealed. Reveal can be called by anyone. Oracle is the contract responsible for processing the results of event from some trusted party.

Once results are known, winners can claim their rewards.
The reward comes from the assets lost by other participants. The contracts were deployed to Mina testnet:
{ EVENT_CONTRACT: ‘B62qr5tZ18UMMwecc9YqBDPvGDoGhHSiJXSe2d3HBVLUBrwh8ofeN4j’,
BET_FOR_TOKEN: ‘B62qrJQQqKHmpPVKCvLNvuZsKyzL1XaVFCxcNjRkGHdCYh3jTo83fFv’,
BET_AGAINST_TOKEN: ‘B62qk2VcTSdB6v67C86SvmfQnb2YqFRHxrp3Qutc2JEzZh9DvVAVBtt’,
ORACLE_KEY: ‘B62qmjEG2MVBNAfHPw9Z1rpxXaCSwnE94kVqfXX3SiudWQXpbeXE9Ai’ }

GitHub: https://github.com/KStasi/4esee-core

Download zip file of slides >

zkok-id: zkok63 Categories: , Tags: , ,

Hindi

4ईज़ी SnarkyJS का उपयोग करके मीना पर निर्मित भविष्य की घटनाओं के लिए भविष्यवाणी मंच परियोजना विवरण जब हमें पता चला कि मीना एक प्रायोजक होगी, तो हमारे मन में पहला विचार यह था: “वाह, डेफाई के बिना श्रृंखला! हमें यहां एक लाना था”, लेकिन फिर प्रेरणा सामान्य ज्ञान में बदल गई और टोर्नेडोकैश, ज़ेडके मनी और इन सभी कहानियों के बारे में अन्य दुर्भाग्यपूर्ण परियोजनाएँ दिमाग में आती हैं। तो, कुछ विचार-विमर्श के बाद, हमारा अंतिम विचार कहीं न कहीं हमारे प्यारे विकेंद्रीकृत वित्त और… खेलों के बीच में है। हमने ऐसा प्लेटफ़ॉर्म बनाने का प्रयास किया जहां उपयोगकर्ता किसी भी भविष्य की घटना (खेल, चुनाव परिणाम, मूल्य उतार-चढ़ाव आदि) पर दांव लगा सकते हैं और यह सब निजी तौर पर प्रवृत्तियों को प्रकट होने तक छिपा सकते हैं। यह कैसे किया गया प्रोजेक्ट को SnarkyJS का उपयोग करके टाइपस्क्रिप्ट में लिखा गया है, परीक्षण जेस्ट फ्रेमवर्क का उपयोग करके लिखे गए हैं। इसमें 3 zkApps शामिल हैं: बेटिंगइवेंट, टोकन और ओरेकल। प्रोजेक्ट को SnarkyJS का उपयोग करके टाइपस्क्रिप्ट में लिखा गया है, परीक्षण जेस्ट फ्रेमवर्क का उपयोग करके लिखे गए हैं। इसमें 3 zkApps शामिल हैं: BettingEvent, टोकन और Oracle। BettingEvent मुख्य अनुबंध है जो इवेंट का प्रतिनिधित्व करता है जिस पर उपयोगकर्ता भविष्यवाणी करते हैं कि यह होगा या नहीं। उपयोगकर्ता अपने दांव के पक्ष (होगा/नहीं होगा), आकार का चयन करता है और दांव निष्पादित करता है। दांव प्रारंभ कहे जाने वाले कुछ समय तक स्वीकार किए जाते हैं। एक विशिष्ट समय होता है जिसके बाद घटना की स्थिति का खुलासा किया जा सकता है। रिवील को कोई भी कॉल कर सकता है. ओरेकल किसी विश्वसनीय पार्टी से घटना के परिणामों को संसाधित करने के लिए जिम्मेदार अनुबंध है। एक बार परिणाम ज्ञात हो जाने पर, विजेता अपने पुरस्कारों का दावा कर सकते हैं। इनाम अन्य प्रतिभागियों द्वारा खोई गई संपत्ति से आता है। अनुबंध मीना टेस्टनेट पर तैनात किए गए थे: { EVENT_CONTRACT: ‘B62qr5tZ18UMMwecc9YqBDPvGDoGhHSiJXSe2d3HBVLUBrwh8ofeN4j’, BET_FOR_TOKEN: ‘B62qrJQQqKHmpPVKCvLNvuZsKyzL1XaVFCxcNjRkGHdCY h3jTo83fFv’, BET_AGAINST_TOKEN: ‘B62qk2VcTSdB6v67C86SvmfQnb2YqFRHxrp3Qutc2JEzZh9DvVAVBtt’, ORACLE_KEY: ‘B62qmjEG2MVBNAfHPw9Z1rpxXaCSwnE94kVqfXX3SiudW QXpbeXE9Ai’ } GitHub: https://github.com/KStasi/4esee-core

Türkçe

4esee, Mina üzerinde SnarkyJS (O1labs) kullanılarak inşa edilmiş gelecekteki olaylar için bir tahmin platformudur. Proje Açıklaması Mina’nın sponsor olacağını öğrendiğimizde ilk düşündüğümüz şey şuydu: “Wow, DeFi olmayan bir zincir! Bir tane getirmeliyiz buraya”, ancak sonra ilham, ortak akıla dönüştü ve TornadoCash, Zk para ve diğer şanssız projeler hakkındaki tüm bu hikayeler aklımıza geldi. Bu nedenle, bazı düşüncelerden sonra, nihai fikrimiz sevgili merkeziyetsiz finansımız ve… oyunlarımız arasında bir yerde. Kullanıcıların herhangi bir gelecekteki olay üzerine bahis yapabileceği ve bunları ortaya çıkana kadar tüm bu eğilimleri gizlice saklayabileceği bir platform oluşturmaya çalıştık. Nasıl Yapıldı Proje, SnarkyJS kullanılarak TypeScript dilinde yazılmış olup, testler jest framework kullanılarak yazılmıştır. 3 zkApp içermektedir: BettingEvent, Token ve Oracle. BettingEvent, kullanıcıların olayın gerçekleşip gerçekleşmeyeceğine dair tahminlerde bulunduğu ana sözleşmedir. Kullanıcı tarafını (gerçekleşecek/gerçekleşmeyecek), bahis miktarını seçer ve bahis yapar. Bahisler, start adı verilen belirli bir süreye kadar kabul edilir. Olay durumu ortaya çıkabilir bir süre vardır. Herkes tarafından ortaya çıkarılabilir. Oracle, olayın sonuçlarını işleyen güvenilir bir taraftan sorumlu olan sözleşmedir. Sonuçlar bilindiğinde, kazananlar ödüllerini talep edebilir. Ödül, diğer katılımcılar tarafından kaybedilen varlıklardan gelir.

Sözleşmeler Mina testnet’e dağıtıldı: { EVENT_CONTRACT: ‘B62qr5tZ18UMMwecc9YqBDPvGDoGhHSiJXSe2d3HBVLUBrwh8ofeN4j’, BET_FOR_TOKEN: ‘B62qrJQQqKHmpPVKCvLNvuZsKyzL1XaVFCxcNjRkGHdCYh3jTo83fFv’, BET_AGAINST_TOKEN: ‘B62qk2VcTSdB6v67C86SvmfQnb2YqFRHxrp3Qutc2JEzZh9DvVAVBtt’, ORACLE_KEY: ‘B62qmjEG2MVBNAfHPw9Z1rpxXaCSwnE94kVqfXX3SiudWQXpbeXE9Ai’ } GitHub: https://github.com/KStasi/4esee-core

Featured zkApps
MAC!
Katz
Anomix
Social Cap
zkLocus
Protokit
Pado
Wordle
zkFusion
zKeeper
Scroll to Top