# 區塊鏈 - 區塊鏈節點商 由於在開發使用智能合約時,後端程式會需要透過節點連結到智能合約作互動,所以我們會來介紹節點商跟比較,然後簡單介紹如何註冊申請API Key 來使用節點。 # 什麼是區塊鏈節點商 區塊鏈節點商(Blockchain Node Provider)是專門提供區塊鏈節點服務的公司或平台,使開發者和企業能夠輕鬆地連接和使用區塊鏈網絡,而無需自行運行和維護節點。這些節點商提供的服務包括節點托管、API訪問、數據查詢、交易發送和智能合約部署等。 ## 區塊鏈節點商的功能 1. **節點托管**: 節點商為客戶運行和管理區塊鏈節點,這樣開發者和企業無需自行處理節點的運行和維護,減少了技術負擔和成本。 2. **API 訪問**: 節點商提供簡單易用的API,使開發者能夠通過HTTP請求與區塊鏈網絡互動。這些API支持各種區塊鏈操作,如查詢賬戶餘額、發送交易、部署和調用智能合約等。 3. **高可用性**: 節點商通常會提供高可用性的服務,確保客戶的應用能夠穩定地連接到區塊鏈網絡。這些服務通常有全球分佈的伺服器和冗餘設計,以提高可靠性。 4. **安全性**: 節點商會實施多層次的安全措施來保護客戶的數據和API請求,包括加密通信、API密鑰管理和訪問控制等。 5. **實時數據和監控**: 許多節點商提供實時數據訪問和監控工具,使客戶能夠即時了解區塊鏈網絡的狀態和活動。 也就是不需要再自己架設節點,維護節點了。 ## 為什麼選擇區塊鏈節點商 1. **節省成本**: 自行運行和維護區塊鏈節點需要高昂的硬體成本和技術資源。使用節點商的服務,可以顯著降低這些成本。 2. **減少技術負擔**: 節點商處理節點的運行、維護和升級,讓開發者專注於應用的開發和創新。 3. **提高可靠性**: 節點商提供高可用性和冗餘設計,確保區塊鏈網絡連接的穩定性和可靠性。 4. **加快開發進程**: 節點商提供簡單易用的API和豐富的開發工具,使開發者能夠更快速地構建和部署區塊鏈應用。 ## 有哪幾種節點? 區塊鏈節點商(Blockchain Node Provider) 通常包含以下幾種節點: 1. **完整節點(Full Node)**:這些節點儲存區塊鏈的完整歷史紀錄,並參與區塊鏈網路的共識過程。完整節點可以驗證交易和區塊,確保區塊鏈的完整性和安全性。 2. **輕量節點(Light Node)**:這些節點只儲存區塊鏈的一部分數據,通常是最新的區塊和一些必要的數據,用來簡化運行和減少儲存需求。輕量節點不參與完整的共識過程,但可以快速同步和驗證交易。 3. **挖礦節點(Mining Node)**:這些節點專門用於進行挖礦活動,通過計算來驗證交易並創建新區塊。挖礦節點通常需要高效能的硬體設備和大量的電力資源。 4. **驗證節點(Validator Node)**:在某些共識機制(如權益證明(PoS))中,驗證節點負責檢查和驗證交易,並確保區塊的有效性。驗證節點通常需要持有一定數量的代幣以參與共識過程。 這些節點服務可以用來幫助開發者、企業和個人快速且可靠地接入區塊鏈網路,無需自己管理和維護節點,從而節省資源和精力。 ## 常見的區塊鏈節點商 1. **Infura**: 提供高可用性的API端點,支持以太坊、IPFS和多個測試網。Infura 的服務器分佈在全球,能夠處理大量的API請求,適合需要穩定連接的應用。 ![image](https://hackmd.io/_uploads/S1Gesq-EA.png) >https://www.infura.io/zh 2. **Alchemy**: Alchemy 提供優化的API性能和豐富的開發工具,支持以太坊、Polygon、Arbitrum等多個區塊鏈網絡。Alchemy 專注於高效和低延遲的服務,適合大型dApp和企業應用。 ![image](https://hackmd.io/_uploads/B1VVoqbER.png) >https://www.alchemy.com/ 3. **QuickNode**: QuickNode 提供高速且可擴展的API服務,支持以太坊、Polygon、Binance Smart Chain等多個區塊鏈網絡。QuickNode 的服務強調低延遲和高吞吐量。 ![image](https://hackmd.io/_uploads/Hk9-o9ZN0.png) >https://www.quicknode.com 4. **Chainstack**: Chainstack 提供企業級的區塊鏈基礎設施服務,支持以太坊、Polygon、BSC、Hyperledger Fabric等多個區塊鏈網絡。Chainstack 強調簡單的部署和管理工具,適合企業應用。 ![image](https://hackmd.io/_uploads/SyJ8jc-VA.png) >https://chainstack.com/ 以下是包含支援的節點類型的表格: | 特點 | **Infura** | **Alchemy** | **QuickNode** | **Chainstack** | |--------------------|----------------------------------------------------------|-----------------------------------------------------|------------------------------------------------------|-----------------------------------------------------| | **支持的網絡** | 以太坊、IPFS、多個測試網 | 以太坊、Polygon、Arbitrum、多個測試網 | 以太坊、Polygon、BSC、多個測試網 | 以太坊、Polygon、BSC、Hyperledger Fabric、多個測試網| | **API 性能** | 高可用性和可靠性 | 優化的API性能,高速和低延遲 | 高速API服務,低延遲 | 高效數據處理,企業級性能 | | **開發者工具** | 支持Web3.js、ethers.js、Python、PHP | 全面支持多種語言和框架,豐富的開發工具 | 支持多種語言和框架,實時數據和監控 | 簡單的部署和管理工具,支持多種協議 | | **安全性** | 多層次安全措施,API密鑰管理 | 高級安全功能和數據保護 | 高安全性,實時監控和告警 | 高安全性,企業級保護 | | **通知功能** | 即時交易和事件通知 | 即時交易和事件通知,高級分析工具 | 實時數據通知,API性能分析 | 實時通知和監控 | | **免費和付費方案** | 免費層級及多種付費方案 | 免費層級及多種付費方案 | 免費層級及多種付費方案 | 免費層級及多種付費方案 | | **支持企業級應用** | 是 | 是 | 是 | 是 | | **支援的節點類型** | 完整節點、輕量節點、驗證節點 | 完整節點、輕量節點、驗證節點、挖礦節點 | 完整節點、輕量節點、驗證節點、挖礦節點 | 完整節點、輕量節點、驗證節點、挖礦節點 | # 實際操作使用 ## 註冊 Alchemy 帳戶 ### 步驟一: 進入 Alchemy 官網,點選 Get your API key ![image](https://hackmd.io/_uploads/r1navs-ER.png) >https://www.alchemy.com/ ### 步驟二:填入名字、電子郵件、密碼(也可以選擇連結 Google 或是 SSO),後,按 Sign Up ![image](https://hackmd.io/_uploads/ByUGdjWEA.png) >https://auth.alchemy.com/signup 若是選擇 連結google帳號,會需要授權 ![image](https://hackmd.io/_uploads/B16nusWEA.png) ### 步驟三: 填寫相關表單 這邊可以選擇團隊或是個人 ![image](https://hackmd.io/_uploads/ByR9Fs-NR.png) ![image](https://hackmd.io/_uploads/H17LFsbVA.png) 這邊可以選擇要建立的產品方向 ![image](https://hackmd.io/_uploads/r1nRtsZNR.png) 在來是選擇網域,最多可以選擇4個 ![image](https://hackmd.io/_uploads/rJdXqoW4R.png) 再來是設定收費方案,這邊我選擇免費的方案 ![image](https://hackmd.io/_uploads/Skbqqj-V0.png) 這邊填入付費方式 ![image](https://hackmd.io/_uploads/H1ZejiWE0.png) 是如何知道Alchemy的? (選填) ![image](https://hackmd.io/_uploads/ByYY3iWEA.png) 看到這個畫面就代表完成註冊了 ![image](https://hackmd.io/_uploads/H1yTajZ4A.png) ### 建立 取得 API Key ### 步驟一: 點選後台的Apps畫面,按右上方的 +Create new app ![image](https://hackmd.io/_uploads/S1S50jZV0.png) ### 步驟二: 輸入名稱跟描述後按 Create app 開始建立 ![image](https://hackmd.io/_uploads/ryoCRsb40.png) ### 步驟三: 建立成功後點選右上方的 API Key ![image](https://hackmd.io/_uploads/rky4k2ZVC.png) 可以取得API Key、HTTPS連線網址、WebSocket連線網址跟程式範例 ![image](https://hackmd.io/_uploads/ByMGgnWV0.png) ## 註冊infura帳戶 ### 步驟1 :進入infura 官網,點選 Singn UP 進行註冊 ![image](https://hackmd.io/_uploads/r1zqGFbE0.png) >https://www.infura.io/zh ### 步驟二:填入名字、電子郵件、密碼後,按 CREATE A FREE ACCOUNT 按鈕。 ![image](https://hackmd.io/_uploads/HJDaGFZVA.png) >https://app.infura.io/register 這邊的密碼要包含大小寫跟特殊符號 ### 步驟三: 驗證Email,infura 會寄送一封驗證信到你的email ![image](https://hackmd.io/_uploads/SkvuQYbVR.png) 會收到像這樣一封信件 ![image](https://hackmd.io/_uploads/B1ZYue7E0.png) ### 步驟四: 完成驗證後填寫資料 填寫一些資料像是 角色是什麼、是個人還是團隊使用 ![image](https://hackmd.io/_uploads/rJfztl7NA.png) 再來是填寫創造什麼樣的產品 ![image](https://hackmd.io/_uploads/S1eIKlQ4R.png) 選擇網域 ![image](https://hackmd.io/_uploads/ryTdteX4R.png) 選擇收費方案,這邊選擇免費方案 ![image](https://hackmd.io/_uploads/HJ1otemEA.png) 都填寫完成後會進入後台畫面 ![image](https://hackmd.io/_uploads/rJk-cl7EA.png) ### 步驟五: 取得 API Key 這邊點擊 My First Key 就可以看到 API Key ![image](https://hackmd.io/_uploads/B1S4ngXE0.png) ## 註冊 QuickNode 帳戶 ### 步驟一: 進入 QuickNode 官網,點選 Get started ![image](https://hackmd.io/_uploads/B1hstQ7VC.png) >https://www.quicknode.com/ ### 步驟二: 填入姓名、email、密碼 或是選擇連結Google 帳號按Create a free account ![image](https://hackmd.io/_uploads/rys25XQNA.png) ![image](https://hackmd.io/_uploads/SkQ0qXmNR.png) ### 步驟三: 驗證Email 信箱 ![image](https://hackmd.io/_uploads/HJRwvz4NA.png) 會收到這樣一封驗證信件,點擊 Verify Your Account 進行驗證 ![image](https://hackmd.io/_uploads/B1mqPz4V0.png) ### 步驟四: 填寫相關資料 想要開發什麼樣的產品? ![image](https://hackmd.io/_uploads/rJmkuMEER.png) 填寫完成後就可以進入後團管理畫面 ![image](https://hackmd.io/_uploads/BJT-dGV4C.png) ### 步驟五: 取得 API KEY 點選 Get started ![image](https://hackmd.io/_uploads/SkV5KfV4R.png) 選擇要使用的網域後按 Continue ![image](https://hackmd.io/_uploads/rJBnKM4EA.png) 這邊可以選擇 Sepolia 測試鏈 ![image](https://hackmd.io/_uploads/BJ4gcG4EC.png) 選擇方案 ![image](https://hackmd.io/_uploads/rJerqzN4R.png) 這邊我選擇免費的方案 ![image](https://hackmd.io/_uploads/ryxQjfEVA.png) 選擇是個人使用還是商用 ![image](https://hackmd.io/_uploads/HJd4izNVC.png) 商用需要填入公司資訊 ![image](https://hackmd.io/_uploads/ByynozE4C.png) 個人使用需要填入個人姓名地址 ![image](https://hackmd.io/_uploads/H1p12GVER.png) 填入信用卡資料 ![image](https://hackmd.io/_uploads/H1l7pfEE0.png) 完成後按Create endpoint ![image](https://hackmd.io/_uploads/BkCO6fEVC.png) 完成後就能取得 Api Key ![image](https://hackmd.io/_uploads/BJbkAfEE0.png) ## 註冊 Chainstack 帳戶 ### 步驟一: 進入 Chainstack 官網,點選 Start now for free ![image](https://hackmd.io/_uploads/B1Qj1XVE0.png) >https://chainstack.com/ ### 步驟二:填入名字、電子郵件、密碼(也可以選擇連結 Google 或是 github 等等),後,按 Sign Up ![image](https://hackmd.io/_uploads/HJmzxQNNC.png) ### 步驟三: 填寫相關資料 填入開發的產品是什麼 ![image](https://hackmd.io/_uploads/SJ1IxXV4R.png) 填入團隊規模 ![image](https://hackmd.io/_uploads/By9Kx7EEA.png) 填入開發角色 ![image](https://hackmd.io/_uploads/SkWjg7V40.png) ### 步驟四: 取得API Key 點選專案 ![image](https://hackmd.io/_uploads/H1p1WQVEC.png) 點選 Explore all node options ![image](https://hackmd.io/_uploads/SkYLZXEEA.png) 選擇 Ethereum ![image](https://hackmd.io/_uploads/Skn9b7E4C.png) 再點選Ethereum Sepolia Testnet 後按Next 創建 ![image](https://hackmd.io/_uploads/BksaWQE4C.png) 可以填入節點名稱,這邊我先使用預設的名稱然後按Next ![image](https://hackmd.io/_uploads/S1--fQVEA.png) 再來確認後沒問題按 Join network ![image](https://hackmd.io/_uploads/SyvIfQNV0.png) 成功創建的節點 ![image](https://hackmd.io/_uploads/rJk9fXE40.png) 點選進去可以看到詳細資訊 ![image](https://hackmd.io/_uploads/Bkg2QXE4C.png) 往下滑到 Access and credentials 可以看到 API KEY ![image](https://hackmd.io/_uploads/Sk5yN7NVA.png) ### 步驟五: 連結到MetaMask小狐狸 點擊 Add to MetaMask 可以連結到小狐狸,小狐狸會挑出來 ![image](https://hackmd.io/_uploads/Sk5yN7NVA.png) 按下一頁 ![image](https://hackmd.io/_uploads/SyGzNXVE0.png) 點選連線 ![image](https://hackmd.io/_uploads/r1im4mEN0.png) 點選批准 ![image](https://hackmd.io/_uploads/B1MUVmNNC.png) 點選切換網路 ![image](https://hackmd.io/_uploads/rkNDNmEVC.png) # 結尾 以上就是目前較熱門區塊鏈結點商的介紹與比較還有完整的註冊與取得API Key 方式,目前看使用教學都是infura 比較多所以感覺Infura 是最熱門的,有興趣大家也可以自己嘗試註冊使用看看,開發區塊鏈應用時可以使用得到。 # 參考資料 - [Infura](https://infura.io/) - [Alchemy](https://www.alchemy.com/) - [QuickNode](https://www.quicknode.com/) - [Chainstack](https://chainstack.com/) ###### tags: `更新上部落格`