bitcoinj.github.io - Working with bitcoinj









Search Preview

Working with bitcoinj

bitcoinj.github.io
Introduction Getting started Documentation Community Working with bitcoinj Introduction Futures Events
.io > bitcoinj.github.io

SEO audit: Content analysis

Language Error! No language localisation is found.
Title Working with bitcoinj
Text / HTML ratio 56 %
Frame Excellent! The website does not use iFrame solutions.
Flash Excellent! The website does not have any flash contents.
Keywords cloud thread bitcoinj GUI listeners format work class ListenableFuture Introduction library ThreadingUSER_THREAD event serialization invoked background callbacks code serializable user it’s
Keywords consistency
Keyword Content Title Description Headings
thread 9
bitcoinj 5
GUI 4
listeners 4
format 4
work 4
Headings
H1 H2 H3 H4 H5 H6
1 1 3 0 0 0
Images We found 1 images on this web page.

SEO Keywords (Single)

Keyword Occurrence Density
thread 9 0.45 %
bitcoinj 5 0.25 %
GUI 4 0.20 %
listeners 4 0.20 %
format 4 0.20 %
work 4 0.20 %
class 4 0.20 %
ListenableFuture 4 0.20 %
Introduction 3 0.15 %
library 3 0.15 %
ThreadingUSER_THREAD 3 0.15 %
event 3 0.15 %
serialization 3 0.15 %
invoked 3 0.15 %
background 3 0.15 %
callbacks 3 0.15 %
code 3 0.15 %
serializable 2 0.10 %
user 2 0.10 %
it’s 2 0.10 %

SEO Keywords (Two Word)

Keyword Occurrence Density
you can 6 0.30 %
is done 3 0.15 %
or you 3 0.15 %
of the 3 0.15 %
on a 3 0.15 %
that is 3 0.15 %
This is 3 0.15 %
a few 2 0.10 %
work is 2 0.10 %
the Google 2 0.10 %
change the 2 0.10 %
easy to 2 0.10 %
it means 2 0.10 %
format is 2 0.10 %
You can 2 0.10 %
be invoked 2 0.10 %
will be 2 0.10 %
at the 2 0.10 %
event listeners 2 0.10 %
background thread 2 0.10 %

SEO Keywords (Three Word)

Keyword Occurrence Density Possible Spam
or you can 3 0.15 % No
will be invoked 2 0.10 % No
Working with bitcoinj 2 0.10 % No
the user thread 2 0.10 % No
work is done 2 0.10 % No
Introduction Getting started 1 0.05 % No
instead of the 1 0.05 % No
onto a specific 1 0.05 % No
a specific thread 1 0.05 % No
specific thread instead 1 0.05 % No
thread instead of 1 0.05 % No
user thread like 1 0.05 % No
of the user 1 0.05 % No
relay them onto 1 0.05 % No
thread like in 1 0.05 % No
like in a 1 0.05 % No
in a GUI 1 0.05 % No
a GUI app 1 0.05 % No
GUI app For 1 0.05 % No
them onto a 1 0.05 % No

SEO Keywords (Four Word)

Keyword Occurrence Density Possible Spam
Introduction Getting started Documentation 1 0.05 % No
when you want to 1 0.05 % No
thread like in a 1 0.05 % No
user thread like in 1 0.05 % No
the user thread like 1 0.05 % No
of the user thread 1 0.05 % No
instead of the user 1 0.05 % No
thread instead of the 1 0.05 % No
specific thread instead of 1 0.05 % No
a specific thread instead 1 0.05 % No
onto a specific thread 1 0.05 % No
them onto a specific 1 0.05 % No
relay them onto a 1 0.05 % No
to relay them onto 1 0.05 % No
want to relay them 1 0.05 % No
you want to relay 1 0.05 % No
useful when you want 1 0.05 % No
in a GUI app 1 0.05 % No
control the execution of 1 0.05 % No
you like meaning you 1 0.05 % No

Internal links in - bitcoinj.github.io

