我想在服务器上部署一个智能合约,并使用移动客户端与其交互。我不熟悉它是如何工作的,但经过一些研究,我发现了如下内容:

如果我们比较移动客户端中通过web服务进行的通信,那么除了Smart contract之外,几乎所有的东西都是一样的,由于系统的去中心化性质,没有数据库或部署服务。是那么回事吗?我们可以使用像web3这样的库将移动客户端连接到智能合约,这些库基本上可以与Json、RPC或websockets一起工作。
但是,如果我不想使用像web3这样的库将每个移动客户端连接到智能合约怎么办?相反,如果我想要一个HTTP服务器,然后它会像下面这样连接到智能合约,该怎么办?

这有可能吗?如果是,那我该怎么做呢?
我的第二个问题是关于部署。在集中式服务器场景中,我会将数据库部署在AWS等服务上。我可以估计部署成本。我了解到我们必须在以太主机上部署智能合约,这将花费一些x的以太。但后来我发现,我的用户将不得不为每次计算付费。如果我想承担所有的费用呢?我们如何估算这样的成本呢?
请在上面的questions.Thanks上指导我。
发布于 2019-01-07 21:34:42
如果我想要一个
服务器,然后它会像下面这样连接到智能合约,该怎么办?
你当然可以做到这一点,有些人可能会争辩说,通过在DApp和区块链之间放置web服务器来添加一层集中化,但我不同意。如果您想这样做,您的DApp只需在您的web服务器上调用REST API,该服务器将利用web3.js (node.js)、web3j (Java)、Nethereum (C#/.NET)或任何其他风格的Web3与区块链直接交互。
如果我想承担所有的费用怎么办?
您将只能承担部署智能合约的成本,智能合约是代表您部署的,而不是代表任何潜在最终用户部署的。
我们如何估算这样的成本?
您可以通过Web3的estimateGas方法估算合同部署或合同交互的天然气成本。要知道,这一成本在很大程度上取决于您的可靠智能合约代码的结构。注意,这当然也只是一个估计,因为用户总是可以花费更多的Ether来更快地确认他们的交易,或者智能合约中的数据状态可能会随着时间的推移而改变,需要更高的天然气成本(即迭代不断增长的数组)。有关Ethereum内的天然气成本的更多信息,您可以查看ETH Gas Station。
顺便说一句,由于我不知道您的区块链技术的特定用例,因此权衡一下利用以太主网或启动您自己的private Ethereum blockchain是否有意义可能会有所帮助。使用后者,您将完全避免花费任何以太网与区块链网络交互,但您可能会有额外的开销。
https://stackoverflow.com/questions/54072941
复制相似问题