Web2 终是末路，Web3 才是归宿：拥抱 Web3

在上篇文章《Web2 终是末路，Web3 才是归宿：接触 Web3》中，我大致回顾了借由「Web3 前端训练营」向 Web3 全栈工程师转型的学习经历。

在训练营刚开始的那段时间，常会看见有人问：「学完能找到 Web3 的工作吗？」更有甚者，会抱着传统思维想要找稳定的 Web3 工作……

从我当前的了解来看，Web3 行业是变化莫测、相当动荡的，不存在「稳定」一说，某个项目一夜之间就消失不见了也很正常；硬要说的话，可能交易所算是相对稳定的。

所以说，想入 Web3 这行，必须接受工作的不稳定性，大力地拥抱不确定性 —— 让自己变得富有弹性、灵活性，能够快速且高效地学习新知识，以应对不断的变化。

对于自称「独立开发者」的我来说，自然不会将收入锁死在「打工（找工作）」这一个选项上，而是要丰富其多样性。

除了《开发者，独立吧！》中「老生常谈」的那些之外，在 Web3 圈子里又多了「赏金任务」和「黑客松」这俩别具风味的 —— 当个「赏金猎人」也很不错！

黑客松的体验

作为在国内 Web3 开发者圈子里也算有些影响力的 OpenBuild，不算「Web3 前端训练营」还组织了很多活动，包括刚刚结束的「ETH Shenzhen」。

这届「ETH Shenzhen」包含两部分：分享与圆桌会议；黑客松比赛。其中，黑客松参赛队伍若未获奖，广东省外的会有差旅补助。

在大会开始的半个月前，有个训练营学员专属的线上黑客松，实际可以认为是与「ETH Shenzhen Hackathon」进行联动的环节，两者可用同一个项目，于是我就顺势都参加了。

在参加训练营之前，我就有了以自身为中心社区化发展成为类 DAO 组织的想法；训练营学习中做 NFT market 时，让我觉得那个想法具备一定可行性。

那不如借助参加黑客松这个机会，使其更为具像化一些，作为参赛项目，日后成为我「互联网自由宣言」阵营的另一个作品！

参赛项目介绍

经过一天左右的思索，我确立了项目的名字与定位 ——

中文名为「吾界」，英文则是「Selfverse」，它们都表达了同一个意思 ——「（自）我」就是「世界」或「宇宙」本身。

我们所看到的世界，是内心世界的呈现；若想活得精彩，就得先丰富充盈自己的精神，以形成较为健全的、体系化的、内外循环的「生态系统」。

真实、完整的「自我」往往隐藏得很深，与他人进行交互的是经过层层过滤且一定程度上粉饰过的「人格面具」。

这在现实生活中自不用说，即便互联网有匿名性的特点，绝大部分人也不得不或多或少地遵守人际交往中的那些「潜规则」。

当下的日常生活越来越离不开互联网，很多人需要在网上维持相对稳定的「人格面具」，尤其是借助于数字手段靠它维生甚至致富的人，像自由职业者、独立黑客、数字游民等等。

有些流行的、更通俗易懂点的词可以把「人格面具」给换掉 —— 人设、影响力、个人品牌、超级个体……

定位是提供一系列工具作为基础设施帮助有需要的人更轻松地打造「人格面具」，并促进加强人与人之间「连接」的紧密性。

用不拘泥于区块链的去中心化技术，以去中心化的方式为使用者解决问题，将部署、托管、管理等使用层面的选择权交给他们。

本项目为我设想中的「面向个人与家庭去中心化及数智化方案」的重要一环，未来会与 LinXoid 及 KnoSys 进行深度整合。

线上黑客松

训练营线上黑客松的比赛时间虽写着是 8 月 1 日到 10 日，但宣发时 1 日这天基本已经结束，并且要在 10 日下午 2 点前提交，因而实际开发时间很可能不足 8 天。

具体到我身上的话，是 3 日中午开始进入开发，先写支持 RBAC 的智能合约，于 5 日单元测试通过；从 6 日起编写前端界面，本以为两天就可搞定，结果没想到是我低估了角色权限控制相关处理的复杂度，最终在 9 日下午联调完成。

