问卷调查系统工具软件推荐
区块链
在Windows上使用Besu(Java以太坊客户端)

这是一篇关于安装Besu(用于以太坊的Java客户端)的文章的Windows版本:

/1. Linux
2. 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入门

有两种安装方法:

安装二进制发行版对于二进制安装,请遵循本节,然后跳过下一部分。

要求:对于这两种方法,Besu都需要在您的机器上安装Java JDK。当前版本的Besu需要安装Java JDK /1/1+。

Binary安装

如果运行专用网络,请记住至少有4GB的RAM,并查看其他安装类型的进一步要求。

/1、下载Besu Binary文件

Windows上的所有终端命令都应使用Git bash键入。 如果您使用常规的CMD或Powershell,则其中一些命令将不起作用。

从https://bintray.com/hyperledger-org/besu-repo/download_file?file_path=besu-/1.3.5-SNAPSHOT.tar.gz下载Binary文件

对于单个用户使用的机器上的本地用户Binary文件,建议使用$ HOME / bin /和$ HOME / .local / {bin,opt,usr}。 其他选项可用,例如/ opt / local /或/ usr / local / bin /,具体取决于您的本地设置和首选项。 阅读此Stack Exchange线程以获取更多详细信息。

2、解压缩压缩文件:

$ tar -xzf besu.tar.gz
$ cd besu-<version>

替换为您下载的任何版本。

3、确认下载未损坏并检查版本。输出应返回Besu和JDK版本。

$ bin/besu R/1/1;version
besu/v/1.3.5-dev-bb0ba9b7/linux-x86_64/oracle_openjdk-java-/1/1

从源码中生成

有两个选项:在本地或在VM上安装和运行。

本指南重点介绍本地解决方案。

/1、复制Besu代码库

$ cd ~/bin/
$ git clone R/1/1;recursive https://github.com/hyperledger/besu

2、构建Besu

$ cd besu/
$ ./gradlew build -x test

3、选择发行版本并检查版本。

$ cd build/distributions/
$ tar -xzf besu-<version>.tar.gz
$ cd besu-<version>/
$ bin/besu R/1/1;version
$ bin/besu R/1/1;help

配      置

Besu无需额外配置即可正常运行。 由R/1/1;network命令行标志设置的每种不同的网络类型(包括主网络)都会自动加载适当的默认配置。

如果需要更改设置,可以在节点级别或网络级别配置这些选项。 网络级别的设置在创世文件中定义,并由连接到该特定网络的每个节点加载。 而在节点配置文件中或通过命令行标志来修改节点级别的设置。

启动Besu

完成以上步骤后,您可以继续使用此发行版和常规的启动Besu指南。

为了快速预览,这可能是在使用docker运行的开发人员网络节点上的HTTP请求。

$ besu R/1/1;network=dev R/1/1;miner-enabled R/1/1;miner-coinbase=
0xfe3b557e8fb62b89f49/16b72/1be55ceb828dbd73 R/1/1;rpc-http-cors-origins=
“all̶/1; R/1/1;host-whitelist=̶/1;*̶/1; R/1/1;rpc-ws-enabled R/1/1;rpc-http-enabled 
R/1/1;data-path=\tmp\tmpDatdir

这是您构建调用eth_chainId方法的请求的方式。

String payload='{“jsonrpc̶/1;:̶/1;2.0″,̶/1;method̶/1;:̶/1;eth_chainId̶/1;,̶/1;params̶/1;:[],̶/1;id̶/1;:/1}R/17;;
String requestUrl=̶/1;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̶/1;);
        connection.setRequestProperty(“Accept̶/1;, “application/json̶/1;);
        connection.setRequestProperty(“Content-Type̶/1;, “application/json; charset=UTF-8̶/1;);
        OutputStreamWriter outputWriter = new OutputStreamWriter(connection.getOutputStream(), “UTF-8̶/1;);

        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̶/1; : “2.0̶/1;,
  “id̶/1; : /1,
  “result̶/1; : {
    “startingBlock̶/1; : “0x0̶/1;,
    “currentBlock̶/1; : “0x2d0̶/1;,
    “highestBlock̶/1; : “0x66c0̶/1;
  }
}
关键词: Windows  以太坊客户端  

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

人已赞赏
区块链

柯平教你区块链分片(Blockchain Sharding)

20/19-/1/1-26 /18:/15:59

区块链

数字证券如何赋予小人物力量

20/19-/1/1-26 20:/1/1:2/1

问卷调查系统工具软件推荐
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索
XML 地图 | Sitemap 地图