Samourai-Wallet/bitcoinj


BitcoinJ: Samourai Wallet and Sentinel

Download


Step 1. Add the JitPack repository to your build file

Add it in your root settings.gradle at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url 'https://jitpack.io' }
		}
	}

Add it in your settings.gradle.kts at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url = uri("https://jitpack.io") }
		}
	}

Add to pom.xml

	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

Add it in your build.sbt at the end of resolvers:

 
    resolvers += "jitpack" at "https://jitpack.io"
        
    

Add it in your project.clj at the end of repositories:

 
    :repositories [["jitpack" "https://jitpack.io"]]
        
    

Step 2. Add the dependency

	dependencies {
		implementation 'com.github.samourai-wallet:bitcoinj:001-whirlpool'
	}
	dependencies {
		implementation("com.github.samourai-wallet:bitcoinj:001-whirlpool")
	}
	<dependency>
	    <groupId>com.github.samourai-wallet</groupId>
	    <artifactId>bitcoinj</artifactId>
	    <version>001-whirlpool</version>
	</dependency>

                            
    libraryDependencies += "com.github.samourai-wallet" % "bitcoinj" % "001-whirlpool"
        
        

                            
    :dependencies [[com.github.samourai-wallet/bitcoinj "001-whirlpool"]]
        
        

Readme


Build Status

Welcome to bitcoinj

The bitcoinj library is a Java implementation of the Bitcoin protocol, which allows it to maintain a wallet and send/receive transactions without needing a local copy of Bitcoin Core. It comes with full documentation and some example apps showing how to use it.

Technologies

  • Java 6 for the core modules, Java 8 for everything else
  • Maven 3+ - for building the project
  • Orchid - for secure communications over TOR
  • Google Protocol Buffers - for use with serialization and hardware communications

Getting started

To get started, it is best to have the latest JDK and Maven installed. The HEAD of the master branch contains the latest development code and various production releases are provided on feature branches.

Building from the command line

To perform a full build use

mvn clean package

You can also run

mvn site:site

to generate a website with useful information like JavaDocs.

The outputs are under the target directory.

Building from an IDE

Alternatively, just import the project using your IDE. IntelliJ has Maven integration built-in and has a free Community Edition. Simply use File | Import Project and locate the pom.xml in the root of the cloned project source tree.

This version

This version of bitcoinj was put together for use in Samourai Wallet and Sentinel as it enables signing of mixed inputs (P2PKH and P2SH-P2WPKH). It includes code from the SegWit branch of bitcoinj and GreenBits version of same. It also includes changes to remove Segwit2X DNS seeds as well as all Spongy Castle dependancies (it is 100% Bouncy Castle).