Solidity
乙太坊智能合約如何在移動客戶端上工作
我想在伺服器上部署一個智能合約並使用移動客戶端與之互動。我不熟悉它是如何工作的,但經過一些研究,我發現如下:
如果我們比較移動客戶端中通過 Web 服務進行的通信,那麼在智能合約中幾乎所有的東西都是一樣的,因為系統的去中心化特性,沒有數據庫或部署服務。是對的嗎?我們可以使用 web3 之類的庫將移動客戶端連接到智能合約,這些庫基本上可以與 Json RPC 或 websockets 一起使用。
但是,如果我不想使用 web3 之類的庫將每個移動客戶端連接到智能合約怎麼辦?相反,如果我想要一個 HTTP 伺服器,然後它會像下面這樣連接到智能合約怎麼辦?
那可能嗎?如果是,那我該怎麼做?
我的第二個問題是關於部署的。在集中式伺服器場景中,我會將數據庫部署在 AWS 等服務上。我可以估算部署成本。我知道我們必須在乙太坊主網上部署智能合約,這將花費一些乙太幣。但後來我發現我的使用者必須為每次計算付費。如果我想承擔所有費用怎麼辦?我們如何估算這些成本?
請指導我解決上述問題。謝謝。
- 你為什麼不在你的伺服器上編寫 web3 程式碼,例如使用 web3js?你也需要在你的伺服器上執行一個乙太坊節點。這樣,您的 HTTP 伺服器充當所有客戶端的主網網關。或者你不想這樣做?
2) 您可以使用https://web3js.readthedocs.io/en/1.0/web3-eth-contract.html#contract-estimategas估算 web3js 中的交易成本。