Web3j: Web3 Java Ethereum Ðapp API

web3j-docs?label=docs

web3j.svg?branch=master

badge.svg

users?server=https%3A%2F%2Fcommunity.web3labs.com

Web3j is a lightweight, highly modular, reactive, type safe Java and

Android library for working with Smart Contracts and integrating with

clients (nodes) on the Ethereum network:

web3j_network.png

This allows you to work with the Ethereum

blockchain, without the additional overhead of having to write your own

integration code for the platform.

The Java and the Blockchain talk provides

an overview of blockchain, Ethereum and Web3j.

Features

Complete implementation of Ethereum's

JSON-RPC client

API over HTTP and IPC

Ethereum wallet support

Auto-generation of Java smart contract wrappers to create, deploy,

transact with and call smart contracts from native Java code

(Solidity

and

Truffle

definition formats supported)

Reactive-functional API for working with filters

Support for Parity's

Personal,

and Geth's

Personal

client APIs

Support for Alchemy and Infura, so you don't have to run

an Ethereum client yourself

Comprehensive integration tests demonstrating a number of the above

scenarios

Command line tools

Android compatible

Support for JP Morgan's Quorum via

web3j-quorum

It has five runtime dependencies:

RxJava for its

reactive-functional API

OKHttp

for HTTP connections

Jackson Core for fast

JSON serialisation/deserialization

Jnr-unixsocket for *nix

IPC (not available on Android)

It also uses JavaPoet for

generating smart contract wrappers.

QuickStart

The simplest way to start your journey with Web3j is to create a project.

We provide this functionality using the Web3j CLI. This latter can be installed as follows:

For Unix:

curl -L get.web3j.io | sh && source ~/.web3j/source.sh

For Windows, in Powershell:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/web3j/web3j-installer/master/installer.ps1'))

Create a new project by running:

$web3j new

Or use our Maven or Gradle plugins.

Please head to the Web3j Documentation for further instructions on using Web3j.

Maven

Java:

org.web3j

core

4.8.4

Android:

org.web3j

core

4.6.0-android

Gradle

Java:

compile ('org.web3j:core:4.8.4')

Android:

compile ('org.web3j:core:4.6.0-android')

Build instructions

Web3j includes integration tests for running against a live Ethereum

client. If you do not have a client running, you can exclude their

execution as per the below instructions.

To run a full build (excluding integration tests):

$ ./gradlew check

To run the integration tests, you will need to set up these variables in order to pull the Docker

images from the Docker Hub registry:

registry.username

registry.password

Then run the following command:

$ ./gradlew -Pintegration-tests=true :integration-tests:test

Check the Docker client API

for more information on configuration options.

Commercial support and training

Commercial support and training is available from

web3labs.com.

License

Apache 2.0

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