接着就是准备项目的介绍材料，并以 PR 的形式提交到训练营 GitHub 仓库中，时间十分紧迫！

由于我的项目想法太大，在如此短暂的时间内实现全部已有构思是不可能的，所以只能先做一小部分功能：

为了节约开发时间，前端 UI 组件库我选择的是用起来比较熟悉的 Ant Design 与 Ant Design Web3，并且用 Vite 部署为纯前端单页面应用。

线下黑客松

虽说「ETH Shenzhen Hackathon」可在线上参与，但最好还是到线下场所去，会有很多不一样的感受。

这个黑客松于 8 月 16 日下午至 18 日晚上在深圳举行，我需要乘飞机前往，为提高容错性而买了 15 日航班的机票。

16 日的第一个环节是黑客松参赛人员签到，会得到专属纸制腕环以区分身份；在 X 上完成互动还有含文化衫、帽子、袋子等的「大礼包」可拿，与训练营时收到的完全不同，全新设计！

然后是接连几个赞助方的工作坊 —— 开场的那个可能是准备不够充分，秀了一波现场 debug 技能，导致没有顺利讲完；忘记是在第二个还是第三个时，我离场去写自己项目代码了。

要是看了上文中的视频，可以发现付费作品只是个空壳子，并没有实际内容，就像买了本只有封皮而无内页的书一样 —— 参赛这几天主要就是解决这个问题。

为此，我要做如下处理：

增加文章模块，站长新增、编辑和发布，访客浏览与打赏；

改造付费作品模块，站长将文章作为章节与其关联，访客能看到目录并查看实际内容；

增加基金模块，在背后统一控制付费和打赏的资金流转，以将其集中在同个智能合约中；

增加访客独有的个人中心，可查看自己的付费与打赏记录。

我先把相较简单的访客个人中心给做了，因觉得用户标识只用钱包地址的话会显得过于苍白、单调，就加入了像 MetaMask 那样根据地址生成的 Jazzicon，并将所有头像都改成这个。

接下来，把之前已经想了一些逻辑的代币基金、系统设置、用户登记等智能合约代码给写写完，就差不多到破冰派对环节了。

主办方点了烤串、披萨、炸鸡、啤酒、汽水等外卖到会场，看到吃的喝的大家都一拥而上，很快就分完，也顾不上聊什么天 —— 看来都饿坏了……

这一天我轻微地 social 了下，有在杭州就已见面交流过的，也有事先在网上建立了一定程度的连接，这次是首次面基的。

回到酒店后比较晚了，我项目的这个版本还是有些开发工作量的，时间较为紧张；鉴于我不想准备路演用的屁屁踢，这两天必须得开发完毕 —— 我决定码力全开熬夜干！

听着许巍、BIGBANG 等人的歌，把文章智能合约写完以及与资金流转相关的部分智能合约调整好没问题之后我就睡觉了，那时马上凌晨 4 点。

后两天的流程大体相似：

不到 9 点抵达会场，签到后转悠一圈就去 coding 区域赶项目代码；

中午就吃主办方提供的盒饭，都带汤，也都有牛肉；

下午做些与项目相关的事情，或是撸码，或是讲解；

晚上参加主办方组织的聚餐，切换到 social 模式。

那些嘉宾的分享我几乎没去听，而是全力备战最后一天下午的路演，为此我 17 日晚上真的通宵达旦，总算把剩余功能基本都搞定，这下可以安心了！

到了 18 日，把项目收收尾后，我迫不及待地想跟他人分享下自己的项目，于是拎着电脑到前台附近找在做大会志愿者的同为训练营学员兼助教的人，正好他没在忙。

我坐在他旁边，边用电脑演示边讲解功能，还说了一些较为远期的构想，如：把自己作为价值承载物吸引他人投资，向投资者发放代币以证明其权益，日后达成某（些）条件时可获得回报。

这是我第一次这么详细地向别人介绍我的项目，在说的时候心中有种激动之情；他有认真地听我在那「吹牛逼」，不仅说出了自己的理解，还给了一些建议。

