Coder Social home page Coder Social logo

bitcoincashj's Introduction

Welcome to bitcoinj.cash

The bitcoinj.cash library is a Java implementation of the Bitcoin cash protocol. This library is a fork of Mike Hearn's original bitcoinj library aimed at supporting the Bitcoin cash eco-system.

It allows maintaining a wallet and sending/receiving transactions without needing a full blockchain node. It comes with full documentation and some example apps showing how to use it.

For support and discussion please join us on the mailing list.

Release notes are here.

Technologies

  • Java 7 for the core modules, Java 8 for everything else (also compiles and runs under JRE/JDK 11 or 12)
  • Maven 3+ - 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, JavaFX and Maven installed.

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 or omit JavaDocs completely via

 -Dmaven.javadoc.skip=true

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.

If using JDK 11 or above, the WalletTemplate demo you will JavaFX-SDK installed and referenced seperately. In IntelliJ, add javafx-lib path to File > Project Structure > Libraries. Under Run > Edit Configurations, add '--module-path "PATH_TO_FX" --add-modules=javafx.controls,javafx.fxml' to VM options. Replace PATH_TO_FX with javafx lib path, leaving the quotations.

Example applications

These are found in the examples module.

Forwarding service

This will download the block chain and eventually print a Bitcoin address that it has generated.

If you send coins to that address, it will forward them on to the address you specified.

  cd examples
  mvn exec:java -Dexec.mainClass=org.bitcoinj.examples.ForwardingService -Dexec.args="<insert a bitcoin address here>"

Note that this example app does not use checkpointing, so the initial chain sync will be pretty slow. You can make an app that starts up and does the initial sync much faster by including a checkpoints file; see the documentation for more info on this technique.

Contributing to Bitcoinj Cash

Contributions to Bitcoinj Cash are welcome and encouraged.

bitcoincashj's People

Contributors

mikehearn avatar schildbach avatar thebluematt avatar devrandom avatar devrandom1 avatar danconnolly avatar hashengineering avatar shadders avatar troggy avatar oscarguindzberg avatar amichair avatar c-otto avatar pokkst avatar w-shackleton avatar wlk avatar kparmar1 avatar kmels avatar cyberzac avatar erasmospunk avatar ksedgwic avatar peterdettman avatar haraldh avatar protocolcash avatar jarlfr avatar jim618 avatar kirill-vlasov avatar mjjbell avatar mruddy avatar ragmondo avatar eleetas avatar

Forkers

yosir

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.