Web3 全端工程師的技術養成之路分享內容

 

00:00 開場介紹

我是 KryptoCamp 的 Casper, 今天舉辦我們這個 Web3 全端工程師技術養成之路的直播活動, 我也是今天的主持人, 很榮幸邀請兩位講者來跟我們分享他們 Web3 全端工程師的這個技術是如何學習的, Paul 會來跟我們分享他是如何轉職到 Web3 全端工程師。

第一位的貴賓是我們的 Harry, KryptoGO 的技術長, 然後他也是 BAYC 無聊猿的持有者, 平常非常喜歡算數學, 也是數學奧林匹亞的常勝軍, 他今天呢會來跟我們分享, Web3 全端工程師所需要的技能樹與一些知識點, 他自己在痞克邦 ( iThome) 有一個鐵人賽的著作, 是 Web3 全端工程師的技術養成之路 30 天, 所以大家也可以 follow 這個文章, 來去看他的內容。

今天會分享這 30 天有哪些知識點以及學習的路線以及他過去在這個領域裡面的一些經驗, 第二個部分呢我們會請 Paul 來跟我們分享他是如何從 Web2 轉職到 Web3 到 NFT 交易所工作, 最後一個部分呢, 我們會開放大家一起來 QA, 然後如果大家有任何的問題呢, 都可以在這個 YouTube 上面的資訊欄上面, 會挑題目來跟大家一起做回覆, 廢話不多說, 我們就邀請我們第一位講者 Harry, 我們歡迎 Harry!

01:30 Harry 介紹 Web3 全端工程師主題介紹

大家好我是 Harry, 這個起因就是像 Casper 說, 大概在 9 月 10 月的時候, 在 iThome 上面有一個鐵人賽, 我那時候寫了 30 天的技術文檔, 那主題就是 Web3 全端工程師的的技術養成之路, 會針對這主題就是給大家一個算是 overview 了, 就分享一下個人的經驗。

先自我介紹, 然後我自己是算蠻熱愛區塊鏈, 跟 Web3 技術的全端開發者啊, 那就是平常也研究蠻多相關的比較新的技術, 當時是在 2020 年底的時候進入幣圈的, 現在就是任職於 KryptoGO, 參加過蠻多開發者社群的黑客松, 希望就更多分享這些知識, 那也通過分享知識, 自己也可以學到更多東西。

會先講一下就是, 到底 Web3 技術有哪些相關的知識點, 然後還有會建議大家怎麼學習, 其實這資訊量還蠻多的, 然後 Web3 的技術主題也也蠻廣, 然後還有就是如果大家對這轉職 Web3 開發者有興趣的話, 可以找一些就是學習的路線, 我是大概譬如說一般企業會有怎麼樣的需求也會稍微講到, 然後還有我個人的經驗分享。

02:41 Web3 技術基礎

Web3 的技術基礎開始講, 這些東西算是就, 就如果是跟 Web3 相關的話, 那至少一定要需要知道一些需要蠻熟練的概念, 其實 Web3 當然不只以太坊了, 但是最常見的大家的開發, 還是會在以太坊上面, 以太坊相關的知識, 像是地址啊, 公私鑰怎麼產生, 然後跟怎麼簽名發出交易, 還有說一個交易裡面到底有哪一些資訊, 然後跟交易是怎麼被礦工打包, 然後進到區塊上鏈, 交易他怎麼樣跟智能合約互動, 那合約裡面怎麼運作的? 一個交易的 gas fee 的概念等等, 這些就比較像是區塊鏈基礎需要了解的知識, 因爲就我們所有做的應用都是, 其實很多應用, 如果你是跑在以太坊上面, 或是這種 EVM 相容的鏈上面的話, 基本上都需要熟悉這些概念, 像我們公司有做區塊鏈錢包, 所以錢包原理啊, 然後還有大家平常怎麼操作 DApp, 或是連接錢包、操作錢包這些概念跟有實際玩過不同的 DApp 的話, 就會比較有概念, 說到底錢包是什麼, 還有他背後到底做了什麼簽名的事情,

第三個是, 就我自己平常有時候也蠻喜歡研究, 就是假設我看到一個區塊鏈交易去找到對應的像以太坊我去 Etherscan 看或者 Polygon Scan 等等的這種區塊鏈瀏覽器, 我可能會去細看, 說他這個地址或者這筆交易, 他有哪一些活動或者他這筆交易裡面具體發生的每一步是做了什麼, 還有可能裡面產生的 event, 或是他花的 gas fee 等等, 就我會覺得說, 其實很多資訊是在區塊鏈瀏覽器裡面, 就是很多細節, 能夠了解這裡面的細節的資訊的話, 其實就會對你理解, 這整個區塊鏈的運作算是蠻有幫助的, 當然有蠻多沒有提到, 可能像以太坊以外的鏈吧, 像之前有段時間蠻紅的 SuiAptos 這種, 就是需要另外學習, 因爲它也比較新, 而且它的架構可能跟以太坊也不太一樣, 語言上面也不太一樣。

