選單

開發人員必須知道的 Web3 基本工具和技術

開發人員必須知道的 Web3 基本工具和技術

作者 | Tyler Hawkins

譯者 | 敘緣

策劃 | 李冬梅

Web 3 開發人員缺口很大,相對來說,目前只有一少部分開發人員成為該領域的專家。因此,如果一位成熟的 Web 2 工程師,想要進入 Web 3 行業,應該從哪裡開始呢?要了解哪些基本概念、學習哪些工具和技術?

本文將探討 Web 3,包括它的重要性以及與 Web 2 的區別。然後再來看看,有志於 Web 3 開發人員應該熟悉的技術棧。

Web3 第一課

在深入研究 Web 3 應用程式中使用的技術之前,讓我們首先了解 Web 3 是什麼,以及它為什麼重要。

Web 3 的五個關鍵特性是去中心化、區塊鏈、安全性、可擴充套件性和隱私。在 Web 3 的去中心化世界中,區塊鏈技術和其他協議從根本上改變了資料的儲存、分發和訪問方式,同時提供了一個本地事務層。當下流行的 Web3 應用案例是去中心化金融(DeFi 和加密貨幣)、在稱為“DAO”的去中心化治理模式中投票、以及作為所有權證明的不可偽造代幣(NFT)。

Web 3 背後的許多動機,都是基於使用者、公司和政府之間的信任受到侵蝕。看上去好像有點憤世嫉俗,但確是如此。

在去中心化金融裡,使用者將資金儲存在自己的私人錢包中,交易時無需與中心化機構互動或依賴國家的法定貨幣。

建立在區塊鏈上的投票應用程式,所有投票資料都是透明的,且任何人驗證起來都很簡便,因此不必再擔心選舉中發生徇私舞弊。這就是讓 Web 3 “無需信人”的原因:該技術是透明的,並且透過密碼學得到保護,因此不再是隻能盲目信任某些機構。

NFT 可用於證明任何數字資產(如音樂或藝術)的所有權,讓你可以更直接地支援創作者。

所有這些例子,其核心都牽涉到不再需要依賴中央機構或中介機構。

需要注意的是,Web 3 並不是要取代 Web 2,就像 Web 2 沒有取代 Web 1 一樣。對於 Web 1 中出現的靜態網站,在 Web 上仍然佔有重要地位。即使 Web 3 越來越受歡迎和使用,Web 2 應用程式也將有一席之地。

去中心化的應用程式(Dapps)

我們現在大致瞭解了什麼是 Web 3,以及為什麼去中心化的概念很重要。那麼 Web3 應用程式實際上是什麼樣子的呢?

嗯……它們看起來很像 Web 2 應用程式!去中心化的應用程式,也稱為“dapps”(或“dApps”),由一個前端 UI 組成,其與部署在區塊鏈上的“智慧合約”(一個小程式碼程式)互動。在交易或將資料寫入區塊鏈時,前端還可以與使用者的錢包互動。與 Web 2 應用程式的主要區別在於,智慧合約和區塊鏈取代了由單個人或公司擁有和維護的經典的伺服器和資料庫。

開發人員必須知道的 Web3 基本工具和技術

去中心化應用架構

定義 Web 3 技術棧的技術

那麼,如何真正構建一個去中心化的應用程式(dapp)?好訊息是,可以從已有的程式設計技能和經驗開始!我們已經知道 dapp 有一個前端,這意味著需要了解 HTML、CSS 和 JavaScript。可能還會使用 Angular、React 或 Vue 等框架或庫,除非你喜歡用原生 JavaScript。這對於已經精通這些技術的前端開發人員來說是個好訊息。

現在,讓我們看看需要專門為 Web3 學習哪些語言、工具和框架:

