All Projects β†’ twostack β†’ bitcoin4j

twostack / bitcoin4j

Licence: Apache-2.0 license
Bitcoin SV Library for Java

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to bitcoin4j

tokencore
The core components of the blockchain wallet backend, support a variety of blockchain address generation and offline signatures
Stars: ✭ 412 (+2323.53%)
Mutual labels:  bsv
paymail-inspector
πŸ’Έ CLI app for interacting with paymail service providers
Stars: ✭ 38 (+123.53%)
Mutual labels:  bsv
txbox
Elixir Bitcoin transaction storage schema, built on Ecto.
Stars: ✭ 14 (-17.65%)
Mutual labels:  bsv
hummingbird
A Real-time Bitcoin Application Framework
Stars: ✭ 32 (+88.24%)
Mutual labels:  bsv
vue-money-button
An unofficial Vue.js component for MoneyButton.
Stars: ✭ 22 (+29.41%)
Mutual labels:  bsv
evian
www.balletcrypto.org/
Stars: ✭ 21 (+23.53%)
Mutual labels:  bsv
tape-recorder
BSV Hackathon: Use Tape Recorder to record any computation onto Bitcoin Script using a Wang B machine written in Forth
Stars: ✭ 22 (+29.41%)
Mutual labels:  bsv
ts-bitcoin
TypeScript library for Bitcoin SV (BSV) πŸ’ΈπŸ”§
Stars: ✭ 21 (+23.53%)
Mutual labels:  bsv
planter
[DEPRECATED] Create Metanet Nodes on Bitcoin SV
Stars: ✭ 24 (+41.18%)
Mutual labels:  bsv
carrot-pool-stratum
Bitcoin Stratum Pool Plugin ⛏ πŸ“¦ πŸ”Œ
Stars: ✭ 22 (+29.41%)
Mutual labels:  bsv
shapeshifter.js
Shapeshifter.js is a JavaScript library for switching between Bitcoin transaction formats.
Stars: ✭ 17 (+0%)
Mutual labels:  bsv
carrot-pool
Mining Pools Made Easy. ⛏ πŸ“¦ πŸ†
Stars: ✭ 53 (+211.76%)
Mutual labels:  bsv

Introduction

Java CI

Overview

Bitcoin4J is a Bitcoin library for the Java Language licensed under the Apache License 2.0.

This library has been built in line with the ideals espoused by BitcoinSV, i.e. massive on-chain scaling, protocol stability and original-bitcoin-protocol implementation.

Learn More about BitcoinSV

You can learn more about BitcoinSV by visiting :

Installation

Binaries for the library are available on Maven Central.

Gradle Dependencies

implementation("org.twostack:bitcoin4j:1.6.3")

Maven Dependencies

<dependency>
  <groupId>org.twostack</groupId>
  <artifactId>bitcoin4j</artifactId>
  <version>1.5.0</version>
</dependency>

Clean Transaction Builder

Several helper classes and APIs exist to make constructing Transactions more intuitive.

See the full example source code

As a native Java implementation, the library integrates well with other JVM languages, e.g. Kotlin.

    val txBuilder: TransactionBuilder = TransactionBuilder()
    val spendingTx: Transaction = txBuilder.spendFromTransaction(aliceFundingTx, 1, Transaction.NLOCKTIME_MAX_VALUE, unlockBuilder)
        .spendTo(bobLockingBuilder, BigInteger.valueOf(10000))
        .sendChangeTo(aliceAddress, aliceLockingBuilder)
        .withFeePerKb(512)
        .build(true)

Features

  • Unbounded Transaction Types (creating non-standard transactions)
  • HD Key Derivation (BIP32)
  • Mnemonic Seed Support (BIP39)
  • Original Bitcoin Address format
  • A built-in Bitcoin Script Interpreter
  • Custom-Script Builder Interface to support novel locking/spending conditions within Script
    • P2PKH Transaction Builder - Pay to Pubkey Hash standard Transactions
    • P2MS Transaction Builder - Pay to Multisig. This is naked MultiSig (the proper way to do multisig).
    • P2PK Transaction Builder - Pay to Public Key standard Transactions
    • P2SH Transaction Builder - Pay to Script Hash. This should be considered deprecated. BitcoinSV Nodes support this for backwards compatibility only.
    • P2PKHDataLockBuilder - This is something new. Create a spendable data output. Spendable using P2PKH Transaction.
    • UnspendableDataLockBuilder - OP_RETURN-style Data builder. Prepends a Transaction Output Script with OP_FALSE OP_RETURN followed by a series of data pushes.

Deprecated Features

The following features represent forks away from the original Bitcoin Protocol.

This library lacks, and does not implement :

  • Segregated Witness (Segwit) Transaction support (Bitcoin Core - BTC)
  • Schnorr Transaction Signature support (Bitcoin Cash - BCH)
  • Check Datasig (OP_CHECKDATASIG) (Bitcoin Cash - BCH)
  • Taproot (Bitcoin Core - BTC)

Acknowledgement

This library is a fork of the BitcoinJ and BitcoinJ-Cash projects. Contributor acknowledgements have been preserved in the AUTHORS file.

Contact

You can reach the author at : [email protected]

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].