04:46 多玩 DApp 對學習串連知識點很有幫助

算是學習 Web3 相關的技術的話, 其實多玩玩看不同的 DApp 會蠻有幫助的, 大家可以去參考 DAppRadar 這個, 然後它裡面會列出蠻多, 就是現在算當紅的 DApp, 或者說按照譬如說不同的鏈, 從它的 TVL 也就是總鎖倉量去看, 說現在最熱門的交易量最高的 DeFi 應用有哪些, 或是 DApp 應用有哪些, 那從裡面你可以去挑一些, 就是大家常用的去了解一下, 可能它是 swap 或是借貸或是可能是 NFT 相關的應用或是質押等等的, 從裡面跟這些 DApp的互動, 其實實際操作之後去看說你做這個操作之後, 在區塊鏈上就是它發生的事情, 那其實很多知識點, 就可以被連接起來, 這也是一個我自己蠻喜歡, 就是透過這個方式去學習區塊鏈相關知識的方式。

05:41 Web3 技術路徑

Web3 技術路徑大概會分成這些, 就前面剛剛已經講過了區塊鏈的基礎, 其實智能合約開發這一塊也是蠻深入的, 而且因爲智能合約它本身的一些特性, 跟它跑在以太坊上, 像 Solidity 這個語言跟 JavaScript 或是其他強型別語言有些相似, 但是它底層又有很多就是要注意的細節, 所以這塊我覺得也是一個, 就是可以深入去發展的技能點, 因爲像我們是有開發錢包, 還有一些企業的應用, 過程中其實我們會就是把 Web3 的技術去應用在前端、後端或是 APP 端的開發上, 譬如說前後端的開發者, 如果對原本的 React 或是 Golang, 這些語言或框架熟悉的話, 其實我們基於這些語言框架去在裡面使用到一些 Web3 相關的技術, 等一下也會稍微講到說到底在這些領域, 會怎麼樣用到 Web3 的技術, 再來 Web3 的資安概念, 因爲其實 Web3 的資安跟 Web2 的資安, 有蠻多的不同的點, 因爲等於是很多的應用是跑在智能合約上, 駭客想要盜走你的幣, 他可能會透過蠻多智能合約的漏洞或是大家對智能合約不夠熟悉, 就去把你的幣給騙走, 所以這裡的話也是一個蠻大的主題, 就是 Web3 的資安, 就可能還有一些比較前沿的 Web3 技術, 像 ERC-4337 這種帳戶抽象的技術, 或是像剛提到除了以太坊以外, 也有蠻多就其他的鏈, 其實技術變化蠻快的, 這整個脈路其實就是 我的鐵人賽 30 天的文章

07:16 智能合約開發

所以接下來就一個一個講一下, 就是剛提到的主題, 首先是智能合約開發這一塊, 其實網路上是有非常多的學習資源, 不外乎就是教大家怎麼樣熟悉 Solidity 的語法, 至少要熟悉一種框架, 去做智能合約的開發、部署跟測試, 開發框架的話, 可能最近大概比較紅的就是 Foundry 開發的框架, 也蠻多人用的像 Hardhat 或者是 Truffle, 只要你熟悉其中一種, 而且你也知道說在開發、部署跟測試大概要注意哪些事情的話, 其實任何一種框架是都可以的。

當然不同框架有它對應的優缺點, 像可能 Foundry 它針對寫測試這一塊有更多功能, 那這種就是我覺得就依大家的喜好, 可以就是自己去學習, 除了 Solidity 以外, 其他的智能合約語言啊, 像是 Vyper , 它是通過 Python 來寫的, 然後像 Huff 就是比較底層, 就如果你要做那種要很省 gas fee, 或是你需要做一些比較底層的優化的話, 你可能就會用到 EVM code 的寫法的語言, 語言本身其實怎麼樣去實作常見的智能合約, 因爲一定有很多像 OpenZeppelin 他會教你怎麼樣去實做 ERC20 或 ERC721 的 token, 進階可能會教關於一些 DeFi 的簡單的應用, 像是 Lending, Swap, 或是 NFT 交易等等要怎麼去實作。

我們除了要把智能合約開發出來之外, 還要還要知道說怎麼樣開發高效能的、安全的智能合約, 因爲其實我們每花的所有 gas fee 都是真錢嘛, 如果你的應用是跑來以太坊上又特別貴, 這裡就會有很多去優化 gas fee 的做法, 這也會跟就是 EVM 比較底層的概念有關係, 這種就是比較進階的主題, 就是怎麼樣去優化 gas fee, 有非常多的點可以探討, 其實如果優化做得好的話, 有可能可以節省到 30-40% 或是更多的 gas fee 都有可能, 另一方面就是安全性, 因爲要開發智能合約的話, 有些時候是功能本身並不難, 但你要把它寫的安全, 就是說沒有漏洞, 而且有時候漏洞是經驗不夠, 或是你其實沒有想過有這樣攻擊的可能性, 其實是會看不出來的, 所以這塊就會比較仰賴瞭解說怎麼樣的合約是安全的, 常見的合約的漏洞會有哪些等等, 就會是我覺得比較進階的智能合約開發的主題。

