跳至內容
0%

成為 blockchain developer:你需要知道的事

Alchemy team headshot

作者 Alchemy

發布於 2022年5月7日閱讀時間 4 分鐘

想像一下你回到90年代末,網際網路正要成為家家戶戶熟知的東西,而你有機會提早參與其中。

假設你有機會成為 Yahoo 最早的12名員工之一,你會接受嗎? 以你現在所知道的來看,你很有可能會接受。

雖然我們無法回到過去,但幸運的是,對於站在科技創新前線的人來說,精彩的機會仍不斷出現。說實話,我們現在正處於歷史上類似的時刻。

加密貨幣,以及基於區塊鏈的技術,例如 DeFi(去中心化金融)、NFT(非同質化代幣)和DAO(去中心化自治組織),在2022年我們經商和互動的方式中,持續扮演著重要角色。

數以千億計的投資資金正流入加密貨幣領域,且沒有放緩的跡象。

以下僅列出少數正在打造 Web3 未來的新興公司。

Layer
Category
Projects/Services

Decentralized Applications

DeFi

UNISWAP, AAVE, SUSHISWAP

Decentralized Applications

Identity & Auth.

ENS, METAMASK, ARGENT

Decentralized Applications

NFTs

OPENSEA, NIFTY GATEWAY, RARIBLE

Decentralized Applications

Data

HANSEN, CHAINLINK, THE GRAPH

Presentation Layer

Web3 Native Libraries

ETHER.JS, WEB3.JS, ALCHEMY WEB3

Presentation Layer

Developer Environments

HARDHAT, TRUFFLE, BROWNIE

Presentation Layer

File Storage

IPFS, FILBASE, ARWEAVE

Blockchain Interaction Layer

Data Access

SUPERNODE, BUILD, MONITOR, NOTIFY, APIS, NFT API

Blockchain Interaction Layer

Self-Hosted Nodes

Self-Hosted Nodes

Blockchain Interaction Layer

Block Explorers

SNOWTRACE, ETHERSCAN, POLYGONSCAN

Network Layer

EVM Blockchains

ETHEREUM, POLYGON, ARBITRUM, AVALANCHE, STARNET, CRONOS, OPTIMISM, ZK SYNC

Network Layer

Non-EVM Blockchains

NEAR, FLOW, SOLANA, TERRA

根據加密資產價格追蹤網站 CoinGecko 的資料,全球加密貨幣的總市值已接近2兆美元(截至2022年上半年)。

CoinGecko 圖表:全球加密貨幣市值逼近 2 兆美元
資料來源

數字先談到這裡。這對你來說意味著什麼?

區塊鏈開發是一個好的職業選擇嗎?

目前最有利可圖的職業路徑之一就是成為區塊鏈開發者。根據 Talent 的資料,一般區塊鏈開發者的年薪為14.5萬美元。隨著區塊鏈開發者的需求持續成長,現在正是投入的時機。

作為區塊鏈開發者,你也處於能夠率先掌握許多機會的獨特位置,例如投資早期階段的專案。

開發區塊鏈能幫助你辨識出有可能成功的專案,並避開那些缺乏動能的專案。你能即時看到哪些方法有效、哪些無效,同時親手打造 Web3 的未來。

區塊鏈開發者需要知道哪些知識?

作為區塊鏈開發者,你需要具備的一些技能包括程式語言,例如 Javascript、Python 和Solidity,以及一些關鍵概念的知識,例如區塊鏈、共識機制、雜湊函數、gas 等等。

如果你擅長學習新技術,並且骨子裡是個開發者,那麼在職業上獲得成功的機會不計其數。但你需要具備一些技能,並理解區塊鏈開發中的幾個關鍵概念,才能走完剩下的路。

以下是你應該著重的一些基礎知識。

成為區塊鏈開發者需要知道的5項技能

1. 熱門的區塊鏈程式語言

作為區塊鏈開發者,你很可能需要學習多種程式語言,但精通 Javascript 是無法迴避的。

Javascript 是一種多用途且可移植的語言,廣泛應用於區塊鏈生態系統中。舉例來說,你可以直接使用 Javascript 函式庫來建立與現有智慧型合約互動的去中心化應用程式。

