web3j是一个高度模块化,响应式的,类型安全的Java和Android库,可以用于和以太坊网络上的节点以及智能合约进行交互。
Web3j使你与以太坊网络进行交互,不需要额外的去写与以太坊平台交互的代码开销。
- 完整地实现了Ethereum中HTTP和IPC上的JSON-RPC客户端API
- 支持ethereum钱包
- 可以自动生成封装好的Java类型的智能合约(支持Solidity和Truffle定义的格式),可以通过Java代码进行合约的创建,部署,以及调用。
- 可以添加过滤器的响应式函数API
- 支持Ethereum Name Service(ENS)
- 支持个人创建的Ethereum网络和个人的Geth客户端API
- 支持Alchemy和Infura,所以无需自己运行以太坊客户端
- 支持ERC20和ERC721 Token标准
- 包括上述许多场景的全面的集成测试
- 命令行工具
- 可适配Android
- 可以通过web3j-quorm支持JP Morgan的Quorum
Web3j具有五个运行时依赖
- 响应式函数依赖RxJava
- Http连接依赖OKHttp
- JSON序列化以及反序列号依赖Jackson Core
- 加密依赖Bouncy Castle
- *nix(不适用Android)依赖Jnr-unixsocket
通过Web3j与以太坊进行交互前提条件是需要有Ethereum环境,搭建Ethherum环境可以通过多种方式,本文仅列出常用的两个:
- Ganache
- Docker
首先在https://start.spring.io/ 上面初始化一个Springboot项目,导入Idea,或者直接在Idea上面创建。
打开pom.xml文件,添加以下依赖:
接下来打开application.properties文件,添加以下内容:
必要的配置已完成,接下来可以与Etherum交互了。这里列出常见的几个功能,文章最后给出完整的代码。
还可以通过私钥或者Key文件查询当前账户下的Ether余额。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/6989.html