像我自己也蠻喜歡研究一些市面上的, 就比較大的那種 DeFi 啊或者 NFT 合約的運作還有他們的代幣經濟模型跟就是他們在合約裡面是怎麼實作的, 像 Uniswap 的從 V2, V3 到 V4, 其實它的機制演進的蠻多, 而且就是每一個都越來越複雜, 去了解他背後原理跟怎麼實作, 會是一個蠻好的學習資源, 因爲所有東西都是開源的包含你程式碼, 甚至我記得他前端也是開源的, 基本上你自己也可以自己部署一個 Uniswap 的前端, 你透過了解這些智能合約跟前端的實作, 我覺得從裡面就可以學到很多就是智能合約開發的, 甚至像 OpenSea 它的也是在 Etherscan 或者 GitHub 上都可以看到合約的開源的實作

我自己也是瞭解過 OpenSea 的合約, 覺得有興趣的話可以看看, 如果想要深入瞭解智能合約開發的這個主題的話。

10:39 Web3 + 前端開發與 Web3 + 後端開發

Web3 + 前端的開發其實這個會是最大宗的結合, 因爲 Web3 裡面,, 區塊鏈本身就可以把它想成是一個後端嘛, 等於是你可以對他做讀寫的操作, 如果你想要存資料, 你可能就是寫在你的智能合約裡面, 把它存在合約上, 讀的話就是去讀這個智能合約。

Web3 + 前端的開發的話, 比較大宗的話是使用 React 來開發, 這塊我覺得就是需要去, 第一個是熟悉 React 本身啦, 畢竟我們還是開發前端的 APP, 怎麼樣做到好的體驗, 其實還是很仰賴前端的技能點, 再來就是怎麼樣跟區塊鏈互動的相關的 library, 像包含發送交易或是追蹤交易結果等等, 還有就是我們要熟悉就除了簽名交易之外還有一些不同的簽名方式, 像是簽名訊息啊或是 type message 等等, 這些簽名他大概會有哪些應用場景跟就是他簽的內容大概會怎樣跟怎麼樣實作, 那其實這些都是我覺得還蠻常見的知識點, 如果熟悉的話, 在我們實作一些 DApp 的時候會還蠻常用到的,

還有一個就是因爲我們做 DApp, 提供更好的 UX 的話, 一些資料顯示的即時性方面, 就是也要把它做好, 就包含錢包的餘額、資產, 或是我送出一個交易之後, 他的交易狀態等等, 跟使用者互動相關然後比較細節的東西, 如果能把它做的好的話, 我覺得就是 Web3 跟前端開發的一個整合, 我覺得是蠻重要的點, 比較進階, 怎麼樣從區塊鏈上面拿到比較深入的資料啊, 像是這個錢包地址 token approval 的歷史等等, 現在市面上有越來越多 browser extension 幫助使用者防詐騙, 假設我是裝 MetaMask 的 extension, 然後又裝了一個, 譬如說防詐騙的 extension, 它可能就會在我跳出 MetaMask 的簽名交易的視窗之前, 還先幫我去掃描這個交易本身就是有沒有風險, 可能會做什麼事情, 我們有沒有要注意的, 這種應用就是也會比較進階, 就是要去了解到 browser extension 相關的比較底層的原理, 這些大概就是我覺得 Web3 + 前端開發比較重要的知識點

再來後端的話, 其實以我們自己開發錢包還有一些企業應用來說, 也是蠻需要有 Web3 的知識的, 第一個, 當然是在後端語言本身, 可能 Golang 或是 Node.js, 像我們是使用 Golang, 不過 Node.js 也非常常見, 就是 Web3 相關的開發, 這塊就是也是一樣對本身語言的熟悉, 還有對資料庫、快取系統的串接, 這種就是蠻基本的, 也會在很多 Web3 的應用裡面會使用到, 再來就是在後端其實有些時候, 也需要去生成錢包跟做私鑰管理, 包含簽名跟發送交易啊, 發送交易的時候, 要去設定 gas fee 跟 nonce 等等, 有些時候是前端簽名的資料, 要送到後端去驗證, 所以後端也要有辦法去驗證這個簽名, 有點像是驗證 JWT 啊或是一些密碼學簽名的這種一樣的做法。

除了這些之外, 還有就是因爲有些時候, 我們需要在後端去整理一些區塊鏈上的資料, 像以我們錢包爲例