Watch or read a tutorial
Building a simple GUI wallet tutorial
Bitcoin standards
Which BIPs are supported by bitcoinj
use Maven
How to depend on bitcoinj with Maven using projects
use Gradle
How to depend on bitcoinj with Gradle using projects
Getting started
An introduction to using the library
0.14.7 API documentation
bitcoinj 0.14.7 API
Limitations and missing features
Limitations and missing features.
Understanding the bitcoinj security model
Understanding the bitcoinj security model
Working with bitcoinj
Working with bitcoinj
How the different components of your app fit together
How the different components of your app fit together
How to test your software
How to test applications
Working with transactions
Working with transactions
Working with the wallet
Working with the wallet
Working with monetary amounts
Working with monetary amounts
How to use the network API and info about Tor support
How to handle networking/peer APIs
API contexts
API Contexts
How to use the experimental fully verifying mode
Using the experimental full verification mode
Working with contracts
Working with contracts
Working with the BIP70 payment protocol
Working with the BIP70 payment protocol API
Working with micropayment channels
Working with micropayment channels
Using bitcoinj from other languages like C++, JavaScript, Ruby, Python, etc
How to access bitcoinj from other languages
Coding conventions in the library itself
Coding conventions in bitcoinj
release notes
Release notes

Bitcoinj.github.io Spined HTML


Working with bitcoinj Introduction Getting started Documentation Community Working with bitcoinj Introduction Futures Events Serialization Working with bitcoinj Common patterns and things you should know. Introduction bitcoinj uses a few of the pursuit diamond patterns throughout the code. You can squint at the example lawmaking in org/bitcoinj/examples and tools to see how to use the library. Futures We use the Google Guava library and specifically, the ListenableFuture class. ListenableFuture is a subclass of the standard JDK Future matriculation and represents some work that is happening in the preliminaries which yields a result. When you find yourself with a ListenableFuture, you can stop and wait for it to complete, or you can trammels if it’s ready yet, or you can wait with a timeout, or you can register a callback that will be invoked (on some preliminaries thread) when the work is done. You may moreover see regular JDK futures in a few places, these will switch to stuff ListenableFutures over time. ListenableFutures have a number of benefits due to the wing of completion listeners, for instance it’s easy to do fan-in and fan-out waits, you can moreover uniting futures together so work is washed-up one without the other. See the Guava transmission for increasingly information. Events Event listeners are usually invoked asynchronously on a defended preliminaries thread created by the library, tabbed the user thread. This is washed-up for a couple of reasons, one is that it ways event listeners run with no locks held and thus there are no re-entrancy restrictions. Another reason is it ways you don’t have to write thread unscratched event handlers. You can however override this on a per-listener level, most methods have an addEventListener or addListener method that takes both a listener object and an Executor on which it will be invoked. If you’re working with frameworks that require thread affinity, for instance a GUI toolkit, then this allows you to automatically marshal callbacks into the correct UI thread. ListenableFuture callbacks can moreover have an executor specified. You should explicitly specify Threading.USER_THREAD if that’s what you want. Starting from 0.11, you can transpiration the Threading.USER_THREAD executor to be anything you like, meaning you get to tenancy the execution of event listeners. This is most useful when you want to relay them onto a specific thread instead of the user thread, like in a GUI app. For example: Threading.USER_THREAD = new Executor() { @Override public void execute(Runnable runnable) { SwingUtilities.invokeLater(runnable); } }; The whilom lawmaking snippet run at the start of your app will ensure that bitcoinj callbacks end up running on the GUI thread, meaning they can update widgets and transpiration the GUI in any way they like - simple! Serialization There are three variegated binary serialization formats used in bitcoinj. Some classes are serializable using Java serialization. However, as is typical for serializable objects in Java, there is no struggle to preserve long term data compatibility. Thus we don’t recommend you use this unless you’re shuttling data virtually temporarily, like on a network. The Wallet matriculation can be serialized to the Google protocol buffer format. This is an extensible, tagged binary format that is easy to work with from many languages. The format is described by a simple language that is compiled into classes for your preferred environment. Protocol buffers are moreover used for the micropayment protocol. Finally the proprietary Bitcoin serialization format is supported for anything that subclasses the Message class.