Package org.bitcoinj.base

The base package provides foundational types for bitcoinj. These types must have minimal dependencies. The criteria for allowed dependencies for base types are:
  • No dependencies on other packages of bitcoinj
  • No API dependencies on external libraries other than the core JDK and slf4j-api

Temporary exception: In the 0.17 release, we are allowing some dependencies on other packages, e.g. to NetworkParameters or to Guava provided that those references are in deprecated methods. This smooths migration by allowing users to, for example, replace import org.bitcoinj.core.Address with import org.bitcoinj.base.Address as first step of conversion and then remove usages of the deprecated methods of Address in a second step.

The base package makes bitcoinj more modular as it breaks circular dependencies between existing packages and provides a "zero-dependency" foundation for the other packages. In a future release base will be split into a separate JAR/module (tentatively bitcoinj-base.)