或者需要整理用戶的資產啊, 或是 NFT 列表或是交易歷史等等, 這些的話, 其實就仰賴在後端, 對於怎麼樣拿到區塊鏈上的資料的, 比較深入的理解, 就包含有些時候如果這個資料較複雜的話, 怎麼透過一些 API 或是 JSON-RPC 的 query, 去組出我們想要的資料, 跟就整合不同的資料來源等等, 這也是一個後端蠻, 我覺得蠻重要的應用, 還有一個點是, 如果我們想要在後端發送交易的話, 發動錢包交易的話, 其實流量比較大的時候, 系統要怎麼容錯的問題。

就例如說, 假設我們作爲一個 mint NFT 的網頁, 然後這時候突然開始 mint 的時候, 很多人衝進來, 我們要怎麼樣好好處理每一個 request, 然後跟他上鏈的順序, 那不至於讓他就是卡在鏈上等等, 或是 gas fee 太低, 都有蠻多要注意的地方, 對, 那這個就是比較深入的內容。

11:54 Web3 + APP 端與 Web3 資安

再來是 Web3 + APP 端的開發, 其實我覺得很多概念其實跟前端是類似的, 那像我們自己做區塊鏈錢包的話, 首先當然也是熟悉 APP 本身的開發, 包含 Flutter 或是 React Native 等等誒因為是手機的區塊鏈錢包也必須要熟悉誒除了以太坊以外其他的鏈,就這些多鏈的錢包是怎麼樣實作的, 怎麼樣生成錢包或是簽名發送交易跟每條鏈, 每條鏈有些時候, 他 gas fee 的設定的方式會不太一樣, 這些都是我覺得需要熟練的知識點, 在 APP 裡面, 我可能會需要去實作 wallet connect, 跟 DApp 瀏覽器這些功能, 這些就是比較進階的, 還要去理解到說這些協議底層是怎麼運作的, APP 要怎麼把這個就作爲橋樑, 把這個東西串上

再來 Web3 資安的話, 這邊我覺得攻擊手法也一直都在, 就是不斷推出新的攻擊手法還有防禦的方式, 這邊我覺得會需要理解說, 有哪些常見的攻擊方式跟攻擊原理, 那還有一個是剛提到智能合約本身, 我們就是希望他本身就不要有, 儘量不要有漏洞, 那怎麼樣寫更安全的智能合約跟測試, 其實我覺得也是一個蠻大的主題, 尤其剛剛講了蠻多前後端的設計會碰到的知識點, 那有些時候在設計系統的時候, 我們也要考慮, 怎麼樣保護使用者的資產, 讓他不被駭, 還有以及像我們做錢包的話, 我們要怎麼樣也幫助使用者保護資產, 因爲譬如說透過一些他交易顯示他交易的風險等等的, 去提升這個用戶體驗, 讓使用者等於在操作區塊鏈應用的時候, 可以比較放心, 因爲他可能知道哦, 這個是沒有風險, 那如果有風險我們會提示他這樣, 那只是我們作爲 end user, 我們也需要了解說, 那自己應該要怎麼保護自己不被駭, 這其實就有蠻多細節可以探討的。

16:57 舉例: mint NFT 網站

舉個例子就是, 假設你將要做一個 mint NFT 的網站, 其實這裡面就會用到蠻多剛剛提到的知識點, 就包含這個網站本身要怎麼連接錢包, 例如說用錢包簽名來登入這個網站, 登入之後要知道到鏈上去查詢, 說這個地址有沒有資格 mint NFT, 它可以 mint 幾個等等, 等到它 mint 的時候, 我要怎麼在合約上去驗證白名單, 然後避免就是一個人領了很多次, 或是不在白名單裡面的人有領到這 NFT, 要在智能合約上驗證, 所以就會有一些 gas fee 的考量, 智能合約上驗證的做法, 有驗白名單的做法, 有蠻多種, 那不同做法, 它可能就會有不同進行速度啊, 或是 gas fee 上的 trade-off, 比較深入可以探討的知識點

像我們有些時候會做代替使用者付 gas fee, 或是像代發交易的功能, 這個就是 Meta Transactions 這個主題, 這個主題就是使用者他不需要自己付 gas fee, 那就可以 mint 一個 NFT, 像這樣的做法啊, 我覺得現在也越來越常見, 怎麼樣實作這背後的機制, 其實就我覺得是能夠去學習, 而且提供更好的使用者體驗, 光是 mint NFT 就有蠻多就各式各樣的玩法, 像盲盒啊, 或是賦能啊, 兌換, 質押, 交易等等的各自的玩法, 就會有對應比較複雜的實作方式。

18:23 學習方式

自己學習的方式的話, 第一個是, 因爲除了智能合約開發之外, 不管是前後端或者 APP, 其實所以你至少必須對既有的程式語言或者開發框架是足夠熟練, 像我們平常在開發上, 至少會有七八成的時間或是說精力也是放在可能前後端或者 APP 本身的實作, 剩下的兩三成就是就會需要 Web3 的知識, 我覺得在既有的程式開發的能力上面還是我們還是會蠻看重, 還有就是, 如果實際做自己有興趣的 project 的話, 也就會學的比較快, 因爲其實現在學習資源真的非常多, 假設我們找到一個就是有興趣的 DApp, 我去模仿他的一些功能去實作的話, 過程中也大概會知道說, 假設我要做這個 DApp 出來, 會需要哪些知識點,, 去學對應的知識點把它實作出來, 這樣其實我覺得這樣學習方式是可以蠻快的, 剛剛有提到說開源項目的一些智能合約跟前端的寫法, 我覺得也是蠻好的學習資源, 因爲這些等於都算是業界就是比較頂尖的人, 他們寫出來的東西, 就是從裡面去學的話, 覺得也蠻好的