如果你還精通其他語言也會很有幫助:C++(例如傳奇性的 Bitcoin 就是用這種非常靈活的語言編寫的)或 Python。後者在你想專注於後端開發和進階腳本編寫時非常實用。

我們強烈建議你花些時間研讀 Ethereum Javascript 相關資源,幫助你快速上手。當然,你也會想投入時間學習 Solidity,我們在這裡有深入介紹。

學習多種程式語言的樂趣還沒結束。

2. 區塊鏈技術的基礎知識

理解區塊鏈技術的基礎,對區塊鏈開發者來說至關重要。閱讀Bitcoin和Ethereum白皮書是必須的。但你還需要理解幾個關鍵概念。

舉例來說,重要的是要知道,區塊鏈的核心是一種分散式帳本技術(DLT)。這是一種協定,讓資料庫能夠在沒有中央管理者的情況下運作,資料區塊分散在多個位置或實體之間。區塊鏈確實可以用於加密貨幣,但其應用場景並不止於此。未來,我們可能會持續看到各組織、甚至國家利用區塊鏈來舉辦選舉,並決定各種政府資金的使用方式。區塊鏈也提供了一種問責感,因為大多數區塊鏈都是任何人都能查看的公開帳本。可以想像,隨著其使用日益普及,這將如何影響政治和商業環境。雖然區塊鏈無法解決世界上所有的問題,但我們才剛開始了解它所能提供的許多強大應用場景。

3. 區塊鏈共識機制

區塊鏈與加密貨幣的關鍵發明是共識機制。這是一個沒有中央權威的去中心化對等系統用來做決策的程序。它是一種用來決定哪些交易要被加入帳本、以及加入順序的方法。 以下是一個簡單的範例:

區塊鏈共識機制如何讓分散式節點保持一致的示意圖

Proof of Work 和 Proof of Stake

雖然如上所述,區塊鏈通常有許多種共識機制,但它們都服務於同一個目標——確保帳本中的記錄是可信的。

兩種最常見的共識機制:

Proof of Work 最為人所知的是驅動 Bitcoin 網路,它描述的是利用運算能力(透過礦工)來解決複雜的數學方程式,以確保區塊鏈同時具備安全性與準確性的過程。

作為回報,投入資源解決這些方程式的礦工會獲得 Bitcoin 作為獎勵。

雖然 Proof of Work 驅動著 Bitcoin,但事實證明它相當耗能,這也是許多新的區塊鏈(例如 Solana)試圖避免的問題。話雖如此,使用 Proof of Work 的區塊鏈,通常具有較高的安全性,並提供一種去中心化的方式來驗證網路上的交易。

另一方面,Proof of Stake 是 Proof of Work 的替代方案,能源成本大幅降低。Proof-of-Stake 不是靠耗能來驗證交易,而是透過金錢懲罰來約束驗證者的正確行為。

「能源消耗是這兩種共識機制之間的一個主要差異。因為 Proof-of-Stake 區塊鏈不需要礦工為重複的流程(競相解決同一個謎題)耗費電力,所以 Proof of Stake 讓網路能以明顯更低的資源消耗運作,」Coinbase 如此寫道。

Ethereum 原本是以 Proof of Work 啟動的,現在已改為使用 Proof-of-Stake。

以下進一步比較這兩種共識機制。

Proof of Work
Proof of Stake

Proof of work is a requirement to define an expensive computer calculation, also called mining

Proof of stake, the creator of a new block is chosen in a deterministic way, depending on its wealth, also defined as stake.

A reward is given to the first miner who solves each blocks problem.

The PoS system there is no block reward, so, the miners take the transaction fees.

Network miners compete to be the first to find a solution for the mathematical problem

Proof of Stake currencies can be several thousand times more cost effective.

Aspect
PoS (Proof of Stake)
PoW (Proof of Work)

Full Name

Proof of Stake

Proof of Work

How It Works

Owners of the cryptocurrency can stake their coins, then the protocol selects a validator who adds a new block of transactions and earns rewards.

The first miner to solve the puzzle (finding a target hash) gets to add a block of transactions and earn rewards.

Energy Usage

Low

High

Equipment & Resources Required

PoS doesn't require validators to purchase specialized equipments or to solve complex equations.

