这是一篇关于加装Besu(用作以太坊的Java客户端)的文章的Windows版本:1. Linux2. Windows(#)对于Java开发人员来说,在工具带上中享有一些强劲的工具至关重要,而对于以太坊区块链开发人员来说,至关重要的工具之一就是网络客户端。这是一款与区块链展开数据通信的软件。除此之外,客户端:启动节点,当作对等找到代理来查阅还有谁参予网络,并检验和发送到事务。本指南可协助您加装和设置在Java上展开以太坊编程所需的核心部分。
尽管那里有一些有趣的网络客户端,但是Besu是唯一用Java撰写的客户端。Besu是用Java撰写的对外开放源代码,Apache 2.0许可的以太坊客户端。它与主网相容,具备模块化架构,并具备隐私和许可功能以及新的共识算法。
这是在Linux / macOS / Windows上加装和配备Besu客户端的一系列具体方法指南中的第一个。本指南重点讲解Windows操作系统。在Docker上尝试Besu在Windows上,这实质上很棘手。Docker无法在Windows上很好地发挥作用,因此,如果您想要尝试较慢的docker解决方案,则必需在macOS或Linux上展开。
但是您可以加装软件或用于前面的Binary文件。Windows入门有两种加装方法:加装二进制Linux对于二进制加装,请求遵循本节,然后跳过下一部分。
拒绝:对于这两种方法,Besu都必须在您的机器上加装Java JDK。当前版本的Besu必须加装Java JDK 11+。Binary加装如果运营专用网络,网卓新闻网,请求忘记最少有4GB的RAM,并查阅其他加装类型的更进一步拒绝。1、iTunesBesu Binary文件Windows上的所有终端命令都不应用于Git bash键入。
如果您用于常规的CMD或Powershell,则其中一些命令将不起作用。从https://bintray.com/hyperledger-org/besu-repo/download_file?file_path=besu-1.3.5-SNAPSHOT.tar.gziTunesBinary文件对于单个用户用于的机器上的本地用户Binary文件,建议用于$ HOME / bin /和$ HOME / .local / {bin,opt,usr}。其他选项能用,例如/ opt / local /或/ usr / local / bin /,明确各不相同您的本地设置和首选项。读者此Stack Exchange线程以提供更加多详细信息。
2、解压缩压缩文件:$ tar -xzf besu.tar.gz$ cd besu-version更换为您iTunes的任何版本。3、证实iTunes未损坏并检查版本。
输入不应回到Besu和JDK版本。$ bin/besu --versionbesu/v1.3.5-dev-bb0ba9b7/linux-x86_64/oracle_openjdk-java-11从源码中分解有两个选项:在本地或在VM上加装和运营。本指南重点讲解本地解决方案。
1、拷贝Besu代码库$ cd ~/bin/$ git clone --recursive https://github.com/hyperledger/besu2、建构Besu$ cd besu/$ ./gradlew build -x test3、自由选择发售版本并检查版本。$ cd build/distributions/$ tar -xzf besu-version.tar.gz$ cd besu-version/$ bin/besu --version$ bin/besu --help配上 改置Besu需要额外配备才可长时间运营。由--network命令行标志设置的每种有所不同的网络类型(还包括主网络)都会自动读取必要的配置文件配备。如果必须变更设置,可以在节点级别或网络级别配备这些选项。
网络级别的设置在创世纪文件中定义,并由相连到该特定网络的每个节点读取。而在节点配置文件中或通过命令行标志来改动节点级别的设置。启动Besu已完成以上步骤后,您可以之后用于此Linux和常规的启动Besu指南。为了较慢预览,这有可能是在用于docker运营的开发人员网络节点上的HTTP催促。
$ besu --network=dev --miner-enabled --miner-coinbase=0xfe3b557e8fb62b89f4916b721be55ceb828dbd73 --rpc-http-cors-origins="all" --host-whitelist="*" --rpc-ws-enabled --rpc-http-enabled--data-path=\tmp\tmpDatdir这是您建构调用eth_chainId方法的催促的方式。String payload='{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}';String requestUrl="http://localhost:8545";sendRequest(requestUrl, payload);以及方法的构建:public static String sendRequest(String requestUrl, String payload) {try {URL url = new URL(requestUrl);HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setDoInput(true);connection.setDoOutput(true);connection.setRequestMethod("GET");connection.setRequestProperty("Accept", "application/json");connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");OutputStreamWriter outputWriter = new OutputStreamWriter(connection.getOutputStream(), "UTF-8");outputWriter.write(payload);outputWriter.close();BufferedReader buffer = new BufferedReader(new InputStreamReader(connection.getInputStream()));StringBuffer jsonString = new StringBuffer();String line;while ((line = buffer.readLine()) != null) {jsonString.append(line);}buffer.close();connection.disconnect();return jsonString.toString();} catch (Exception e) {throw new RuntimeException(e.getMessage());}}该催促不应回到以下结果:{ "jsonrpc" : "2.。
本文来源:多彩网-www.mindprobelabs.com