19:33 經驗分享

公司爲例分享, 就是說, 就我們大概一半以上開發者加入的時候, 他其實沒有太多的區塊鏈知識, 聽起來有點反常, 不過其實在第一個是也比較看重, 就像剛剛講前後端或者 APP 的本身的操作能力, 而且在加入之後, 經過 3-6 個月的實戰, 就可以掌握大部分 Web 3 相關的重要的概念, 就是這也是我們公司的例子, 就不同公司差異可能很大, 不過當然另一方面, 如果是有 Web3 或區塊鏈相關知識或技能的話, 其實是會蠻加分的, 因爲我覺得我們在平常開發的過程中, 有些東西如果是對 Web3 有概念, 你就會比較知道他應該要怎麼做, 或者他大概就會長什麼樣子, 然後他應該要有哪些功能等等, 這個因爲他是對產業或者是對於 Web3 的這種 sense, 如果有的話, 其實是會蠻加分的! 就搭配你既有的這種, 不管是跟前後端整合的能力的話, 會, 我覺得就上手就會快的特別多

20:35 結論

最後結論就是我覺得其實 Web3 跟區塊鏈的技術, 發展速度真的蠻快的, 不過基礎知識是不變的, 像以太坊它這個這本身最核心的東西, 其實也不太會變, 因爲現在很多升級就是, 比較像是在上面往上加新的東西嘛, 既有的對於可能私鑰或是交易等等概念, 其實都還是蠻通用的。

持續學習跟探索,像可能最近有什麼樣新的以太坊標準出來, 我可能也會去研究或是瞭解一下, 有沒有機會去應用在我們的系統裡面, 而且如果有這個機會的話, 就是通過做中學, 我覺得也是學習的會比較快的

最後就是如果大家對 KryptoGO 有興趣的話, 就是歡迎加入這樣, 今天我分享大概就到這裡。

21:21 主持人總結與轉場介紹

非常謝謝 Harry 今天精彩的分享, 很快速的幫我們歸納出來了每一個前端、後端然後 APP 端, 然後資安需要知道的那些知識點, 然後也歡迎大家加入 KryptoGO, 然後我們最後也會一起來問一下 Harry, 有關於 KryptoGO 相關的公司目前的一些進展方向, 然後是如何解決企業的問題的。

我們今天呢, 還有一位來賓是我們的 Paul, Paul 他自己除了現在是臺灣知名的 NFT 交易所的智能合約工程師之外, 他自己也對很多的智能合約的語言有一些研究, 然後也組了一個讀書會, 然後近期呢也在我們的 KryptoCamp 頻道上面分享了有關於 Solidity 快速入門的部分, 今天會邀請 Paul 先跟我們簡單分享一下, 他是如何快速的從 Web2 轉移到 Web3, 我們歡迎 Paul!

22:13 Paul Wu 分享轉職歷程

大家好, 我是 Paul, 所以我的環節比較比較輕鬆一點, 哈哈哈, 其實聽完剛剛聽完 Harr y講的那個整個路線, 其實也蠻有感覺的, 我等一下可以跟大家分享, 我準備, 因爲我準備進到 Web3 產業, 我有對 Web3 產業的想像, 所以我覺得針對我的想像去做準備, 然後到真的進去之後, 其實跟你的想像會有一些差異, 我先講一下, 我的背景好了, 前面講一下故事, 後面給一個小總結。

我自己的故事是, 我其實在大學、碩士都跟區塊鏈沒有關係, 所以我大學其實是專題做 APP, 然後碩士研究 AI, 哦所以這兩個, 然後我第一份工作就是我, 工作是在臺灣一個比較大的科技公司, 做後端工程師啊, 職稱是研究員, 可是我就是做後端工程師的工作, 我那個公司有個好處啊, 就是我蠻準時上下班的, 所以我有很多班餘的時間, 可以做自己想要的精進這樣, 在班餘時間在精進其實技術層面剛開始蠻少的, 然後當然就是上班會精進一些技術, 就是上班需要用到的我就必須學習, 我自己的公司在工作大概一年多兩年, 我也覺得成長碰到瓶頸, 基本上就用既有的技術, 一直在解決類似的東西, 我覺得成長碰到一些瓶頸, 所以我就開始在找轉職的機會

