Go-Ethereum
是否可以僅作為客戶端成為乙太坊網路的一部分,而不將整個區塊鏈儲存在您的應用程序中?
我想創建一個桌面應用程序,可以在乙太坊網路上發送/接收交易。但這只是該應用程序的一項功能。它將具有其他幾個功能。一個例子是 Brave 瀏覽器,它將使用 Ether 向內容提供商付款,但主要是桌面應用程序。
這可能嗎?如果是這樣,它是如何工作的?桌面應用程序可以通過 API 呼叫加入乙太坊,而無需維護區塊鏈的完整副本嗎?
我認為您最好的選擇是將Metamask與Electron一起使用。
Metamask 為您提供了在不執行完整節點的情況下連接到乙太坊網路的機會。你可以參考這裡,
不過,MetaMask 更進一步,因為該協議也消除了執行完整乙太坊節點的需要。為桌面帶來更多便利,再加上訪問 dApp 的技術要求更少,是整個乙太坊生態系統的重大突破。
要建構您的核心桌面應用程序,您可以使用 electron,它允許您使用 HTML、CSS、JavaScript 等在類似 Web 的環境中建構跨平台應用程序。您可以參考這裡。
將 Electron 視為台式機的 Cordova。它允許您使用 JavaScript、HTML 和 CSS 建構跨平台桌面應用程序。在需要利用本地設備功能(例如文件系統、藍牙或 USB)的地方,您可以使用節點包。您可能已經知道,節點包可以呼叫本機程式碼。這意味著基於電子的桌面應用程序可以做任何本地應用程序可以做的事情。
您所要做的就是將元掩模和電子的這些特性結合起來。我認為這篇博文可能對你有用。
如果您想成為乙太坊網路中的對等點,您可能正在尋找輕客戶端。嘗試奇偶校驗(PIP):
parity --light
geth --light
這只維護了塊頭的最小覆蓋(幾 MB 大小),並查詢網路中的其他節點以獲取未通過
pip
或本地儲存的所有內容les
。