跳至內容
0%

什麼是 WalletConnect?

Alchemy team headshot

作者 Alchemy

發布於 2022年4月30日閱讀時間 2 分鐘

WalletConnect 是一個單一整合、開源的協定。開發者可以使用 WalletConnect,讓超過 300 種錢包的使用者登入他們建立的去中心化應用程式。這些應用程式託管在像 Ethereum 這樣的去中心化網路上。

本文將說明 WalletConnect 在生態系中扮演的重要角色、此協定的技術細節,以及如何使用這個應用程式。

為什麼要用 WalletConnect 連接你的錢包?

過去 Ethereum 開發者必須為每個 Web3 加密錢包個別建立整合,讓錢包使用者能登入他們的應用程式。然而,這使 Ethereum 生態系過度集中在 MetaMask 上,因為開發者不太可能為使用者基數較小的小眾錢包撰寫整合,這對新錢包的早期採用者造成了不利影響。

WalletConnect 改變了這個狀況,讓使用者只需一次整合的成本,就能使用超過 300 種不同的錢包。如今,超過 3000 個應用程式提供 WalletConnect 作為登入選項,包括生態系中一些最大型的應用程式,例如 UniswapOpenSeaRarible

WalletConnect 讓開發者能輕鬆地讓自己的應用程式對各種錢包的使用者開放,因而促成了錢包設計與功能上的大量創新。這個協定象徵著加密貨幣去中心化權力、開創新使用者體驗的精神。

WalletConnect 支援哪些鏈?

WalletConnect 支援多種鏈,包括但不限於 Ethereum、Cosmos、Polkadot、Near、Solana、Celo,以及 Binance Smart Chain。完整的相容區塊鏈清單,請參閱 WalletConnect 的文件。

哪些錢包與 WalletConnect 相容?

WalletConnect 與不同平台上超過 300 種錢包相容。以下是一些最常見的相容錢包:

  • Metamask
  • Rainbow
  • Crypto.com DeFi Wallet
  • Argent Wallet
  • Gnosis Safe MultiSig Wallet
  • Trust Wallet
  • Ledger
  • Coinbase Wallet

如何使用 WalletConnect?

本節提供完整的逐步指南,說明如何使用 WalletConnect 將你的錢包連接到去中心化應用程式(dApp)。按照這裡的說明操作,你可以輕鬆地在你的錢包和任何與 WalletConnect 相容的 dApp 之間建立連線,順利與該 dApp 互動。

1. 使用 WalletConnect 連接到 dapp

前往一個與 WalletConnect 相容的 dApp。本教學將分別以 Uniswap(一個去中心化金融應用程式)與 Rainbow 作為我們選用的 dApp 和錢包。不過,這些操作說明適用於任何與 WalletConnect 相容的 dApp 和錢包。首先,點擊「Connect Wallet」按鈕。

Uniswap 介面上的 Connect Wallet 按鈕

2. 選擇 WalletConnect

接著,從顯示的選項中選擇 WalletConnect。畫面上會出現一個 QR code。預設情況下,WalletConnect 假設使用者想用行動裝置錢包登入。不過,如果你使用的是桌面版錢包,請點擊「Desktop」標籤。

錢包選擇彈窗:選擇 WalletConnect 顯示 QR code

3. 用你的行動裝置錢包掃描 QR code

拿出你的手機,開啟你的行動裝置錢包應用程式。在大多數錢包中,你會找到一個看起來像空心方框的圖示,如下圖右側所示。點擊這個圖示後,相機會啟動以掃描 QR code。如果找不到這個圖示,請前往設定選單並尋找「Scan QR code」選項。

用來掃描 WalletConnect QR code 的行動錢包掃描圖示

4. 授予連接權限

掃描 QR code 後,dApp 會請求連接你錢包的權限。這是標準的安全措施,確保你能掌控你的錢包,且該 dApp 已獲得授權才能存取。你必須依照行動裝置錢包上的提示確認連線。連線建立後,你就能使用你的錢包與該 dApp 互動。

行動錢包要求授權連接 dApp 的提示

5. 成功登入 dapp

恭喜!你現在已成功透過你的錢包登入該 dApp。你現在可以使用你的錢包與該 dApp 互動,並執行交易、質押或轉帳等各種操作。使用錢包並與應用程式互動時,請務必遵循最佳安全實務,以確保資金安全。

WalletConnect 安全嗎?

WalletConnect 使用起來是安全的。應用程式與錢包之間傳送的資訊,是以只有這兩方才擁有的金鑰進行對稱加密。

金鑰是由 dApp 直接傳送給錢包。無論使用者是透過掃描 QR code,還是選擇桌面版錢包的深層連結(deep linking),過程中都沒有任何中介方。

雖然有一個公開的橋接伺服器負責處理雙方之間的資訊,但該伺服器並不會收到解密資訊所需的金鑰。此外,開發者也可以自行架設橋接伺服器以取得完整保護。

這個設計的巧妙之處在於,WalletConnect 登入 dApp 並不需要用到你的助記詞或復原字串。下圖顯示了 dApp 與錢包之間,透過橋接伺服器居中傳遞的資訊流程。

dApp 與錢包透過 WalletConnect bridge server 進行加密資訊交換的流程圖

QR code 裡包含 WalletConnect 的 URI scheme,如下所示,並附上一個表格說明各個變數所代表的意義。

WalletConnect 的 URI scheme
Required parts
Notes

wc:

Wallet Connect protocol defined in EIP-1328

topic

String

version

Number (eg. 1.9.0)

bridge

Bridge URI (URL Encoded)

key

Symmetric key hex string

WalletConnect 的程式碼庫

你可以在 WalletConnect Github 上找到 WalletConnect 的程式碼庫。

如何實作 WalletConnect

關於實作 WalletConnect 最新的操作說明,請參閱官方文件。

WalletConnect 的替代方案與競爭者

WalletConnect 並沒有直接的競爭者。將 WalletConnect 與 MetaMask 相比是一種錯誤的二分法,因為 MetaMask 本身在其行動裝置錢包上,就是以 WalletConnect 作為登入選項。

結語

如同 WalletConnect 一樣,我們 Alchemy 也透過我們的產品讓開發者的工作更輕鬆,藉此推動生態系向前發展。

當開發者不再自行架設節點,而改用 Alchemy Supernode 時,他們就能運用這套使用最廣泛的節點管理 API。Supernode 提供強大的分析與開發者工具套件,能加快除錯流程,並為重要的請求提供簡單的 API 呼叫方式。

歡迎前往 Alchemy.com,探索支援超過 1000 億美元交易量、並支撐 OpenSeaNBA Top Shot 等一些最熱門應用程式的產品套件。

想了解更多嗎?來看看 API3 如何在各種方面使用 Alchemy,其中包括為他們的 DAO 儀表板提供 WalletConnect 整合功能。

Background gradient

打造區塊鏈魔法

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