Solidity 是一種程式語言,用於編寫在以太坊區塊鏈上執行的智慧合約。它看起來像是 C++、Python 和 JavaScript 的混合體。如果你現在已經學習了幾種程式語言,那麼你每次去學一門新語言都會變得更容易。由於大多數智慧合約都涉及某種貨幣兌換,因此遵循適當的標準和在安全方面的最佳實踐至關重要。

Solidity 專案地址:https://soliditylang。org/

Truffle 是一個框架,可以用來編寫、測試和部署智慧合約。其網站將其描述為“使用以太坊虛擬機器 (EVM) 的區塊鏈開發環境、測試框架和資產管道”。就像 React 幫助你構建 JavaScript 應用程式一樣,Truffle 幫助你構建智慧合約。使用 Truffle 並不是絕對必要的,但是這個框架將極大地幫助你,因為它抽象了一些開發複雜性。對於 VS Code 使用者,Truffle for VS Code 擴充套件會讓開發週期更加容易。

Truffle 專案地址:https://trufflesuite。com/docs/truffle/

Ganache 是用於本地開發和測試智慧合約的個人區塊鏈。開發人員只需要通過幾個簡單的命令,就可以建立以太坊區塊鏈的本地例項。Ganache 允許你在本地開發 Web 3 應用,就像在本地或測試環境而非生產環境中開發 Web 2 應用程式一樣。

Ganache 專案地址:https://trufflesuite。com/docs/ganache/

Web3。js 是一個用於與以太坊互動的 JavaScript 庫。你將在前端應用程式中使用 web3。js 來執行諸如連線到使用者的錢包、授予對智慧合約的訪問許可權以及呼叫智慧合約上的函式等操作。智慧合約可以透過命令列或 UI 訪問,因此 web3。js 可以幫助你從 UI 使用智慧合約。

Web3。js 專案地址:https://web3js。readthedocs。io/en/v1。8。0/

MetaMask 是一個 Web 3 錢包,你可以使用它的瀏覽器擴充套件程式或移動應用程式。我們之前提到過錢包,但還沒有真正描述過錢包是什麼。錢包為你的數字資產提供介面。你使用只有你自己知道的私鑰保護錢包裡的內容。MetaMask 為使用者提供了一種安全的方式,連線到基於區塊鏈的應用程式,並與它們的錢包互動。對於開發人員來說,需要錢包來部署智慧合約並與之互動。通常,私鑰必須寫在程式碼中才能互動,但 Truffle Dashboard 能夠將 MetaMask 錢包連線到專案而無需暴露金鑰。

MetaMask 專案地址:https://metamask。io/

Infura 是連線以太坊和其他區塊鏈以及去中心化儲存網路(如 IPFS)的基礎設施提供商。無需過多介紹,與區塊鏈的任何互動都需要透過 JSON-RPC 或 WebSockets 訪問節點。Infura 提供了基礎設施,因此你不必找機器來啟動自己的節點。如果你實在想執行自己的節點,Infura 也可以作為備用。Infura 還提供了一個開發套件和工具包,包括監控、指標、日誌記錄、事務管理和其他用於構建 dapp 的功能。這是對我們已談論過的其他一些技術的進一步抽象,可以使 Web3 開發更加容易。

Infura 專案地址:https://infura。io/zh

結論

Web 3 是支援下一代軟體的下一代網際網路。區塊鏈是更透明的技術,不但消費者在採用,主要機構也在採用,這讓區塊鏈成為了主流。

瞭解 Web 3 技術以及構建方法,將為你打入市場提供優勢。

對於已經擁有強大的 Web 2 基礎,又有志於 Web3 的開發人員,我希望現在你對自己充滿信心,因為你已掌握的知識就是良好的開端!花一些時間學學上面的技術,你可能會比你想象的更快做好準備,以迎接 Web3 的到來。

原文連結:

https://dzone。com/articles/the-essential-web3-tools-and-technologies-develope

炒股開戶享福利,入金抽188元紅包,100%中獎!

開啟App看更多精彩內容