From 0b76c6b30f0d66aeeff5c1dc7fbf5acad4ccb891 Mon Sep 17 00:00:00 2001 From: "clement.l" Date: Tue, 26 Nov 2024 11:22:12 +0800 Subject: [PATCH] docs: update README --- README.md | 100 +++++++++++++++++++++++++++++-------------- assets/drip_logo.png | Bin 77105 -> 43700 bytes 2 files changed, 68 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 568fa73..b1128f7 100644 --- a/README.md +++ b/README.md @@ -1,79 +1,115 @@ -# Drip + +
+

+ Logo -A revolutionary decentralized incentive learning system built on-chain. +

Drip

+ +

+ A revolutionary decentralized incentive learning system built on-chain. +
+
+ ETHGlobal Showcase +

+

## Overview -Drip enables users to create and manage challenges, maintain user profiles, and handle tokenized vaults. The system is composed of several key components: +Drip is a decentralized protocol that enables users to create and manage challenges, maintain user profiles, and handle tokenized vaults. The system comprises several key components: -- DripProfile: An ERC-721 that governs user profiles and associated data. -- Challenge: An ERC-721 to manage individual challenges. -- ChallengeManager: Coordinates the creation and lifecycle management of challenges. -- DripVault: An ERC-4626-compliant vault that handles token deposits and withdrawals. +- DripProfile: An ERC-721 standard for managing user profiles and associated data. +- Challenge: An ERC-721 token for managing individual challenges. +- ChallengeManager: Coordinates the creation and lifecycle of challenges. +- DripVault: An ERC-4626-compliant vault for token deposits and withdrawals. ## How It Works -1. Initiate a Challenge: - - Learners can start a challenge within a predefined timeframe, choosing an amount to deposit as a commitment. -2. Receive a Progress-Tracking NFT: - - Upon creation, the learner is issued an NFT that records their challenge progress. -3. Daily Task Completion: - - Learners complete assigned tasks daily. Task progress is automatically updated and reflected in the NFT. +1. Initiate a Challenge: Users can start a challenge within a predefined timeframe, committing a deposit amount as collateral. +2. Receive a Progress-Tracking NFT: Participants are issued an NFT upon challenge initiation. This NFT dynamically tracks their progress. +3. Daily Task Completion: Participants complete daily tasks. Their progress is automatically updated and reflected on their NFT. 4. Challenge Outcome: - - For Successful Days: Learners retrieve their deposited amount corresponding to the days completed successfully. - - For Unsuccessful Days: The deposits for incomplete days are allocated to the reward pool to incentivize successful participants. - - Additional Rewards: Successful learners earn an additional reward from the share of the reward pool accumulated from the deposits of all incomplete days across participants. + - Successful Days: Users can reclaim their deposits for the days they complete tasks successfully. + - Unsuccessful Days: Deposits for incomplete days are allocated to a reward pool. + - Additional Rewards: Participants who successfully complete challenges earn additional rewards from the reward pool, funded by incomplete day deposits across all participants. ## Rewards Calculation **Claimable Deposits** +Represents the amount users can retrieve based on successfully completed days. + ![claimable_deposits](assets/reward_claimable_deposits.png) **Additional Rewards** +Reflects a share of the reward pool distributed to successful participants. ![additional_rewards](assets/reward_additional_rewards.png) **Total Redemption** +Combines claimable deposits and additional rewards for a comprehensive view of user earnings. + ![additional_redemption](assets/reward_total.png) ## Architecture The protocol consists of four main contracts: -**Challenge.sol**: Foundational contract for challenge operations. +**Challenge.sol** -- Facilitates challenge creation. -- Manages the state of individual challenges. -- Retrieves challenges for a specific epoch. +- Core logic for challenge operations. +- Facilitates challenge creation and manages individual challenge states. +- Retrieves challenges based on specific epochs. -**ChallengeManager.sol**: Orchestration layer for challenge lifecycles. +**ChallengeManager.sol** -- Establishes new epochs. -- Manages the lifecycle of epochs. -- Oversees epoch rewards using the DripVault. +- Orchestrates the lifecycle of challenges and epochs. +- Establishes new epochs and manages their rewards through the DripVault. -**DripProfile.sol**: User profiles management and engagement. +**DripProfile.sol** -- Enables profile creation. -- Maintains and updates profile data. -- Tracks and records daily completions. +- Manages user profile creation and updates. +- Tracks daily task completions for users. -**DripVault.sol**: Tokenized asset management of epoch rewards. +**DripVault.sol** -- Facilitates deposits and withdrawals of tokens. +- Handles tokenized asset management for epoch rewards. +- Facilitates token deposits and withdrawals. ## Deployed Contract Addresses -Unified CREATE2 addresses for multi-chain deployment: +The protocol utilizes unified CREATE2 addresses for multi-chain deployments: - Challenge: `0xaDcaAe61b8983940FB2c8098BDe112e507A0e1f0` - ChallengeManager: `0xB3084eF0Dc7440e32A6cD64e2E5072FBCd9AEEeE` - DripProfile: `0x0E69Ba1FF53c36D0fbb4fccC0e9B732D58593B2f` -The contracts are live on the following testnets: +Currently live on the following testnets: - Base Sepolia - Mantle Sepolia - Polygon zkEVM Cardona + +## Contributors + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
diff --git a/assets/drip_logo.png b/assets/drip_logo.png index a7243fc02e879c4e09f1374701114a8db3ca03df..ae781479faff9d53f44ea7c6a1721ce23c80697f 100644 GIT binary patch literal 43700 zcmeHQYgAKL7CtcuDleblgO^rI*Qm7kfQ%p@g9tiB$68A*l)wmD5+E8BP>^V)=r9#p zM-iXnqjgO|3}Sf*%7xa_mX~5hN<^YAk}5&K3=bv1>~ll3%v#eQ&cdSZvljOz_vVtD z@9zEWefHUBpWQ2bmKcwkJcZ)z~O{^vb<;lFYVkzL?TB9A z6W=cJ3QsZHU9v=?|JfW{$sy6s6`##n!n_+AE=iVGk5DzHuJl-XH%RR{QyFvWsvke8 z$Frq;GW>HQc~jn+3brkXuHo+apKH zy{r`VJ&a3J;5OHYvj+6M)dtpupf91#IRVa%u1QkXPtm<5#AbRO>r-ftjM$ySd3w$r zFCzpY0f9g%0T57eC^aA{00>A500NQ%fH3%^AfVr3+g#w96HsMKii}iQij6tyVMKm% zey%e96gUVq2b(%w&)%T^f%8Y^+MS@H(Lo){PX@!^^;6=qFuR)( zH8lUv;TfVMg`5exhn&fRF!-E_`iA=UGV0rv%kZm2zVAikD!EQQ1qxXh?aJ@DSFNd1 zih4rpjo@A43~JJO()f^DhjY`nFVv$!|I)83%G8>^PR7Mi*&YN3cp2AVt7|D^UXXDD zO;x3(%yYtU&iErmc_fP2zkSBAuiQ57bds0|Q{Bc1mrgL7Izu>eJaa#L>=<{w)_jxI z%IWWv?7ijpbW~)}gE|;Q1-Zf?Du94NQ~&|>jnXWV0)T*|03Zwp)0oli#tv zX)Oj0Ykb7crZkyAZ}YE`4ct625dpQH3JPjH1!3rDJz64^Nh*;jlPn16o>CYFlEV5) zglrRweQ)#+74-f%N8J@!;0*DFBGE^fK7ga3RAz7#6hL^pN^lNaPkJiKAVNop+H#8M}s+kmR>)^!!A7%y)`zRJ(rl`RYT(yle2JpH*fsU-Wq- z{onvLx|b}QqM8B>m@q{XNw5N+V+ue(c6KjAuic-W)Cs*k!4o zGg|m0Q=pp{TTy5#%r#QUXZHI^)m`*H!kOrHJGJb( zr=^?M-Z6eQi+?;nY5JsThI-W@ql!7I452Daulc&?6x&vV{KVw4xTEtc+2mK7wF3%r zrVW^t_9ayF)HO-UfUp`~Mu`$30ir}H0is030ir}wKvK}!isdX+;o9jlC(L=H6e=i@pAvD$>)N;MHpPBGt?EDbf0R8p^{K^&?3V8bRG^%Lmmwr5B|1&o ziHZYRfJh3+lUj{H(*Zc_tfBKV3-8NP(*kU{(!aPaXIGOX63ZYOmXz?q&fy(dZjZI3a^I3WMyAngM z>JOqvZsF|kXO@oemCZ2czc%XX>tpT)mK{hLmu=ZL>|CHC*r$qX-K4*|t*pJzG@=&WHa z!9kg@a=d~giHq#JO_)o(_>grzriE7$vbj>FOSFJL+tn^gaTWsWyvqCkS$QSSe`-QqA(1s?Ek_~19mXzC_YLTHZ@_!oU`vgNO#X=t%J98U+A`Ez_9k%{~alT{yp^HKe^N!sE`$K z-;BKXX_}zLggJTvEcom`XG>D+SfqK}t;uR%Pda`~KkZYQpjLuUB1y{ZLz}l%lq3Q8?a6m`M)>A+qG@HG%WhYqduuck4bZ zFSO_~?auDwNan&i%1qkB&4R3jRuLJ+A1i0lrIu;4xVBB&vqjJrNk~^x@G0#!H2erb2_<%;n4M$$ y00=nd0U+R*2Y`U203aYKP!Nz50EA~Hg?~@U4|bYsalpQmLg~HO$0O67zvDkN5_Rza literal 77105 zcmeHQ2~-qE8ZHiduS`>&dRjR_iIXWPY=5MnoKWWYE=9B9#j*tDgGTi^BQL=WxcBPT==()$heXYs?( z73*lFMbx+v!^p-0m#g%|YO4QR{)A*NeePaZ8)DJ>*HHofZ^v4wO8Z%GeH}=)wI+H( z@VlLp{?V;RVO@qN{efsu!bWR!YV5p zVU4>~SVJsuOF~S561W736G{d25>zD&icl(GcAvF#!mC~ob_!G#R25W}P%5CRp0%oi zUV>hNUV>f{A^^RFD438F2+SdT=`JJ%T)5v?mC8*~)&p#ag~R@V3*0Of3*5ZItgNr_ zRy{{Xx@IoZMY<6>=Y+Jv3kJM~k%~wGU;Rn>>U|3kq5{2y2*AH_7eWI6=J)*@9bP~Q zC}F@X)EyWwKUIUWQKAD}S>;=Hquy1z?|SyxS^7Hn%Kn1hP^a~f`KOn zo>CDhFz|d*15dng1ed@ip@M1k<0qLsU5Lpuu*Ce*G@t!T`g8kUxm&zt;dq&ix0SQ> z;|>dImTjCjQ?_@?F( zv)q5WsSC@eSEw%Y!%H2;d{jH5;@)&w_k)W(JzP8Ju2*xlE3Vhf(VcKfzKI!e4RM5Q zKY#Le%8BLr|Ll77fv&;B{ls1m%leX7`-q)D6XO;%GT|%(Cjtln0o5$fDu4hifFLj@ z1G=E~L7>P9$vUkIy(+r5OPnW;r(UP@w_7Ee!uzpv zytE>vSpG2j>aIMpHpRnF>%~UasE+0D(!0GrA0{=*pRT}Vic%~&@hTSLx25M%)zjx*O zqTTUMMI|-$`3KlagM@sq4;NWyC#Ij-t!>3;+_fh|>{T~Z0oo?y$^<)Ip>eMe=h?!? zHL<9o+4#7$=h4A{pjooOi7Ri{sG0Ny1bka=v=e=YzH7n3deHYt(w9G0J2S_bY4rzN zSJ&vZd+x{a^*h$H90G1Wd{a1PaLk&eW7aCWMJ>A=ncUUxo4&SX<0Jkz)o+}WzfIuq zZI;UxlZZpovD=F01vZTO_UkII!hhBbpMBj`uhR4f3>XO@00h*qlcsZRsC>ZA0fLsy z0&f>eV%e;-v%+1|wc%OH@-_*jGqT*Qqio#kud^*#5ZnU+bk~L#n?;zdLXm4p{bfPVqiW8%e`QYS4R`e3~dF#tkcLxN305e%J zla>DN8Uz6lfCW!f5ER9`BbZOh=j_^^zGJ6z(cy|uDz1K_H@e)=n!0J>bG;PHFV^JO zvkZf3i3>|ASgejMO^j^}b|hx^x|y_xpH8o+|7utuLH`|u1gAC@4TVQb^2O8_;Pi<3 z;Ghbq0;)Xf>DK3>cQ)p{@*~t+ zZ?;>lp)VvH8~z?zRYwbxHtkGv?|+rjndr;?tku5IEb?cCzJ%4_bZss$_|lx^ZbtBLeyaZJ;M!LYE@edEKu zIBQzUJ-n(fi3h2F@-6XGCgjW{B=S;&o6*e$RX61C4wVqzzfj1IKB82|)&^NK>_yyC z3l%?f96HWO?`n%?WL-dS&>Qp?AOL^qnR~s^OVCRKsWcS=YpH`e(A#Y3-ItKlqLr_k zV_*RsG+PcLZbl$+u#KYJe0QnPr!bM*+cLt!f4cULj;<_nv?T4nsdn?9Z}Feuih0Mq z7Am-a8B3g{YmZ;a`ts;^-}amLYM+>@(z?u>UkQ?ZrJOKKO{|=Roq1h02V+H z*gBuk1%Lo7fFM8@P*)Lx@aIB616dInW^IA^^F||(Wig5U6<-xrr7YDxbo4UgN9XOg z=k~Xd4agboxwxEt$mfd8=(DWIWqJx~2uFmg(GeSpYSRskfD>g8r~(MU0tf;%4iE%D z02VY?LEwI2j^V%ycVa6lJ|d^Co&TWX#tfZHS0q`QQ72S-yKYPDc^Ppv~^w-wsz|p$F>18x_>^?wa2BI4?>?S=+UQ6W&EV#Bz`H! zAZoIq5mx5H%3M?=AP9f}EO_>U(4LSDqnns0c4BEItTK^#fJVUS@u?!yM;kS%zN_Ny zN05ytYa-72)ZdyxWG@{Y z(J5+{a$K)EYi04zvHcZ?4&Gi|-;WX^{&GWo;irE|u5>M^Sm7*Z6xsErmMD>j%E~o2 z&Jg}@L2d=R=L{x_F9sD_JH|Emv&%)JGklYrgD+fCXKP#Y$+zzsNA_5yI2m2Mj0PG3 zCs3vJO3S^ls^oXpOV^P0Zkq z{@IVOj6D`G@5kWPv00^M>bdfBvQ=T>57?`j#?72GxU})93w%>4g-4PE- zUeTt7?2K;8wY67OnyO6ZTB#$ZXzL#CxUHh~Z%nMHCSGQtSvKMhXdg^|VN$MNRKt0G zP?~0HMX^Sr7`HOg&gJm+`xe~RxI1^w3@MBEA?t5lKIIlwTjr_r{10~3fl~ckk&n86 z^=t92lP&%D<%1+-S>5?+`8l_uA(Hi*b94V&HfYibt*9zv2O7G;fM>9ekpru%Y$4DQ z+&Ca;mO|aiyM;}v5B7s}wsIO!V*=^?LkN5~MfvR*Fd~dB^gEq7u4A_@J;uw9XCEnA z{8ljcLom1h(4o(tmvnvo$L~Wl3)jqEUbcR2`lXV+oztTBbkbUD7;9oq5O6iDS2daQ z@250KG?m9T>(yw`wAIu3E%D9%ZaHmZoc;Xwp72|RVAmh?Cvc&n^qHY zc9$0^*%WhgpY{X%D6P*=%eg}n>!%P|yVd2IPFZE``E3!7JKGTT#F*NwLX|#?r1$gz zM)%5!`~?g;G3Yck=#&bWf|v;f1XKY8U;zYy=|<=RK+s}Xpe#Lq`Qk<9{VLy#zdMI? zboEV(dk{@H&ub@+t(+Cbe9Fn0;Z+wZiF{|snUpyBEYdM@a{7*~gBaHp1Fma7o9|QP z#w~cYQ(NNwOLWYsGP-W;gZEz`@+>>nivMtH7j`t-WV5xNwNZ_UABjUMDFFm60s=aL zl;oMw`x3;|5L5fZn3`6311I2w2s9N12!crnykpe$>R4kxk6{&<`4nTOoZ!DTmsx)a zA6!nRQCXQ&+atNx4o|apXzBt>#rG{9N{Z)Onc$r`*z7J9VIrQ(B@Xc8mVgp|enluc zkT~ciHg%-Q22}}F302udB9K2nqaC7!(*3p;WXcgR&>hrzah!hBxmO8@`>