`
阅读更多

通过Spring的依赖注入将web3j集成到Spring Boot应用程序中。此处提供了示例应用程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package org.web3j.examples;

import java.io.IOException;

import org.apache.http.conn.HttpHostConnectException;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import static org.assertj.core.api.Assertions.assertThat;

@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringBootWeb3jSampleApplicationTest {

    @Autowired
    private Web3jSampleService web3jSampleService;

    // This test will only run if you provide a real Ethereum client for web3j to connect to
    @Test(expected = HttpHostConnectException.class)
    public void testGetClientVersion() throws IOException {
        assertThat(web3jSampleService.getClientVersion()).startsWith("Geth/");
    }
}

要使用这个github示例,请创建一个新的Spring Boot应用程序,并包含以下依赖项:

Maven:

1
2
3
4
5
<dependency>
    <groupId>org.web3j</groupId>
    <artifactId>web3j-spring-boot-starter</artifactId>
    <version>1.6.0</version>
</dependency>

Gradle:

1
compile ('org.web3j:web3j-spring-boot-starter:1.6.0')

现在,Spring可以为你提供web3j实例,如果你需要它们:

1
2
@Autowired
private Web3j web3j;

如果要通过HTTP连接到默认URLhttp://localhost:8545,则无需其他配置。

否则,只需在应用程序属性中添加端点的地址:

1
2
3
4
5
# An infura endpoint
web3j.client-address = https://rinkeby.infura.io/

# Or, an IPC endpoing
web3j.client-address = /path/to/file.ipc

管理客户端

如果你希望使用Parity和Geth共有的personal模块方法管理帐户,启用管理客户端:

1
web3j.admin-client = true

然后Spring可以注入管理客户端:

1
2
@Autowired
private Admin admin;

HTTP客户端配置

某些以太坊操作所需的时间超过了web3j使用的OkHttp3库设置的默认HTTP超时。要配置这些超时,请设置web3j httpTimeoutSeconds属性:

1
web3j.httpTimeoutSeconds = 600

这将设置所有三个OkHttp3超时:connectreadwrite

有效值是任何非负整数。

如果设置值为“0”表示no timeout没有超时。

注意:与web3j进行交易不需要这样做。

更多的信息

有关web3j的更多信息,请参阅web3j主页中文版

 

分享一些以太坊、EOS、比特币等区块链相关的交互式在线编程实战教程:

 

  • java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。

 

 

这里是原文如何在Spring Boot中开始web3j开发

1
0
分享到:
评论

相关推荐

    java 使用 Swagger 创建一个Spring Boot 的 Web 服务

    java 使用 Swagger 创建一个Spring Boot 的 Web 服务java 使用 Swagger 创建一个Spring Boot 的 Web 服务java 使用 Swagger 创建一个Spring Boot 的 Web 服务java 使用 Swagger 创建一个Spring Boot 的 Web 服务java...

    Spring boot web 访问

    Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化Spring应用的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如数据库、日志、安全等,极大地提高了开发效率。在"Spring Boot web 访问"这个主题中...

    Eclipse Spring Boot maven web demo 简单项目实例

    通过这个简单的实例,你可以建立起对Spring Boot、Maven和Eclipse集成应用的基础理解,为进一步的Java Web开发打下坚实的基础。同时,它也鼓励你探索更多Spring Boot的高级特性,以及如何与其他流行技术(如前端框架...

    spring-boot中文开发指南

    《Spring Boot中文开发指南》是一本专为中文开发者编写的实战型教程,旨在帮助读者深入理解和熟练运用Spring Boot这一强大的Java开发框架。Spring Boot简化了Spring应用的初始搭建以及开发过程,通过“约定优于配置...

    LEARNING SPRING BOOT 3.0 - THIRD EDITION

    《Learning Spring Boot 3.0 - 第三版》是一本专为Java和Spring开发者准备的指南,由Greg L. Turnquist撰写。这本书旨在简化生产级应用程序的开发过程,特别是利用Spring Boot 3.0框架。Spring Boot是Spring生态系统...

    《Vue Spring Boot前后端分离开发实战》源码Vue+Spring Boot前后端分离开发实战教学课件(PPT)

    在现代Web应用开发中,Vue.js和Spring Boot的结合已经成为了一种常见的前后端分离架构模式。这本《Vue Spring Boot前后端分离开发实战》的源码提供了深入学习和实践这一技术栈的机会。以下是对其中涉及知识点的详细...

    基于 Java 使用 Spring Boot 3 和 JDK 17.zip

    在现代的Web应用开发中,Java Spring Boot框架已经成为主流选择,尤其当与JDK的新版本结合使用时,如JDK 17,可以提供高效、便捷的开发体验。本项目"基于 Java 使用 Spring Boot 3 和 JDK 17.zip"正是这样的一个实例...

    Spring Boot 2 Recipes

    使用微服务进行Web服务开发并与Spring Boot应用程序集成 无缝添加持久性和数据层,使您的Spring Boot Web应用程序做得更多 使用Spring Boot集成企业服务以创建更复杂的Java应用程序 本书适用于经验丰富的Java和...

    Spring Boot 2.5.0简单学习pdf资料

    Spring Boot 2.5.0 简单学习pdf 资料 Spring Boot 是一个基于Java的开源框架,旨在简化Spring应用程序的搭建和...Spring Boot 2.5.0 提供了许多有用的特性和工具,能够帮助开发者快速搭建和开发 Java Web 应用程序。

    learning spring boot 2.0

    标签“spring boot”、“java”、“spring”指出了本书的三个关键词:Spring Boot本身,以及Spring Boot开发所依赖的Java语言和Spring框架。Java作为一门广泛使用的编程语言,是编写Spring Boot应用的主要语言。而...

    [课堂课件讲解]Java微服务实践-Spring Boot嵌入式Web容器.pptx

    Java微服务实践是指在微服务架构中使用Java语言开发微服务, Spring Boot则是基于Java语言的框架,提供了许多便捷的功能来快速开发微服务。在微服务架构中,Web容器是必不可少的组件,负责处理HTTP请求和响应。传统...

    Spring boot 示例 官方 Demo

    spring-boot-web:web开发综合使用案例 spring-boot-mail:spring boot和邮件服务 spring-boot-mongodb:spring boot和mongodb的使用 spring-boot-multi-mongodb:spring boot和mongodb多数据源的使用 spring-boot-...

    Spring Boot应用开发框架 v2.7.17.zip

    Spring Boot是Java领域的一款热门应用开发框架,它简化了基于Spring的应用程序的初始设置和配置。这个名为"Spring Boot应用开发框架 v2.7.17.zip"的压缩包包含了该版本的源码和相关文档,是学习和开发基于Spring ...

    java ee开发的颠覆者spring-boot源代码

    在《Java EE开发的颠覆者,Spring Boot实战》这本书中,作者深入探讨了Spring Boot的各个方面,包括其核心机制、自动配置、起步依赖、内嵌容器、数据访问、安全控制以及微服务构建等。源代码提供了实践操作的平台,...

    spring-boot实战PDF 完整版和随书源码.7z

    《Spring Boot实战》是一本深度剖析Spring Boot框架的实践指南,旨在帮助开发者快速掌握Spring Boot的核心概念和技术。这本书深入浅出地介绍了如何使用Spring Boot构建高效、简洁的Java应用程序。随书源码提供了丰富...

    java maven工程 spring boot 学习源码

    Spring Boot 是一个基于 Java 的框架,它简化了创建和配置微服务级的Spring应用程序的过程。Maven 是一个项目管理和综合工具,它帮助开发者管理Java项目的构建、依赖和生命周期。本学习资源包“java maven工程 ...

    (源码)基于Spring Boot和FISCO BCOS的智能合约交互系统.zip

    通过本项目,用户可以学习如何在Spring Boot应用中集成FISCO BCOS,并实现智能合约的部署、调用和查询。 ## 项目的主要特性和功能 1. Spring Boot集成利用Spring Boot框架快速搭建应用,简化配置和开发流程。 2. ...

    Spring Boot 教程、技术栈示例代码,快速简单上手教程。

    Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如 JDBC、MongoDB、RabbitMQ、Quartz 等,使得开发者可以“零配置”地启动项目,...

    spring-boot-web-restfulcrud代码示例

    在“spring-boot-web-restfulcrud”这个项目中,我们关注的是如何使用 Spring Boot 构建一个基于 Web 的 RESTful CRUD(创建、读取、更新和删除)应用。RESTful 风格是一种软件架构风格,用于设计网络应用程序,通过...

    JavaEE开发的颠覆者 Spring Boot实战 完整版.zip

    《Spring Boot实战》是针对JavaEE开发领域的一本权威指南,Spring Boot作为JavaEE开发的颠覆者,极大地简化了传统JavaEE应用的复杂性,提高了开发效率。这本书全面覆盖了Spring Boot的核心概念、配置以及实战应用,...

Global site tag (gtag.js) - Google Analytics