搜尋然後找到, 然後就詢問然後就進來 KryptoCamp, 學習的時候區塊鏈每一個坑都很深, 他們不可能每一個都講得很細, 這裡面最大收穫是 final project, 我必須要做出一個 final project, 那是唯一一個我可以往下鑽(深入研究)的一個機會, 所以我當時在寫這個 final project 的時候, Casper 應該知道, 我的題目我其實訂的很大, 當時其實當時的老師, 也不覺得我辦法做出來, 對, 就是寫了一個結合 DeFi, 就是我們做一個基金項目, 這個基金項目又有 DAO 的運作, 然後我們都把前端跟智能合約串完, 所以其實我們大概花了一個月的時間而已, 所以其實那個時候, 那個時候我們很趕, 這是一個過程, 所以在 KryptoCamp 完成了我第一個blockchain 的 project, 我覺得裡面最大收穫就是這個 project, 啊絕對是這個 project。

因爲你爲了證明你有一些經歷, 那這是一個證明的管道, 而且最直接的方式, 我覺得找到工作其實是有一個蠻重要的點, 就是剛剛 Harry 有講到, 就是他也會做一些技術的 survey, 然後分享給大家, 我覺得這個蠻重要, 就是你去學一些新東西, 這東西迭代太快了, 所以你去學一些新東西, 你就把它記錄下來, 最直接的方式就是你寫一些demo code, 然後寫一些文件

對, 這個 demo code 的說明文件, 然後放到 GitHub 上, 其實就是你的一個小經歷, 其實你在寫文件的過程中, 你可以去檢視自己, 是不是真的瞭解這個東西, 你寫到一半, 你卡住的時候, 你就知道這個地方我還沒有很懂, 你就再去找一些資料, 寫完之後, 這就是你一個經歷, 我有蠻大感覺是, 我其實在進到 KryptoCamp 之前, 我只有還在上課階段的時候, 我就想說, 那要不要試著找找看, 其實那個時候沒有人會理你, 因爲我其實還沒有 project, 我沒有什麼東西可以證明你自己, 反而我在把這個 Demo final project 完成之後, 我覺得我有蠻大的底氣, 覺得我其實有開發出東西的, 所以其實那個時候你的, 我覺得是心理層面, 你會覺得哦自己好像有點東西, 對, 然後再包括之後 Sui 呀做了一些研究, 我就把 Sui 的一些合約的程式碼都 open 上去

所以慢慢累積作品集之後, 你會越來越有底氣去面試這些公司, 那也是後來才投履歷的時候, 終於有 Web3 的公司理我了, 哈哈對對, 前面都沒有, 所以累積作品是我覺得蠻重要的一件事!

所以總結下來就是, 我覺得上面東西迭代很快, 有新的東西一直出來, 那你有想法或者想做一些東西, 你就去做, 然後寫, 一定要寫下來, 記錄下來, 這個東西就是你未來的籌碼, 因爲你不知道什麼時候那些公司會甩你, 所以可是反而我累積到一定的成績之後再去嘗試, 就拿到一個機會, 面試的機會, 他也是看了我的經歷之後才覺得好, 可以找你來面試, 對, 所以我覺得就是記錄, 你就是持續的記錄, 持續的寫, 你不知道機會什麼時候會來, 可是來的時候你是準備好了, 那就 OK 了, 這是我的一些經驗分享。

那最後就是講一下回應, 剛剛 Harry 講一個東西, 我覺得講的蠻對的, 就是他講了很多點是在 Web3, 可能合約或者是前端既有的一些科技技術的一些串接, 程式語言的串接, 我覺得我進來也是這樣, 原本以爲, 可能是公司性質也有差啦, 我原本以爲進來就是有可能, 專心寫智能合約就好, 可是我覺得現在不是這個風氣, 就是主要都是你原本的技術要有後端或者前端一些技術, 你要跟鏈上互動, 然後區塊鏈的基本知識要有所以你進來很多時間會幫公司處理的是鏈上的一些數據, 鏈上資訊, 我覺得大概是這樣。

26:57 主持人轉場進行 QA

謝謝 Paul 的分享, 讓大家知道說做專案還有寫技術文件真的很重要, 然後其實我們也因爲這樣子, 我們其實現在的課程也一直需要迭代, 因爲其實一年前的東西, 現在不太夠用了, 需要尋求各方大神來協助我們把這整個知識庫再更加的完善, 然後才能夠推出, 更市場需求的這些課程跟內容, 然後我這邊也會先有一些問題來, 先請教 Harry 跟 Paul

27:26 QA: KryptoGO Studio 解決哪些企業痛點?

大家很好奇就是 KryptoGO, 它是一間什麼樣子的公司, 它除了做錢包、NFT 的服務, 然後我們在網站上面看到, 你們推出了 studio, 我們想要知道 Harry 這邊能不能分享, 就是你們看到哪一些企業的痛點, 然後想要透過你們的這個一站式的方案來去解決的呢?

