本文分享了两位开发者在Hackathon中的经验,特别是在2022年的Women Techies Hackathon中如何通过开发一个去中心化的众筹平台获取成功。这篇文章不仅提供了成功的关键要素和技术细节,还描述了开发过程中遇到的挑战以及解决方案。
黑客松在开发者的生活中扮演着非常重要的角色。它帮助你比以往任何时候都更快地成长!
第一次参加黑客松可能真的会让人感到不知所措,并且看似不可能。但如果你拥有正确的知识和合适的路径;学习或赢得一个黑客松就变得如此简单!
这篇文章特别为所有新人而写,他们需要对黑客松有正确的理解和合适的路径。
因此,为了让你最大程度地从这篇文章中获益,我们邀请了两位开发者:Susmit Singh 和 Manojna Vinjamuri,他们参加了首次进行的 36 小时黑客松,Women Techies 2022 由 Google Developer Student Club 组织,并创建了一个 众筹平台。
不仅如此!他们还赢得了 一等奖!! 🏆
听起来很棒,对吧? 🤯
所以最近,我们采访了他们,了解他们的旅程。他们如何克服所有障碍,在黑客松中持续努力。 🏃
因此,这里是他们经验的一个小窥探。 👇
Susmit: 嗨! 我是 Susmit Singh,我刚刚完成了在 VIT Vellore 的大二。我主修“计算机科学”,专业方向是“商业系统”。当我不在编码时,我要么在看/读与恐怖相关的任何东西,要么在阅读。我也对商业和金融非常感兴趣,尽管这是一个正在进行的过程。
Manojna: 我是 Manojna,VIT Vellore 的计算机科学三年级学生,专攻商业系统。我来自印度的中等城镇 Tanuku(安得拉邦)。除了上大学和编码,我从小就对艺术非常感兴趣。这种兴趣让我尝试了各种艺术,比如绘画、唱歌和跳舞。在这些中,我爱上了舞蹈并专注于此。现在我是 Kuchipudi(安得拉邦的古典舞)舞者。我尝试不同的舞蹈形式,是的,你可能已经猜到了,我也是 VIT 舞蹈俱乐部的一员。
Manojna: 我队友最近使用众筹平台“Go Fund Me”为他的狗进行了一次筹款手术。我们也在学习 web3,因此我们能够发现当前筹款系统的一些问题。 donations 之间缺乏透明度,一旦目标达到,所有资金就会释放给他,这使得donors 对自己的钱完全没有控制权。于是我们坐下来,头脑风暴,研究,并提出了我们的问题陈述。
Susmit: 假设你的班主任给你班的一个小孩一大堆巧克力,并告诉他要给班上的每个人发五颗巧克力。现在这个小孩要么诚实地给每个人 5 颗巧克力,要么这个小孩捣蛋,给每个人 4 颗,自己留了很多巧克力。现在想象一下,如果你的班主任告诉每个人巧克力的分配、给巧克力的孩子是谁,以及每个孩子应该得到多少巧克力。你会更喜欢哪种情况?大多数人会更喜欢第二种,因为每个人都知道一切,没有小孩能偷偷拿走巧克力。
类似地,DApp(去中心化应用程序)告知每个人关于应用中的所有事情。这是完全透明的,因此大家都很喜欢它。
Manojna: 所以 DApps 是由区块链赋能的。区块链实际上是一个人们的集合,每个人都有一个帐本,其中记录了已发生的每一笔交易。再说得简单一点。每当有新的交易发生时,每个账本都会更新,并且其值会与其他账本进行交叉检查以确保交易的真实性。这就是伪造区块链上的交易极其困难(几乎不可能)的原因。
所以,如我所说,DApps 是由区块链赋能的。我将以我的应用程序为例。
众包应用面临三个主要问题:对中央管理机构的过度依赖,donors 对他们捐赠的钱的去向没有控制,缺乏交易记录,既没有流入交易,也没有流出交易。
因此,使用我们的 DApp,用户可以创建自己的活动,任何人都可以向他们捐款。我们通过以下方式解决上述问题:资金不是由管理者持有,而是由智能合约持有。管理者对智能合约累计的资金完全没有控制权。管理者无法随意使用这些资金,而是必须创建交易请求。管理者必须提供交易的理由、接收方地址和交易金额。如果超过 50% 的捐赠者投票同意,管理者才被允许完成交易。智能合约维护一个所有进出智能合约交易的记录,并与所有必要的数据对齐。
附加信息:所有这些数据都在区块链上,我们甚至不需要后端加数据库。
Susmit: 我们只面临一个主要的困难,“跟踪所有交易”。我们尝试通过许多方式解决这个问题:存储交易的哈希值,然后通过像 etherScan 这样的 API 在区块链上搜索来检索它们。存储所有交易的详细信息,且仅显示必要的信息。在智能合约内部独立管理交易信息。
基于时间和空间(资金)的限制,我们决定选择第三个选项。我们在智能合约内部创立了多个数据结构,以存储必要的交易信息。
Susmit: 如前所述,我们有几个数据结构,例如结构体、映射等,用以管理和存储相关的交易信息。交易信息(流入/流出)可以轻松从它们中提取。这些提取算法经过优化,以确保我们使用最低的时间和计算能力。
Manojna: 这是我们的第一次黑客松,我们的目标是构建一个完整的工作产品,这是我们预想的。我们并没有期待获得任何奖项。但幸运的是我们做到了!自那以来,我们又赢得了 2 个额外的黑客松,一个是 Bajaj 的黑客松,另一个是 Web3.0 的黑客松。
Manojna: 自黑客松之后,应用程序的代码进行了一些优化和修改,目前我们没有针对 DApp 进行任何计划。不过我们计划进行头脑风暴,增加一些新功能。
Susmit: 我们了解到,虽然 web3 本身很强大,但仍然存在极大的限制。智能合约必须是简洁和轻量的,以减少每笔交易所消耗的 Wei。我们发现,集成传统的中心化技术可以极大提高 DApps 的能力。所有无意义的处理,辅助数据存储等都可以转移到传统的后端,而数据民主化可以通过 DApp 实现。
因此,我建议 web3 的新开发者考虑将传统的中心化技术视作盟友,而不是敌人。
Manojna: 我们使用 crypto zombies 学习 solidity,并查看了很多 YouTube 视频进行练习。我们向一些经验丰富的 web3 开发者反弹我们的想法,以获取反馈并进一步调整。我将附上一份我们在黑客松中使用的资源列表: 👇
你可以遵循这个方法来参加任何黑客松!
通过在 Twitter 上标记我们 @uv_labs,告诉我们你对这篇文章的看法,并与我们分享你的黑客松经历!!
如果你喜欢我们的工作,请给予我们掌声。 👏
- 原文链接: medium.com/buildbear/how...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!