ArcBlock Hackathon 2020 参赛体会分享
2020-07-06
持续 7 天的网上黑客马拉松 2020成功举行揭晓已经一周,在此发表 2 篇由选手和团队撰写的参赛体会,与大家分享。
ArcBlock 徽章分析 by 陈凯
这次参加 ArcBlock 黑客松,虽未获得名次,仍有些许收获。
团队很重要
拿 Web 端产品来讲,如果想在黑客松期间有完成度较高的作品,团队里至少需要前后端两个角色。就我自己而言,也考虑做 NFT 交易市场这样的作品参赛,但苦于自己是后端技术栈,短期内无法找到合适的前端小伙伴,只好作罢。反观做“幸运抽奖小游戏”的娜娜她们团队,四人优势互补,成果也很不错。
Idea 不要太大
Deadline 就在那里,太大的想法无法保证足够的完成度。这次黑客松为期 7 天,由于跟工作时间冲突,真正开始项目是在端午假期。当时列了 3 个想法:
- 识别徽章中的元素种类及个数
- 统计徽章生成发放及流转
- 梦阳快讯封装成 Blocklet
一方面考虑做点对大家有用对东西,另一方面考虑尽量能发挥自己在后端的优势。
结合去年曾针对直播推荐做过一些可视化和辅助决策工具,考虑做“统计徽章发放及流转追踪”,由于对 ArcBlock 工具链及 API 把控度不高,想法 2 放弃。
由于尚未考虑清楚快讯的发展模式,加之快讯完成度不高,通过 Blocklet 开放出来意义不大,想法 3 放弃。
接着想到社区小伙伴们在徽章交易过程中有识别徽章中特定元素种类及个数的诉求,上区块链浏览器看了下,发现获取账户资产的 API 使用起来很方便。获取资产后的徽章过滤、识别完全是后端领域可以随便玩,决定实现想法 1。
不要恋战
黑客松往往时间紧任务重,遇到技术问题多准备几个解决方案,方案 A 初步尝试行不通及时换方案 B,不要恋战。我在做徽章元素识别项目的过程中,遇到一个 markdown 文件在浏览器不解析的问题,尝试解决半小时无果,果断放弃,采用 markdown 转 html 的方式,虽在显示效果上欠佳,至少没影响项目完成度。
录个视频
现场秀往往会出问题,录个视频稳妥一些,OBS 是非常优秀的录屏软件。提前打个腹稿多练几遍效果还是很明显的。
Blocklet 是个很棒的设计
ArcBlock 的 Blocklet 是个很棒的设计。概念上讲是一些可复用的组件,体验上讲更像是一块块乐高积木。大家可按自己的喜好利用这些积木(Blocklet)搭建出各种各样的城堡(服务或应用),同时积木的创造者会在积木每次被使用时获得回报。
Github:https://github.com/k1ic/ArcBlock-Badge-Analysis
幸运抽奖小游戏 by 区块动力
此次参加 ArcBlock 黑客马拉松,我们广州区块动力小队开发了一款叫幸运抽奖小游戏(Lucky Ticket),在比赛过程里我们每一位成员都有所收获。我们就来跟大家分享一下这次比赛的心得。
队长静静
1. 团队合作分工合理是第一要素
在一个小队中,我们每个人都是不可缺少的一部分,只有所有的人团结奋进,向着目标出发,不怕困难,时间虽短,遇到的困难很多,但是我们团结互助,不断克服一个个难题,遇到困难不放弃,最终完成了整个项目。
在一个团队中,每个人都有自己的职责。而作为一个小队的队长,需要去确认项目的规模及模块大小,以及项目每一部分内容的多少以及对任务进行合理分配,对实现时间的掌握等等。对于每一个队员,都必须要按时保质保量的完成自己的任务。合理的分工合作,共同学习,共同实现整个项目。
2. 目标清晰能少走弯路,时间管理保证进度
我们要根据开发的主题设定项目的题目立意,比如我们刚开始时就因为对题目没有进行深刻的了解,导致出现原来的项目不太符合要求的问题。后来重新确定项目和开发的过程,让我们浪费了很多时间,最后任务紧急且繁重。所以想告诉大家一定要根据活动立意,设定创意。
对于这一周比赛,我深有体会,学到最多的是设立时间点,每次都要在时间点内完成,还要把握项目层层递进。在最开始开发一部分后就将每一部分连接好,这样虽然前面可能会有很多问题,但是也能保证之后能有足够的时间来解决。而不是最后把问题都堆在一起解决。
这边给大家的建议是:首先我们要设立一个最基础的目标,然后在时间点内完成,然后进行下一个目标,这样层层递进,层层深入,一步步去完成项目,这样使项目开发更规范,更合理。
成员娜娜
过去的一个月里,我们做了两个 DApp,茶链用了三周,抽奖小游戏用了三天。加上去年暑假在 ArcBlock 实习时做的自动贩卖机 Demo,我已经做了三个 DApp 了。一连做下来的感觉是开发的过程越来越轻松,实现的功能也越来越强大。
应用 | 开发语言及框架 | 使用场景 | 挑战 |
---|---|---|---|
自动贩卖机 | python,前端:Plotly Dash,数据库:sqlite | 多方合作,多方分成 | 认识区块链,设计 DApp,学习 ArcBlock 的开发工具 |
茶链 | 后端:java,ssm 框架,前端:javascript,vue,数据库:mysql | 信息溯源 | 从实际应用场景出发设计 DApp;开发前后端分离的应用,并部署在服务器上 |
Lucky Ticket 抽奖小游戏 | 后端:javascript, express,前端:javascript,react,数据库:mongodb | 多人参与,需要热度、流量、趣味性的活动 | 掌握从前不熟悉甚至陌生的语言和框架;短时间快速开发一个应用 |
1. 工具变简单了
的确,和一年前相比,不仅我对区块链应用的开发流程更加熟悉,ArcBlock 提供的开发工具使用起来也更加简单了。ABT 节点的出现,无疑是将开发、部署一个 DApp 的门槛降低了。有了 ABT 节点,发链不再只是开发人员的事儿,任何看不懂代码的业务员,只需要跟着说明书操作几步,也可以轻松地实现发链。此外,在应用开发完成后,也可以通过以 Blocklet 的形式在 ABT 节点中发布,这样任何有 ABT 节点的用户都可以下载并使用该应用。
2. 传统应用开发经验非常宝贵
DApp 的搭建,说白了就是在传统的 App 当中加入与链交互的逻辑。而做一个完整的应用,需要前后端的配合。这一点,其实在梦阳的开发体会里也有谈到,而我的感触也非常深刻。从茶链开始,我们所搭建的应用不再是概念版产品,这时候需要实现的功能都是非常实在的。虽然我们有相对明确的分工,但苦于应用开发的经验少,在面对不同框架不同语言时需要花时间去适应,在实现各种基本功能时要花精力去学习。无疑在这过程中,我和我的小伙伴们的成长是飞速的。但如果是更为有经验的人,开发过程肯定会相对轻松一些。
3. 我已看到未来已来
区块链 3.0 的时代真的来了。去年我还没有那么深的感悟,但通过这几个项目的开发,通过对区块链技术及其应用范围有了更深入的了解和思考,我真真切切地感受到了新时代的来临,原来区块链技术真的可以运用到各行各业中。相信社区里关注 DApp 的伙伴们也一定感受到了。看到大家更加热切地讨论着我和其他开发者展示的 Demo,看到大家能更加精准地探讨着区块链技术在应用中所能承担的角色,我就更加确信未来已来。
成员鸿祥
通过本次黑客松的项目开发,作为一个新手的我感悟颇多。
1. 明确开发思路才不会东奔西撞
设计开发流程,要有一个明确的开发思路,确定好开发框架和数据库及其数据表。这对于实现开发目标十分重要,保持清晰的思路,能够使得开发工作有条不紊地进行。团队中每个人都对项目开发准确把握,朝着共同的目标前进,自然也更能够顺利完成目标。
2. 要相信问题都是可以解决的
在开发的过程中,难免遇到大大小小的难题,每个人都有自己的“短板”,在团队里,对自己不懂的可以找团队的小伙伴进行帮忙解决。如果小伙伴都不会,可以通过网上查资料寻找解决办法。 另外可以将问题细化,逐步来解决问题。问题总会得到解决,所以这个寻找解决办法的过程里,我们可以思考原因,尝试各种办法。
最后就是建议开发过程中尽量不偏离预先设计的开发方案,否则在开发过程中很容易造成思路混乱。
成员 Jimmy
这次参加 ArcBlock 黑客马拉松,作为经历最浅的小组成员,我也受益匪浅。
1. 尽管时间紧,团队合作最要紧
这一次黑客松比赛,拿我们自己的项目来说,我觉得团队的合作无疑是最重要的,此次黑客松 7 天的时间,我们团队在时间过半才找到了合适的主题,这使得我们的参赛时间十分紧迫。然而,我们团队的其他成员有条不紊的按时完成了自己分配的任务,同时整个团队互帮互助解决难题,于是在最后还是让项目得以成功实现。
2.小白也能上手的 ArcBlock 开发工具
身为一个对于区块链应用纯小白的新手,ArcBlock 所提供的开发工具对于我来说,也并没有很难上手。ABT 节点的使用并不复杂,只需跟着几步简单的 ABT 节点的部署说明,即可轻松的创建节点并成功发链。有了 ArcBlock 提供的开发工具,我相信以后区块链将会被更加轻松的运用到各个领域,实现越来越多大放光彩的项目。
以上就是我们小队部分成员的参与此次黑客松的体会,希望能给大家有所启发。最后想感谢 ArcBlock 一直以来提供的支持,感谢社区伙伴们长期的关注和鼓励。我们区块动力小队会继续学习、努力、做出更好的 DApp,大家一起期待吧!
观众人气奖评选揭晓
通过为期一周的观众人气奖评选,总共回收了 433 张投票,评出最具人气的前 3 个项目依次为:
- 幸运抽奖小游戏(181 票,41.8%)
- IMNFT ABT 纪念币(85 票,19.6%)
- NFT 集市(66 票,15.2%)
延伸阅读