如何在Spring Boot中开始web3j开发以太坊
通过Spring的依赖注入将web3j集成到Spring Boot应用程序中。此处提供了示例应用程序:
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:
<dependency> <groupId>org.web3j</groupId> <artifactId>web3j-spring-boot-starter</artifactId> <version>1.6.0</version> </dependency>
Gradle:
compile ('org.web3j:web3j-spring-boot-starter:1.6.0')
现在,Spring可以为你提供web3j实例,如果你需要它们:
@Autowired private Web3j web3j;
如果要通过HTTP连接到默认URLhttp://localhost:8545
,则无需其他配置。
否则,只需在应用程序属性中添加端点的地址:
# An infura endpoint web3j.client-address = https://rinkeby.infura.io/ # Or, an IPC endpoing web3j.client-address = /path/to/file.ipc
管理客户端
如果你希望使用Parity和Geth共有的personal模块方法管理帐户,启用管理客户端:
web3j.admin-client = true
然后Spring可以注入管理客户端:
@Autowired private Admin admin;
HTTP客户端配置
某些以太坊操作所需的时间超过了web3j使用的OkHttp3库设置的默认HTTP超时。要配置这些超时,请设置web3j httpTimeoutSeconds
属性:
web3j.httpTimeoutSeconds = 600
这将设置所有三个OkHttp3超时:connect
,read
,write
。
有效值是任何非负整数。
如果设置值为“0”表示no timeout
没有超时。
注意:与web3j进行交易不需要这样做。
更多的信息
有关web3j的更多信息,请参阅web3j主页中文版。
分享2个java以太坊、比特币相关的交互式在线编程实战教程:
- java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
- java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
汇智网原创翻译,转载请标明出处。这里是原文如何在Spring Boot中开始web3j开发
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
(译)React hooks:它不是一种魔法,只是一个数组——使用图表揭秘提案规则
原文地址:https://medium.com/@ryardley/react-hooks-not-magic-just-arrays-cd4f1857236e 译文:染陌 (Github) 译文地址:https://github.com/answershuto/Blog 转载请著名出处 我是一名hooks API的忠实粉丝,然而它对你的使用会有一些奇怪的约束,所以我在本文中使用一个模型来把原理展示给那些想去使用新的API却难以理解它的规则的人。 警告:Hooks 还处于实验阶段 本文提到的 Hooks API 还处于实验阶段,如果你需要的是稳定的 React API 文档,可以从这里找到。 解密 Hooks 的工作方式 我发现一些同学苦苦思索新的 Hooks API 中的“魔法”,所以我打算尝试着去解释一下,至少从表层出发,它是如何工作的。 Hooks 的规则 React 核心团队在Hooks的提案中提出了两个在你使用Hooks的过程中必须去遵守的主要规则。 请不要在循环、条件或者嵌套函数中调用 Hooks 都有在 React 函数中才去调用 Hooks 后者我觉得是显而易见的,你需...
- 下一篇
java类库web3j的Gradle插件
web3j Gradle插件是从Solidity智能合约生成web3j Java封装的构建工具。它通过添加可以独立运行的特定任务,顺利地与项目的构建生命周期集成。 插件配置 在开始之前,如果计算机中尚未安装Solidity编译器,则需要安装它。 使用buildscript约定 要使用旧的Gradle buildscript约定安装web3j插件,应该将以下内容添加到构建文件的第一行(目前只有Gradle支持发行版本,而不是SNAPSHOT): buildscript { repositories { mavenCentral() } dependencies { classpath 'org.web3j:web3j-gradle-plugin:0.1.6' } } apply plugin: 'web3j' 使用插件DSL 或者,如果你使用的是更现代的插件DSL,请将以下行添加到你的构建文件中: plugins { id 'org.web3j' version '0.1.6' } 然后运行包含Solidity智能合约的项目: ./gradlew build 应用插件后,生成代码的基本目...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2配置默认Tomcat设置,开启更多高级功能