Harry Chen: 其實我們從兩三年前的時候開始做錢包, 到現在也算是產品也一直在迭代, 錢包我覺得很好理解, 就是 toC 的一個多鏈錢包, 在裡面管理所有的資產, NFT 跟投資等等, 推出 studio 其實是看到一個企業端它進入 Web3 的需求, 譬如說我們最近有遇到, 蠻多可能 GameFi 或是 DeFi, OTC 相關的業者, 他們想要進入 Web3, 遇到幾個問題, 第一個, 他會有合規相關的問題, 這特別是在 OTC 上面, 例如說他要跟, 他的 end user OTC 的時候, 其實要先對他做 KYC, 那 KYC 完成之後, 他怎麼管理這些使用者的資料, 完成後續 OTC 的交易, 來了解他的鏈上鏈下, 提供資料的風險, 等於是, 我們提供一個比較完整的這個方案, 去幫助企業, 說從最開始他用戶進來, 那到可能有些用戶需要做 KYC, 再到說用戶的這個生命週期的管理, 再到後續完成交易等等的, 就是透過 studio 的服務, 能把每一個, 這個會跟客戶和企業接觸到的點, 幫助企業完成, 所以我們也把錢包的服務整合進來, 因爲企業他進入 Web3, 他怎麼樣去和他的使用者(互動), 他們會想到, 不然他們也自己開發一個錢包, 但是其實開發錢包的門檻蠻高的, Studio 裡面也會有, 就是這種錢包即服務的概念, 所以我們快速可以幫企業打造, 他的 mobile 的錢包, 這樣的話, 其實對於使用者來說, 就是一個品牌的應用的這種感覺, Studio 整體想幫助企業解決的問題

我覺得總結就是, 第一個是在 Web2 跟 Web3 身份之間的串聯, 再來就是合規, 然後還有使用體驗, 因爲如果要重做的話, 其實要做到好的使用體驗其實蠻困難, 大概是解決這幾個痛點,

29:41 KryptoGO 如何幫助使用者管理私鑰

Casper Chen: 就針對你剛剛講的使用者體驗的話, 其實我蠻有感的, 我對於就是你們的錢包, 其實在針對使用者保管私鑰上面, 有很多的不一樣的解決的方式, 能不能請你分享一下, 就是你們是怎麼樣幫助使用者去管理他們的私鑰的?

Harry Chen: 就這個, 的確是講到了一個蠻重要的點, 首先就最簡單, 當然是我們可以讓使用者匯出私鑰或是助記詞, 但其實這對我們一般 Web3 使用者來說是蠻常見, 那只是說對於比較小白的用戶, 他這件事情就第一個也很難理解, 門檻也比較高, 我們也推出算是幾種的備份方式, 最一開始推出的是透過密碼去備份, 等於是說使用者記不住助記詞, 那它至少密碼, 然後我覺得是 Web2, 大概已經很常用的一個概念, 可能大家自己也會有比較記得密碼, 密碼去加密做備份我們就可以做到

其實我們 KryptoGO 幫他做的備份, 我們是沒辦法解開的, 但是當他在使用者在自己的裝置上, 輸入密碼之後可以解開這個私鑰, 就背後, 其實當然就蠻多密碼學相關的攻防啊, 然後跟我們怎麼確保說, 這個破解難度是夠難的, 這就是會比較多細節, 不過概念上是第一個是通過密碼

再來後面我們就又覺得說, 密碼有些使用者會忘記, 這個就是有沒有更好的做法, 其實有, 我們後來找到的, 是比較像是分片的概念, 就是把這個私鑰去分到, 譬如說我們分片, 讓使用者去分到他的裝置, 然後可能他的 iCloud 或 Google Drive, 一片在我們 KryptoGO 的伺服器, 使用者只需要其中的兩個分片, 就可以還原出他的錢包, 這意思就是說像 KryptoGO 的伺服器, 我們只有一個分片, 會也沒辦法完全還原使用者的錢包, 必須要使用者可能登入了 KryptoGO, 那同時又連接了 iCloud 或者 Google Drive, 去把這兩個分片組起來才能完整還原他的錢包, 所以這樣的話, 其實就可以做到, 使用者不用記密碼, 然後就是登入, 可能連接他的帳號, 其實就可以直接進來, 那同時又不失這個安全性, 所以大概我們就是, 比較新的做法, 會是讓使用者有更好的體驗這樣。

32:04 入門 Solidity 後推薦做怎樣的專案?

Casper Chen: 謝謝 Harry 的分享, 我們現在收到兩個問題, 來自於我們 YouTube 上面, 我請 Paul 來回答好了, 好不好, 他是個學生, 然後他會 Solidity 基礎的語法, 做過簡單的 DApp, 有沒有什麼適合他們, 來做的一些 project, 然後你覺得是他現在可以練習的呢?

Paul Wu: 我覺得如果你對 Solidity 已經感覺已經有一點基本的瞭解了, 對嗎基本語法, 感覺有點基本瞭解, 我覺得你可以, 其實我原本要問 Harry 一題的, 我覺得這個可以一起問, Harry 可以順便幫我回答

