Web3js
web3.js 是乙太坊區塊鏈客戶端嗎?
原因是我想知道乙太坊區塊鏈客戶端 uPort 使用什麼,有人說它是
web3.js
.我還沒有充分理解這個概念,因為我期待像
eth
,geth
或pyethapp
。這可能是一個菜鳥問題,但我只是想澄清一些事情。
不,
web3.js
或者任何其他實現只是接受 JSON-RPC 呼叫的實際乙太坊客戶端的“門戶”。從本質上講,web3 社區沒有在 JavaScript 中進行自定義 HTTP 呼叫,而是開發了一個不錯的現成包供您立即安裝和使用。這意味著您應該執行自己的節點或連接到Infura 之類的服務。
Web3.js 是一個 JavaScript 框架,用於與同步到乙太坊區塊鏈的節點進行互動。
就像 jQuery 是一個無需編寫原始 JavaScript 即可實現更複雜需求的框架。
當向乙太坊節點(如Infura提供的那些)發出請求時,您必須以特定方式格式化您的請求 - JSON-RPC規範中概述並由Geth和Parity等乙太坊節點客戶端實現。
同樣,當返迴響應時,web3.js 會處理將響應轉換為人類可消費格式所涉及的大量繁瑣工作。
您可以直接與乙太坊節點互動,例如通過發出適當格式的 CURL 請求(如Parity 文件中概述的那些),但使用 web3.js 之類的庫可以避免重新發明輪子,這意味著開發人員可以專注於他們的核心產品。
還有其他庫做類似的事情。例如ethers.js。