從零開始的 dApp 開發:2024 年學習路線圖

從零開始的 dApp 開發:2024 年學習路線圖

Web3 的機會已經來臨,接下來的三個月,我必須全力以赴。以下是我 2024 年的學習計畫:

當我回想起今年年初的那段時光,我心懷對香港金融科技的雄心壯志,堅信能夠找到理想的工作。儘管我擁有 Full Stack 開發的豐富經驗,但實際願意給我面試機會的公司並不多。或許最相關的面試經歷是與一家本地交易所的,當時我通過了多輪的面試,然而,我們最終未能繼續下一步,這場考驗無聲無息地劃下了句點。

隨著時間的流逝,我漸漸將這段經歷深埋在記憶深處,認為它已經告結束。

然而,命運的齒輪開始轉動。

就在我參加台北區塊鏈週活動,站在 14 樓俯瞰遠處風景的時候,突然間一位交易所老闆喊出了我的名字:

「Calpa,你是 Calpa 嗎?」

我回答說是,你是?

「真的是你,我這裡有你的簡歷。」

我心中突然生出一絲不安,想著是否有人揭開了我過去的一些黑歷史。

然而,當他開始提到他的公司名稱時,我漸漸想起當時他對我提出的一個挑戰:開發智能合約。

當我還在猶豫之際,他突然問了我一個問題:

「你準備好了嗎?智能合約學得怎麼樣?」

頓時,我意識到自己在這段時間雖然學了一些,但還未能深入了解智能合約。我明白,接下來的三個月,我必須更加全力以赴,不辜負這個難得的機會。機會已經來臨,現在是我出發的時候了。

以下,就是我在 2024 年的學習計畫,希望可以不負眾望。

第一步:入門與基礎

在踏入 dApp 開發領域之前,我需要建立一個堅實的基礎。第一個月的目標是入門並理解基本概念:

  • 通過在線課程例如 CryptoZombies,學習區塊鏈的基本原則,包括分佈式帳本、區塊、交易、共識機制等
  • 我需要了解以太坊的基本概念,包括智能合約、以太幣(ETH)、Gas 費用等
  • 學習 Solidity,這是用於以太坊智能合約的編程語言。可以使用線上教程和 Solidity 文檔
  • 安裝和配置以太坊開發環境,包括 Foundry,Remix 和 Metamask
  • Hello World 智能合約:創建我的第一個智能合約,例如一個簡單的 Hello World 合約,並部署到本地區塊鏈上

第二步:深入學習與實踐

在第二個月,我將深入學習區塊鏈和 dApp 開發的更多細節,並開始實際建立一個 dApp:

  • 學習 Solidity 的高級特性,包括合約繼承、事件、庫等。開始編寫更複雜的智能合約
  • 學習如何使用 Web3.js 來與以太坊區塊鏈互動,包括合約部署、交易發送和數據檢索
  • 開始設計我的 dApp,著手開發前端介面。我們可以使用 TypeScript,React / Vue.js 配合 Viem 來開發我的界面
  • 智能合約測試:學習如何編寫智能合約測試,以確保我的合約安全性和功能正常
  • dApp 部署:學習如何將我的 dApp 部署到以太坊測試網絡,以便進行測試和測試用戶體驗

第三步:實踐與構建項目

在第三個月,我將著手實際建立一個完整的 dApp 項目:

  • 選擇 dApp 項目:選擇一個具體的 dApp 項目,可以是去中心化應用、數字資產管理工具、NFT 市場等。確定我的項目範圍和目標
  • 用戶測試與反饋:邀請用戶參與測試,獲得他們的反饋,並不斷優化我的 dApp
  • dApp 部署:最終,將我的 dApp 部署到主網絡,使其對所有用戶可用

後記

2023 年台北區塊鏈週之行,這一次來台北,有幸聆聽了許多行業專家的分享,也與來自世界各地的區塊鏈愛好者交流了心得。我深刻地感受到,Web3 正在蓬勃發展,並將在未來引領技術革命。這讓我更加堅定了我對 Web3 賽道的信心。在 2024 年,我將全程投入 dApp 開發,為這個新興領域貢獻自己的力量。

區塊鏈技術的去中心化、透明和安全特性,為我們構建一個更加公平、公正的社會提供了可能。dApp 作為區塊鏈技術的應用之一,具有廣闊的發展前景。

我相信,通過我的努力和學習,我可以在 dApp 開發領域取得一定的成就,並為 Web3 生態系統的發展做出貢獻。

附錄:整合開發 dApp 的崗位要求

職位要求

  • 至少 5 年的前端/全端開發經驗
  • 熟練掌握全端開發技術:候選人需要熟練掌握 MERN(MongoDB、Express、React、Node.js)、Next.JS 或其他相關開發框架,以能夠開發全端應用。
  • 具備熟練的 Solidity 編程技能,能夠進行合約開發和性能優化
  • 關注 EVM 兼容鏈、以太坊 Layer 2、ZKVM 等環境中的產品研究和分析
  • 熟悉使用第三方安全合約庫,如 OpenZeppelin
  • 具有網頁/移動產品開發經驗
  • Micro Service 開發經驗
  • 熟悉後端開發技術,包括 GraphQL、gRPC、MongoDB 和 PostgreSQL,這些技術可能在項目中使用
  • 具備卓越的團隊合作能力,能夠獨立思考,並具備強烈的責任感和自我激勵能力
  • 對區塊鏈技術的知識和熱情
  • 具有流利的英語口語和書寫能力
  • 熟悉 Git
  • 熟悉 React
  • 熟悉 CSS-in-JS (Emotion)
  • 擁有 Storybook 經驗
  • 熟悉 esbuild
  • 熟悉 vite
  • 熟悉 ethers.js
  • 熟悉 immer.js
  • 熟悉 Cypress 來編寫 E2E 測試

職責

  • 參與基於區塊鏈的應用的開發工作,涉及到智能合約和分佈式應用的開發
  • 開發和維護高質量軟件解決方案,確保它們滿足客戶需求。
  • 參與從設計、開發、測試、部署到維護的整個軟件開發生命周期
  • 研究和整合新技術,以不斷改進公司的開發流程和產品。

預期

  • 與項目聯合創始人、領域專家、產品和營銷團隊密切合作,從項目的構想到產品上線,共同交付項目。
  • 整合多種服務和低代碼工具:如 Webflow、Retool、n8n,以快速建立原型,檢查可行性並確定業務價值。
  • 指導 Junior 軟件工程師:並促進敏捷開發過程。
  • 設計強大、具有成本效益的系統架構:深刻理解系統中的權衡,並能夠理解基礎設施的維護和成本影響,並執行基本的 DevOps 任務。
  • 識別瓶頸並優化團隊的工作流程:從產品需求到持續交付系統。2024 年:從零開始的 dApp 開發生活
感謝您閱讀我的文章。歡迎隨時分享你的想法。
關於 Calpa

Calpa 擅長使用 TypeScriptReact.jsVue.js 建立 Responsive Website。

他積極參與開源社區,曾在 2019 年的香港開源大會上擔任講者,提供工作經驗和見解。此外,他也在 GitHub 上公開分享個人博客程式碼,已獲得超過 300 顆星星和 60 個分支的支持。

他熱愛學習新技術,並樂意分享經驗。他相信,唯有不斷學習才能跟上快速演變的技術環境。