All Projects → bitcoinj → Bitcoinj

bitcoinj / Bitcoinj

Licence: apache-2.0
A library for working with Bitcoin

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Bitcoinj

Bitcoin Wallet
Bitcoin Wallet app for your Android device. Standalone Bitcoin node, no centralized backend required.
Stars: ✭ 2,672 (-35.8%)
Mutual labels:  blockchain, bitcoin, bitcoinj, segwit, bech32
btclib
btclib: a python3 library for 'bitcoin cryptography'
Stars: ✭ 60 (-98.56%)
Mutual labels:  segwit, bip32, bech32, taproot
bitcoincashj
A library for working with Bitcoin Cash
Stars: ✭ 38 (-99.09%)
Mutual labels:  bitcoinj, bip32, bip70, bip37
btc-address-generator
Bitcoin address generator (bech32, segwit, paper wallets, BIP39 seed, etc.)
Stars: ✭ 80 (-98.08%)
Mutual labels:  segwit, bip32, bech32
Time Series Machine Learning
Machine learning models for time series analysis
Stars: ✭ 261 (-93.73%)
Mutual labels:  blockchain, bitcoin
bitcoinj
BitcoinJ: Samourai Wallet and Sentinel
Stars: ✭ 18 (-99.57%)
Mutual labels:  bitcoinj, segwit
Elixium core
A privacy-preserving decentralized application network
Stars: ✭ 274 (-93.42%)
Mutual labels:  blockchain, bitcoin
Xdag
XDAG (Dagger Coin) Official Main Repository. XDAG is a novel DAG based cryptocurrency.
Stars: ✭ 297 (-92.86%)
Mutual labels:  blockchain, bitcoin
bitcoin-address-validator
PHP package to validate legacy, segwit, native segwit (bech32) and taproot Bitcoin addresses
Stars: ✭ 30 (-99.28%)
Mutual labels:  segwit, taproot
Orbit
Blockchain Transactions Investigation Tool
Stars: ✭ 278 (-93.32%)
Mutual labels:  blockchain, bitcoin
Cryptolist
Curated collection of blockchain & cryptocurrency resources.
Stars: ✭ 3,501 (-15.88%)
Mutual labels:  blockchain, bitcoin
Ccxt
A JavaScript / Python / PHP cryptocurrency trading API with support for more than 100 bitcoin/altcoin exchanges
Stars: ✭ 22,501 (+440.63%)
Mutual labels:  bitcoin, library
Squeezer
Squeezer Framework - Build serverless dApps
Stars: ✭ 3,242 (-22.1%)
Mutual labels:  blockchain, bitcoin
Ethlist
The Comprehensive Ethereum Reading List
Stars: ✭ 3,576 (-14.08%)
Mutual labels:  blockchain, bitcoin
Blockchain go
A simplified blockchain implementation in Golang
Stars: ✭ 3,150 (-24.32%)
Mutual labels:  blockchain, bitcoin
Basic Blockchain Programming
Sample code from my blog series "Basic blockchain programming".
Stars: ✭ 282 (-93.22%)
Mutual labels:  blockchain, bitcoin
Unchained
My personal study of blockchain related technology.
Stars: ✭ 379 (-90.89%)
Mutual labels:  blockchain, bitcoin
Blockchain Python
A blockchain implementation in Python
Stars: ✭ 233 (-94.4%)
Mutual labels:  blockchain, bitcoin
Merkletreejs
🌱 Construct Merkle Trees and verify proofs in JavaScript.
Stars: ✭ 238 (-94.28%)
Mutual labels:  blockchain, bitcoin
Wallet
Bitpay Wallet (formerly Copay) is a secure Bitcoin and other crypto currencies wallet platform for both desktop and mobile devices.
Stars: ✭ 3,382 (-18.74%)
Mutual labels:  blockchain, bitcoin

Github Build Status GitLab Build Status Coverage Status

Visit our IRC channel

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 8+ (needs Java 8 API or Android 6.0 API, compiles to Java 8 bytecode) and Gradle 4.4+ for the core module
  • Java 8+ and Gradle 4.4+ for tools and examples
  • Java 11+ and Gradle 4.10+ for the JavaFX-based wallettemplate
  • Gradle - for building the project
  • Google Protocol Buffers - for use with serialization and hardware communications

Getting started

To get started, it is best to have the latest JDK and Gradle 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

Official builds are currently using with JDK 8, even though the core module is compatible with JDK 7 and later.

To perform a full build (including JavaDocs and unit/integration tests) use JDK 8+

gradle clean build

If you are running JDK 11 or later and Gradle 4.10 or later, the build will automatically include the JavaFX-based wallettemplate module. The outputs are under the build directory.

To perform a full build without unit/integration tests use:

gradle clean assemble

Building from an IDE

Alternatively, just import the project using your IDE. IntelliJ has Gradle integration built-in and has a free Community Edition. Simply use File | New | Project from Existing Sources and locate the build.gradle in the root of the cloned project source tree.

Building and Using the Wallet Tool

The bitcoinj tools subproject includes a command-line Wallet Tool (wallet-tool) that can be used to create and manage bitcoinj-based wallets (both the HD keychain and SPV blockchain state.) Using wallet-tool on Bitcoin's test net is a great way to learn about Bitcoin and bitcoinj.

To build an executable shell script that runs the command-line Wallet Tool, use:

gradle bitcoinj-tools:installDist

You can now run the wallet-tool without parameters to get help on its operation:

./tools/build/install/wallet-tool/bin/wallet-tool

To create a test net wallet file in ~/bitcoinj/bitcoinj-test.wallet, you would use:

mkdir ~/bitcoinj
./tools/build/install/wallet-tool/bin/wallet-tool --net=TEST --wallet=$HOME/bitcoinj/bitcoinj-test.wallet create

To sync the newly created wallet in ~/bitcoinj/bitcoinj-test.wallet with the test net, you would use:

./tools/build/install/wallet-tool/bin/wallet-tool --net=TEST --wallet=$HOME/bitcoinj/bitcoinj-test.wallet sync

To dump the state of the wallet in ~/bitcoinj/bitcoinj-test.wallet with the test net, you would use:

./tools/build/install/wallet-tool/bin/wallet-tool --net=TEST --wallet=$HOME/bitcoinj/bitcoinj-test.wallet dump

Note: These instructions are for macOS/Linux, for Windows use the tools/build/install/wallet-tool/bin/wallet-tool.bat batch file with the equivalent Windows command-line commands and options.

Example applications

These are found in the examples module.

Where next?

Now you are ready to follow the tutorial.

Testing a SNAPSHOT build

Building apps with official releases of bitcoinj is covered in the tutorial.

If you want to develop or test your app with a Jitpack-powered build of the latest master or release-0.15 branch of bitcoinj follow the dynamically-generated instructions for that branch by following the correct link.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].