通过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超时:connect
,read
,write
。
有效值是任何非负整数。
如果设置值为“0”表示no timeout
没有超时。
注意:与web3j进行交易不需要这样做。
更多的信息
有关web3j的更多信息,请参阅web3j主页中文版。
分享一些以太坊、EOS、比特币等区块链相关的交互式在线编程实战教程:
- java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
- java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
相关推荐
java 使用 Swagger 创建一个Spring Boot 的 Web 服务java 使用 Swagger 创建一个Spring Boot 的 Web 服务java 使用 Swagger 创建一个Spring Boot 的 Web 服务java 使用 Swagger 创建一个Spring Boot 的 Web 服务java...
spring-boot-web:web开发综合使用案例 spring-boot-mail:spring boot和邮件服务 spring-boot-mongodb:spring boot和mongodb的使用 spring-boot-multi-mongodb:spring boot和mongodb多数据源的使用 spring-boot-...
使用微服务进行Web服务开发并与Spring Boot应用程序集成 无缝添加持久性和数据层,使您的Spring Boot Web应用程序做得更多 使用Spring Boot集成企业服务以创建更复杂的Java应用程序 本书适用于经验丰富的Java和...
Eclipse Spring Boot maven web demo 项目简单实例。 做了Spring Boot maven web配置,可以拿来做初始项目。
java基于Spring Boot实现的微信支付Java后端(毕业设计).zipjava基于Spring Boot实现的微信支付Java后端(毕业设计).zip 可以用于毕业设计(项目源码+项目说明)目前在mac/window10/11测试环境一切正常,用于演示的...
《Vue Spring Boot前后端分离开发实战》源码 Vue+Spring Boot前后端分离开发实战教学课件(PPT)
简单的来说 Spring Boot 这个项目整合目前很多的流行的第三方框架,并且做了一系列的默认配置,我们无需在进行手动配置,直接拿过来直接使用! 接下来我们比较一下Spring mvc和 Spring Boot的开发过程 Spring mvc (1)...
java中用spring boot连接oracle数据库代码下载
web3j Spring Boot Starter 通过Spring的依赖注入将web3j集成到您的Spring Boot应用程序中。 入门 提供示例应用程序 要使用,请创建一个新的 ,并包括以下依赖项: Maven: < groupId>org.web3j < artifactId>...
JAVA EE开发的颠覆者 SPRING BOOT实战, 网盘分享,亲测可用。。。。。。
Spring boot 入门程序,访问html,dev tools 使用, 中文乱码处理
java程序设计——Java坦克大战游戏源码,基于Spring Boot,JDK8,Swing组件开发java程序设计——Java坦克大战游戏源码,基于Spring Boot,JDK8,Swing组件开发java程序设计——Java坦克大战游戏源码,基于Spring ...
卫通星GPS定位器GT06协议socket通讯JAVA Spring Boot对接
Spring Boot整合Web开发,适合java后台入门资料
第 2-1 课: Spring Boot 对基础 Web 开发支持/spring-boot-web 第 2-10 课: 使用 Spring Boot WebSocket 创建聊天室/spring-boot-websocket 第 2-2 课 Spring Boot 项目中使用 JSP/spring-boot-jsp 第 2-3 课 ...
spring-boot-web:web开发综合使用案例 spring-boot-mail:spring boot和邮件服务 spring-boot-mongodb:spring boot和mongodb的使用 spring-boot-multi-mongodb:spring boot和mongodb多数据源的使用 spring-...
介绍:基于前后端分离开发方式,使用Spring Boot、vue等技术开发社团管理系统。 介绍:基于前后端分离开发方式,使用Spring Boot、vue等技术开发社团管理系统。 介绍:基于前后端分离开发方式,使用Spring Boot、...
Learn Spring Boot and how to build Java-based enterprise, web, and microservice applications with it. In this book, you'll see how to work with relational and NoSQL databases, build your first ...
Spring Boot与Web开发,里面代码可以直接运行,包括一些配置什么的,下载即用,不需要重新创建项目
Pro Spring Boot 2: An Authoritative Guide to Building Microservices, Web and Enterprise Applications, and Best Practices Quickly and productively develop complex Spring applications and microservices...