知世金融网专注于股票行情,期货开户,外汇储备等最新相关资讯信息提供投资者参考学习!

当前位置:网站首页 > 区块链 > 正文

在Windows上使用Besu(Java以太坊客户端)

原创
文章作者
知世-金融领域资深作者
知名金融领域作者,从事金融超过十余年,在行业内有一定影响力。
金融风险管理师认证证书 常识职业资格认证 特许金融分析师 国际金融理财师认证证书
发布时间:2020-02-17 08:25:41 发布来源:区块链研究实验室 文章点击:107

这是一篇关于安装Besu(用于以太坊的Java客户端)的文章的Windows版本: 1. Linux 2. Windows(#) 对于Java开发人员来说,在工具带中拥有一些强大的工具至关重要,而对于以太坊区块链开发人员...

目录

    本文标题在Windows上使用Besu(Java以太坊客户端),作者:知世,本文有1400个文字,大小约为6KB,预计阅读时间4分钟,请您欣赏。知世金融网众多优秀文章,如果想要浏览更多相关文章,请使用网站导航的搜索进行搜索。本站虽然不乏优秀之作,但仅作为投资者学习参考。

    这是一篇关于安装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 11+。

    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 --version
    besu/v1.3.5-dev-bb0ba9b7/linux-x86_64/oracle_openjdk-java-11

    从源码中生成

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

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

    1、复制Besu代码库

    $ cd ~/bin/
    $ git clone --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 --version
    $ bin/besu --help

    配 置

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

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

    启动Besu

    完成以上步骤后,您可以继续使用此发行版和常规的启动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.0",
    "id" : 1,
    "result" : {
    "startingBlock" : "0x0",
    "currentBlock" : "0x2d0",
    "highestBlock" : "0x66c0"
    }
    }

    本文相关推荐: 以太网交换机、IndusCloud工业私有云方案和大网管软件等可用于透明工厂

    以上便是知世金融网给大家分享的关于在Windows上使用Besu(Java以太坊客户端)/qkl/29504.html的相关信息了,希望能帮助到大家,更多金融相关信息,敬请关注知世金融网!

    网站内容均来自互联网,如侵害您的利益联系客服进行删除!

    关键词:以太
    (0)
    (0)

    上一篇:罗素币(RC)基于X11算法的新型加密货币

    下一篇:公链矿工费设计

    本文标题:在Windows上使用Besu(Java以太坊客户端)

    本文地址:/index.php?s=article&c=search&keyword=%E4%BB%A5%E5%A4%AA

    金融知名领域

    南方财富网 | 金融界 | 金融界 |

    更多推荐

    • 茅台吃饱,经销商哭倒
      茅台吃饱,经销商哭倒
    • 汇金的五次增持从短期看具有一定的“稳定器“作用,但从市场表现看效果逐次递减
      汇金的五次增持从短期看具有一定的“稳定器“作用,但从市场表现看效果逐次递减
    • 158亿元!比亚迪收购!
      158亿元!比亚迪收购!
    • 9月价格回落近五成 “冷静期”酒店业备战“十一”市场
      9月价格回落近五成 “冷静期”酒店业备战“十一”市场
    • 2023哈马博览会哈尔滨银行展区精彩纷呈
      2023哈马博览会哈尔滨银行展区精彩纷呈
    • 大额解禁撂倒股价 医疗影像龙头跌出千亿俱乐部 葛兰二季度大幅减仓
      大额解禁撂倒股价 医疗影像龙头跌出千亿俱乐部 葛兰二季度大幅减仓
    • A股,又上了热搜!数字要素概念走高多股涨停,锂电池板块走低恩捷股份大举跌停
      A股,又上了热搜!数字要素概念走高多股涨停,锂电池板块走低恩捷股份大举跌停
    • 最新!巨头出手,加仓宁王51%
      最新!巨头出手,加仓宁王51%
    • 600亿巨头暴雷
      600亿巨头暴雷
    • 一天32家!科创板回购潮涌来
      一天32家!科创板回购潮涌来
    • 提振信心实招来了!30余家上市公司密集出手 最高要买10亿
      提振信心实招来了!30余家上市公司密集出手 最高要买10亿
    • 高盛再发50年后预测:2075年印度股市全球市值占比将升4倍 中国升3成
      高盛再发50年后预测:2075年印度股市全球市值占比将升4倍 中国升3成

    新闻资讯栏目

    站长QQ: 2397470084