PoW requires hardwares and energy, because mining capacity depends largely on a miner's computational power.

網路上有許多優質的資源可以幫助你理解這兩種共識機制的基礎,我們強烈建議你花時間研讀。

當然,隨著加密貨幣與區塊鏈持續演進,勢必會有更多共識機制被創造和採用。

4. 雜湊函數

除了共識機制之外,你還需要理解雜湊函數。

雜湊函數用於將新交易寫入區塊鏈,並確保編碼的資料安全無虞。

雜湊是一種運算,透過數學函數將任意輸入的資料轉換成固定長度的文字字串。簡單來說,這意味著一段文字字串會透過演算法被轉換成一組固定的數字與字母排列。

這些函數最終確保了區塊鏈的不可篡改性——即永久保存交易歷史的能力。但這也是為什麼區塊鏈開發比在中心化生態系統中編程要困難一些的原因。

設計這些協定需要很長時間,因為你必須把它們打造得盡善盡美。理論上,程式碼上傳之後,除了極少數例外情況,你無法再更改它。

我們建議你儘量多參加線上課程,以更深入了解這項技術。

入門建議:

除了影片講座和課程之外,也有一些優質書籍。

這絕非完整清單,但如果你閱讀並應用上述資料,你將能順利朝成為區塊鏈開發者的目標邁進。

5. Gas、礦工,以及運行智慧型合約的成本

Ethereum gas 費支付給礦工以執行智能合約的示意圖

作為區塊鏈開發者,你還需要理解「gas」在Ethereum 生態系統中所扮演的角色。

Ethereum 虛擬機(所有交易在運算上執行的地方)的空間非常有限。在任何時刻,對這有限的運算空間供給都存在著不同程度的需求。

一場持續進行的拍賣正在發生,使用者可以為「gas」——也就是 Ethereum 上的運算能力單位——付費。

作為使用者,了解如何節省 gas 費用對你的加密貨幣投資組合更有利。對加密貨幣領域的許多開發者而言,致力於讓 gas 更具成本效益、同時公平地支持礦工,是他們的優先事項之一。

你如何與區塊鏈開發者社群建立聯繫?

與區塊鏈開發者社群建立聯繫的最佳方式,是加入 Discord 伺服器與社群、在 Twitter 上與 web3 開發者及意見領袖互動,並參與 web3 的 hackathon 及研討會。

眾所周知,懂得如何寫程式將對區塊鏈開發者的成功扮演最重要的角色,但也有許多不需要寫一行程式碼就能做的事情。

區塊鏈創作者社群主要在網路上的兩個地方聚集:Discord 和 Twitter。最重要的討論都在那裡進行,你也可以在那裡建立人際關係並尋找工作機會。

與傳統職場不同,你不需要在 LinkedIn 上放一張正式西裝照。在 Web3 的世界裡,最重要的是你的實質知識——你在區塊鏈領域積累的「血汗股權」,主要來自實作經驗、追蹤加密貨幣意見領袖、參加課程、參與 hackathon 等等。

如果你發布關於加密貨幣與區塊鏈的有趣內容,即使你是匿名、用一張有趣的圖片當頭像,你也能認識到人並獲得關注。

以下是你應該加入的一些優質 Discord 伺服器與社群:

以下是一些值得你追蹤的頂尖加密貨幣與區塊鏈意見領袖:

此外,雖然不是每個人都喜歡,但參加研討會是一種能夠當面建立人際關係與職業連結的好方法。我們無法一一列出所有研討會,但這裡有一份詳盡的清單可供你參考。

你正在成為未來的區塊鏈開發者

無論你是剛接觸程式設計的新手,或只是想提升你的區塊鏈職業發展,都無法迴避一件事——你必須投入努力。 話雖如此,加密貨幣與區塊鏈技術正在改變金融、商業、文化等各個領域,機會無窮無盡。

依照本指南中的建議與技巧,將能幫助你順利朝著成為站在這場全球變革前線的開發者邁進。Alchemy 是 Web3 領域領先的節點服務供應商之一。我們的其他產品包括Enhanced APIs、Notify API,以及我們最新推出的NFT API。

Background gradient

打造區塊鏈魔法

Alchemy 結合最強大的 Web3 開發者產品與工具,並提供資源、社群與卓越的支援。