Web3 全端工程師的技術養成之路 - Day1

KryptoCamp 教練 Harry Chen 撰寫發表,為 2023 ITHOME 鐵人賽 Web3 組冠軍作品

 

Day1 前言

近年來 Web3 及區塊鏈技術已取得越來越高的關注度,它將顛覆我們對網路以及金融的認知與使用方式。從 Web2 的中心化架構轉換到 Web3 的去中心化架構,對於想要進入這個領域的工程師來說,除了需要掌握基本軟體開發的技能,也要對 Web3 相關概念與技術有基本的了解,包含新的開發模式、基礎建設、語言、工具等等。本系列文章旨在引領讀者理解 Web 3 的精髓,提供一套從 Web2 到 Web3 全端開發的技術養成路線。無論是前端、後端還是 App 端的開發者,我們都將一同探索這條充滿挑戰與機遇的道路,為網路世界的變革做好充分準備。

簡介:

大家好,我是 KryptoGO 的 Harry,今天先聊一下為什麼想寫這系列的文章,還有預計會涵蓋哪些內容。我遇過許多人對 Web3 與區塊鏈相關技術感興趣,卻又因為專有名詞太多而不知道要從什麼方向開始學習。

在網路上找到 web 3 技術的資源大部分是關於智能合約、去中心化應用程式(DApp)的開發,但 Web3 的技術範圍遠不止這些。加上這個領域的變化太快,很多教學過了一兩年就已經失效(像以太坊常用的測試網在幾年內從 Rinkeby 轉到 Goerli 再到 Sepolia),或是流行的開發工具、環境甚至區塊鏈底層的機制都發生一些改變,因此我們需要對 Web3 技術的本質有更多認識,才能幫助我們快速學習新知。

本系列文章希望讓讀者對 Web3 技術的全景有基本的認識,我會從區塊鏈的基礎知識講到在前端、後端及 App 端是如何整合 Web3 技術開發出實際的應用,因此適合已經對軟體開發有一定的了解,想要學習 Web3 技術並與自己所學過的技術結合的讀者。

包含範圍

本系列會包含以下這些主題,會假設讀者對 Web3 相關技術和操作是完全沒有經驗的:

  • 區塊鏈基礎:錢包、智能合約、交易、簽名、密碼學、Event

  • 前端(React JS):DApp 開發並與區塊鏈互動

  • 後端(Golang):如何管理錢包、發送交易與整合鏈上資料

  • App 端(Flutter / Dart):開發區塊鏈錢包所需要的技術

也會從我們公司開發區塊鏈錢包的經驗分享實務上遇到的問題與解法,並在最後帶到關於 Web3 技術更廣泛的議題,如 DeFi、NFT、帳戶抽象、資安、ZK、Layer 2、MPC 等等,盡可能包含當今最前沿的技術主題。

中心化 vs 去中心化

在 Web3 中,有分成中心化(Centralize)和去中心化(Decentralize)兩大塊,當然這不是二分法而比較像是一個光譜。可以簡單把他們理解為:

  • 中心化:如虛擬貨幣交易所,會把用戶的錢包餘額、交易紀錄等資料記在中心化的資料庫,目的是提高交易速度並降低交易手續費,而相對應的風險就是交易所本身管理資金的風險(去年倒閉的 FTX 就是屬於這類)

  • 去中心化:所有的帳號、資產都是記錄在區塊鏈上的,只要使用者保管好自己的私鑰,不管任何公司 / 國家倒了都不會受到損失。像非託管錢包(Non-custodial wallet)、去中心化應用 (Decentralized App 或簡稱 DApp)、去中心化金融 (Decentralized Finance 簡稱 DeFi)、NFT(非同質化代幣),以及以太坊、Polygon 等這些區塊鏈本身都算是去中心化的領域

在本系列文章我們會專注在去中心化的技術領域,比較不會探討到虛擬貨幣交易所是怎麼運作的。

學習方式

跟學習任何技術一樣,最好的方式就是實作。除了實際把文章中程式碼跑起來玩玩看之外,透過實際操作各種錢包、DApp 可以更深入從中探索背後的原理和機制。鼓勵大家在看到任何新的 Web3 應用時多多嘗試,會有意想不到的收穫。

以上是第一天的內容,請大家期待接下來的系列文章!