我熟悉使用Web3.js创建Dapps,即使在普通浏览器中(没有Mist),我也可以这样做。但不知道是否可以使用EthereumJ呢?
因此,请求不应该通过浏览器( web3.js)连接到网络并完成,而应该通过我们使用EhtereumJ提供数据服务的托管服务器?
我打算使用spring应用程序。
发布于 2016-05-24 08:37:44
你也许可以这样做,但这不太可能是最好的方法。
所有三个主要客户端都通过JSON公开一个一组API;这就是web3应用程序所称的。与其直接与客户端集成,不如运行一个股票节点,并从您的webapp调用这些API。
发布于 2016-09-06 02:52:36
我知道这有点晚了,但是自从我刚回到EthereumJ后,我的两分钱。只是给那些可能会发现这个的人一些想法..。
Java有一个内置的webview客户机,https://docs.oracle.com/javase/8/javafx/api/javafx/scene/web/WebView.html。
在实现json接口之前,我使用ethJ和webview进行了一个与您所要求的类似的项目。我将探索如何使用webview函数显示HTML接口,其中一些js通过RPC与核心交互。您可以将java类和方法公开给javascript,但我不知道这对您来说有多灵活或方便。
然后,您可以在每个客户端上运行ethereum节点,并在服务器上承载HTML。
这将是区块链的最佳使用。如果您想编辑核心,也可以告诉节点在服务器IP上查找块链数据,但是这样就失去了共识。
您可以在服务器上运行一个完整的节点,您的lite节点可以通过使用http的众多库中的一个进行交互。
这里有一个我发现使用webview浏览ethereumJ区块链https://github.com/Bitcoinzie/EthChainExplorer的项目,我怀疑它仍然有效,因为它是一个非常古老的回购,但它展示了如何完成您的要求。
发布于 2016-09-22 22:44:58
我创建了web3j来解决这个问题。它是一个轻量级的Java库,用于与Ethereum客户端(EthereumJ、Geth、奇偶校验、.)进行对话。通过JSON-RPC。
我的重点是保持它的轻量级(即保持绝对最小的依赖性),这样您就可以轻松地将它与项目中的Spring等框架集成起来。
它支持所有的核心JSON-RPC规范,提供同步和异步请求,并将所有请求/响应包装在适当的类型中,以利用的静态类型。
Web3j web3 = Web3j.build(new HttpService()); // defaults to http://localhost:8545/
Web3ClientVersion web3ClientVersion = web3.web3ClientVersion().sendAsync().get();
String clientVersion = web3ClientVersion.getWeb3ClientVersion();https://ethereum.stackexchange.com/questions/4248
复制相似问题