Casper Chen: OK 好

Paul Wu: 首先我覺得, 可以去試著串一些現成項目的合約, 如果已經熟悉語法了, 那你應該對有些項目寫的合約, 你可能看得懂一些東西了, 所以試著去解讀項目的合約, 然後去了解他怎麼寫的, 然後順便你瞭解完他怎麼寫之後, 你可以試著用合約去串看看, 去串他的服務, 對, 所以, 我們都知道那個在幣圈項目迭代很快, 所以也很多是不用重複造輪子的, 比如說有個錢包項目或者假設 Uniswap 好了, 有一個 Dex 的項目, 如果你只是要做一個服務, 然後可能要, 需要 swap 這個行爲在你的服務裡面, 其實你不用自己寫個 swap, 你只要用你的程式去串既有的 swap 就可以了, 所以我覺得你可以想一個主題, 然後去用到現成已經有的項目合約, 然後試著去串接看看, 對, 所以我覺得這個可以當做你的下一步

好, 我就直接問Harry好了, 呵呵, 就是有另外一個要問, 就是也順便幫大家問就是, 目前在市面上的一些合約啊, 如果我要精進我的合約技術我要去看, Harry 說他會去看一些項目方的合約, 然後去學一些東西, 那有沒有幾個領域, 譬如說 NFT 或是 DeFi 的某幾個項目, 覺得他們的合約是值得去讀一讀的。

Harry Chen: 講一下喔, NFT 的話, 我覺得最大的 OpenSeaBlur 這兩個, 我覺得光這兩個就也很難了, 因爲其實你就想 NFT 的 marketplace, 它除了要能夠做到買賣, 第一個它最複雜的地方是它怎麼做到, 我 NFT 還是放在使用者的錢包, 但是我可以掛賣, 然後別人可以把我的 NFT 買走, 就是這個機制, 其實背後就有很多學問在, 所以這是一個, 那可能甚至像這些 marketplace, 他會做到, 有點像是我一次可以買很多個 NFT, 就是像 OpenSea, 他可以做到說我用一個 NFT, 加一些 token, 跟你換你的兩個 NFT 這種, 就是他背後是 Seaport 的這個協議, 但這可能比較不適合初學者, 或是你如果真的有興趣的話, 可以去讀一下。

DeFi 的話, 我覺得每個合約他都有不同的, 就是要解決的問題, 跟就比較複雜的點, 像我們常講說 Uniswap, 它到 V3 的時候, 其實整個結構就已經蠻複雜, 而且它在管理整個流動性的方式, 也沒有像 V2 那麼簡單, 如果是要看這種 DeFi 的合約的話, 我覺得其實還是可以先從 Uniswap V2 看起, 因爲 V2 就是他所謂 x*y = k, 這個公式怎麼應用在合約裡面, 然後怎麼去計算所有 swap 的東西, 就是這個我覺得就是可以先看的, 那要再看的更深入就是 V3, V3 的話, 可能要投入更久的時間才能夠看得懂, 不過你覺得有興趣的話, 其實是蠻好研究的這幾個合約。

35:27 KryptoGO 需要的人才是?

Casper Chen: 謝謝 Harry! 最後我們請教一下, KryptoGo 有沒有什麼樣, 徵才的話, 可以再跟我們分享, 現在最急缺的是哪一些人手來加入你們團隊?

Harry Chen: 徵才的話, 其實我們就主要也是持續在看前端、後端跟 APP 端的開發者, 像其實我們公司有全端的開發者, 我覺得基本上就是, 其實好的開發人才的話, 語言或是框架的就不太會侷限, 我們歡迎任何有興趣的都可以來投, 直接到我們的官網, 就可以看到相關的徵才的資訊

Casper Chen: 好, 謝謝今天 Harry 的時間, 來跟我們分享寶貴的資訊, 然後讓我們可以更理解到現在產業界需要的人才是長什麼樣子, 然後有哪一些技能是可以在這個時候補足的, 然後也非常謝謝 Paul, 今天一起來參與這場直播, 然後跟我們分享了有關於, 就是他轉職 Web2 到 Web3, 需要 pick up自己被這些需求公司看見, 怎麼樣累積 project, 做了哪些 project 的這些細節呢, 或許未來 Paul, 可以再有時間再跟大家分享, 如果你今天剛上手了智能合約的語言, 然後怎麼樣去做更多的 project, 來累積自己的專案跟作品集。

我們今天的時間就非常感謝兩位, 也謝謝大家, 今天一起在這場直播活動上面, 跟我們一起討論有關於, Web3 全端工程師的技術養成之路期待在下一次的直播活動可以看到大家!

如果喜歡我們的內容的話, 別忘了幫我們按讚訂閱一下哈哈哈, 收看的人越來越多, 我們也會定期的舉辦這樣子的直播活動, 然後最後再謝謝兩位, 協助我們舉辦這場直播活動, 那最後就謝謝大家!

今天活動就到這邊, 謝謝, bye!