神秘的 Web3
web3 相关的知识没少学,还是不知道能做什么。感觉还是无从下手。其实 web2 能做什么,web3 就能做什么。 今天分享一个简单的 demo. 这个项目的灵感来源了 HackQuest 每月的黑客松比赛项目。
web3 打卡项目
HackQuest 是一个适合所有人的 web3 开发平台。不仅有很多的学习资料,还有黑客松项目可以练手。
今天要做的这个打卡项目就是从这里的比赛项目获得的灵感。
- 项目名: GoalQuest
- 核心理念:趣味化、社交化、奖励驱动的任务质押打卡平台,让用户在共同目标的激励下,养成好习惯,并获得代币奖励。
- 主要功能:
-
任务创建/加入:
-
任务类型:
- *经典任务:**读书、学外语、健身等日常习惯养成类任务。
- *Web3任务:**学习Solidity、了解DeFi协议、参与DAO治理等Web3技能学习任务。
- 挑战任务: 周期性挑战,例如“30天写作挑战”、“7天冥想挑战”等。
- 自定义任务: 用户可以自由创建任务,设置任务描述、打卡标准、所需质押代币数量等。
-
任务详情:
- 清晰的任务描述: 详细描述任务目标、参与要求、打卡标准、周期、奖励等信息。
- 标签系统: 便于用户搜索和筛选感兴趣的任务,如“#读书”、“#Web3”、“#健身”。
- 预览模式: 用户在加入任务前,可以查看其他参与者的信息、过往打卡记录。
-
任务匹配:
- 智能推荐: 根据用户兴趣、过往参与记录,推荐合适的任务。
- 自定义筛选: 用户可以根据任务类型、难度、周期等条件筛选。
- 好友邀请: 用户可以邀请好友加入同一个任务。
-
加入流程:
- 质押代币: 用户需要质押一定数量的代币才能加入任务。
- 确认合约: 用户加入任务后,会签署智能合约,保证质押资金的安全性。
-
-
每日打卡:
-
多样化打卡方式:
- 文字记录: 每日记录学习/实践心得、进展情况。
- 图片/视频上传: 上传相关照片或视频,证明任务完成情况。
- 第三方数据接入: 连接Strava、Google Fit等健康类App,自动同步健身数据。
- NFT 凭证打卡: 用户完成每日任务后,领取一枚每日打卡 NFT。
-
AI评估:
- 基于自然语言处理的文本评估: AI 分析用户文字描述,判断是否完成打卡要求。
- 基于图像识别的图片/视频评估: AI 分析图片/视频内容,判断是否符合打卡标准。
- 数据验证: 验证第三方数据是否与任务目标一致。
- AI 评分: 对每次打卡进行评分,给出反馈和建议,帮助用户更好地完成任务。
-
打卡提醒:
- 自定义提醒时间: 用户可以设置每天的打卡提醒时间,避免错过打卡。
- 推送通知: 发送推送通知,提醒用户打卡。
-
补打卡机制:
- 有限次数的补打卡机会: 允许用户在一定时间内补打卡,但会扣除少量代币。
-
-
同行复审 (3-Peers Review):
-
复审机制: 如果用户对AI评估结果有异议,可以发起复审。
-
复审小组: 随机选择 3 位同一任务的参与者组成复审小组。
-
复审流程:
- 用户提供证据: 用户可以提供额外的证据,例如更详细的描述、图片/视频等。
- 小组讨论: 复审小组成员查看用户提交的证据,并进行讨论,最终投票决定是否完成。
- 仲裁: 如果复审小组意见不统一,由平台仲裁。
-
复审奖励: 复审小组成员可以获得少量代币奖励。
-
-
奖励分配:
-
资金池: 所有参与者质押的代币,构成任务的资金池。
-
奖励规则:
- 全勤奖励: 完成所有打卡的参与者,平分资金池中的奖励。
- 部分完成奖励: 根据完成度分配部分奖励。
- 复审小组奖励: 复审组成员根据参与复审的次数获得奖励。
-
透明化: 奖励分配规则、参与者列表、奖金池余额等信息公开透明,记录在链上。
-
自动发放: 任务结束后,奖励自动发放至用户钱包。
-
NFT勋章奖励: 用户完成整个周期任务之后可以获得专属的NFT勋章,用于展示。
-
-
社区互动:
- 任务聊天室: 每个任务都有一个专属的聊天室,方便参与者交流学习心得、互相鼓励。
- 公开讨论区: 所有用户都可以参与的公开讨论区,分享经验、提出建议。
- 排行榜: 根据完成任务数、参与时长等数据,生成排行榜。
- 社交分享: 用户可以将自己的打卡成果、任务成就分享至其他社交媒体。
- 关注系统: 用户可以关注其他用户,了解他们的任务进展情况。
技术选型:
- 区块链: 可以使用以太坊、Polygon、BSC等成熟的公链。
- 智能合约: 编写智能合约,实现质押、打卡、评估、奖励分配等核心逻辑。
- 前端框架: React、Vue.js等。
- AI服务: 使用云端AI服务,例如Google Cloud AI、Amazon AI等,提供文本、图像/视频评估服务。
- 存储: IPFS/Filecoin等分布式存储。
最终实现的效果
先本地看看, 等后面部署了,再一起玩