终于到了路演环节，大概 30 来个参赛项目，给每个项目 10 分钟，全部搞完再算上中断休息等时间，总共要奔 5、6 个小时去 —— 我是第 10 个。

由于我的项目要演示完整功能流程的话，无法 10 分钟内完成，就在到我之前先把初始化配置弄好，演示用数据加好，以节省上台后的时间。

在我正式路演时，几乎没有再做什么数据变更操作，而是对着已添加好数据的网页介绍；仅仅这些就已经差不多把时间占满，只给评委留出提两个问题的余地……

要问我上台紧张吗？意识层面的回答是「不」，并没有心里忐忑等感受，可能是做自媒体拍 vlog 锻炼出来了；但我身体好像不这么觉得，还没说几句话声音就开始颤抖了，后面我一直在调节控制。

我项目所参加的主赛道是「开源工具与基础设施」，使用方式有点类似于 WordPress；并且项目背后的理念和设想自认为比较新颖，需要对潜在用户进行长期教育与培养，因此暂无商业化的想法。

然而，纵然我已事先声明，评委依然问出了相关问题，这令我有些尴尬，不知该怎样回答他们……

黑客松结束了，晚上放松地与 OpenBuild 及训练营的小伙伴们一起吃了这趟深圳之旅的最后一顿晚餐，次日我就乘飞机回杭州了。

黑客松的感想

我认为自己的路演是失败的，感觉获奖的希望极其渺茫，只要不是 0 分，就是对我最大的认可！

虽说在 10 分钟内说清楚我的项目是办不到的，但这不能作推脱的说辞，尚有很多改进空间，如：

即使功能已经做得相对完整，只有应用演示的话还是不够，屁屁踢不可或缺；

说话的语速有点慢，表达过程没什么节奏可言，在我后面有两个连着的项目让我听得酣畅淋漓，十分享受，要向他们学习；

在路演前的那些时间里多跟评委接触，多介绍下自己的项目，这就相当于延长了自己路演的时间。

这下我领悟到了，打黑客松也是在下一盘棋 —— 整场比赛中，给开发、路演材料准备、social 之类的时间占比如何分配，这会影响到实际工作量与 social 对象等的设计与安排，从而影响获奖概率。

黑客松于我而言有两种意义：

做自己的项目时如同创业，那些评委就像是投资机构的，得通过优雅的表达打动他们，获得奖金就是拿到投资了；

做他人的项目时就算是个赏金任务，用自己的专业能力助其获奖并瓜分奖金作为报酬，只不过对做赏金任务来说，这报酬有更高的不确定性。

除了写代码，这几天我在 social 上也比往日投入了更多精力，以前我在线下是不太爱说话的，主要是在听别人说；而这次我不仅较积极地被动式交流，也会主动去跟别人说话，包括完全陌生的人。

但还是有所不足，因为我 social 的对象基本都是之前已经有一定联系的了，「全新」的极少极少。

像这类技术性活动很多技术人会有个误区 —— 为学习技术而参加 —— 抱有这种想法的人，最终大概率会失望而归。

以前我就是这种人之一，在 2017 年前总会参加各类技术性活动，但很少使我有「学到了」的感觉，大多时候是「不过如此」，因而直到今年之前我就没再参加过。

如今我的看法改变了，参加活动更重要的是了解业界动态，与他人交流并建立深度连接，进而寻觅合作的可能性 —— 这些是对自称「独立开发者」的我来说提高事业成功率的关键。

总结

至此，我这 3 个月左右的从传统互联网行业 Web 前端工程师向 Web3 行业全栈工程师转型的初期阶段经历总结就结束了。

对我来说，由于有丰富的知识与经验所形成的抽象模型网络在背后做支撑，转型从技术层面讲难度不算大，稍有难度的是从庞杂的区块链体系和多变的 Web3 行业中提炼出较为稳固的模型，并积累有价值的项目经验。

要入 Web3 这行，就得在思想上坚定地撕下「稳定」这块狗皮膏药，「灵活」及「高效」才是自己最大且最强的武器！