`
阅读更多

通过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应用的初始搭建以及开发过程,通过“约定优于配置...

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

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

    LEARNING SPRING BOOT 3.0 - THIRD EDITION

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

    Spring Boot 2 Recipes

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

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

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

    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-...

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

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

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

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

    JDK 8 + Spring Boot 2.7.18

    【标题】"JDK 8 + Spring Boot 2.7.18" 指的是一个基于Java 8和Spring Boot 2.7.18版本的开发环境或项目。这个组合是现代Java应用程序开发中的常见选择,因为它提供了高效能、易用性和强大的功能。 【JDK 8】是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资料以及项目

    Spring Boot是Java开发领域中的一款热门框架,它简化了基于Spring的应用程序的初始设置和配置。这个压缩包包含了丰富的Spring Boot学习资料以及实际项目案例,是深入理解和掌握Spring Boot技术的宝贵资源。 首先,...

    spring-boot-web-restfulcrud代码示例

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

Global site tag (gtag.js) - Google Analytics