A decentralized bitcoin exchange network
Go to file
Steven Barclay dbe4953f63
Add replacement bitcoind RPC client using jsonrpc4j
Create a new 'BitcoindClient' interface and a corresponding builder, to
replace the old 'com.neemre.btcdcli4j.core.client.BtcdClientImpl' class
from the btcdcli4j library. This is instantiated by jsonrpc4j using a
dynamic proxy. It provides only a cut down version of the bitcoind RPC
API, exposing the methods 'getblock', 'getblockcount' & 'getblockhash',
as they are the only ones currently being used by RpcService.

Add corresponding Jackson-annotated DTO classes to model the JSON
structures returned by bitcoind, very similar to the classes provided by
btcdcli4j. Note that we use Double instead of BigDecimal to represent
fractional fields (difficulties + coin amounts in BTC), as they have
more consistent Jackson (de)serialisation and appear to be able to
faithfully round-trip numeric fields produced by bitcoind. Also note
that doubles can faithfully represent any valid decimal BTC amount (that
is, with 8 d.p. of precision) up to 21 million.

For now, keep the old BtcdClientImpl instance used by RpcService in
place, as the btcdcli4j block notification daemon is dependent upon it
and would also need to be replaced.

Also add unit tests for BitcoindClient which test against sample regtest
responses, using a mock HttpURLConnection.
2021-01-21 10:08:22 +00:00
.github Protect priority issues from stale bot 2020-02-18 12:35:53 +01:00
.idea Rename :protodefintion subproject to :proto 2020-03-26 17:37:37 +01:00
apitest Add CoreHelpService gRPC stubs and test case 2021-01-14 10:22:14 -03:00
assets/src Make codacy happy 2020-09-21 12:40:53 -03:00
cli/src Fix default opt values 2021-01-14 19:05:27 -03:00
common/src Add program argument flag republishMailboxEntries 2021-01-12 12:42:50 -05:00
core Add replacement bitcoind RPC client using jsonrpc4j 2021-01-21 10:08:22 +00:00
daemon/src Add new CoreHelpService and method help docs 2021-01-14 10:19:39 -03:00
desktop Merge pull request #5072 from chimp1984/persist-and-republish-mailbox-messages 2021-01-16 20:24:13 +01:00
docs Update release process to match new trade statistics delivery 2020-11-13 12:29:29 +01:00
gradle Use bitcoinj 0.15.8.bisq.13 (commit dcf8af0) 2020-12-16 14:57:41 -03:00
inventory/src/main Add v2 nodes to monitor 2021-01-11 23:34:55 -05:00
monitor Add NetworkFilter, remove BanList 2021-01-01 16:51:05 -05:00
p2p/src Add replacement bitcoind RPC client using jsonrpc4j 2021-01-21 10:08:22 +00:00
pricenode Remove test cases for HitBTC pricenode data provider class 2020-11-09 09:31:07 +01:00
proto/src/main/proto Bring ScryptType enum up to date with latest bitcoind 2021-01-21 10:08:15 +00:00
relay Revert to SNAPSHOT version 2020-12-31 13:58:20 +01:00
scripts Update install_java.sh 2020-12-03 22:49:50 +00:00
seednode We set a flag to clear tor cache files at re-start. 2021-01-09 20:40:58 -05:00
statsnode/src/main Remove Storage and FileManager from logback 2020-10-03 12:48:15 -05:00
.editorconfig Do not strip trailing whitespace in Git diffs 2020-01-10 19:48:26 +01:00
.gitattributes Track p2p data store files using Git LFS 2020-04-29 12:10:11 +02:00
.gitignore Ignore Structure101 Workspace files 2020-01-10 19:48:26 +01:00
.travis.yml Remove Slack notification in travis build 2020-09-01 09:42:33 +02:00
build.gradle Add replacement bitcoind RPC client using jsonrpc4j 2021-01-21 10:08:22 +00:00
CODEOWNERS Remove @cbeams as build and pricenode code owner 2020-06-28 11:23:36 +02:00
CONTRIBUTING.md Link to project management process 2020-06-17 13:24:18 +02:00
gradle.properties Increase Gradle HTTP timeouts from 30 => 120 seconds 2018-03-22 10:39:52 +01:00
gradlew Bump gradle wrapper to version 5.6.4 (#3627) 2019-11-18 09:31:58 +01:00
gradlew.bat Bump gradle wrapper to version 5.6.4 (#3627) 2019-11-18 09:31:58 +01:00
LICENSE add basic wallet, update nav buttons, move unused img 2014-04-24 16:55:55 +02:00
Makefile Add 'make undeploy' target to kill all running nodes 2019-12-03 12:04:39 +01:00
pull_request_template.md Added a Pull Request template 2019-11-27 13:46:54 +01:00
README.md jdk10 is no longer needed to build and run the test suite 2019-08-14 18:11:57 +02:00
settings.gradle Add inventory module 2020-10-23 01:17:32 -05:00

Bisq

Build Status

What is Bisq?

Bisq is a safe, private and decentralized way to exchange bitcoin for national currencies and other digital assets. Bisq uses peer-to-peer networking and multi-signature escrow to facilitate trading without a third party. Bisq is non-custodial and incorporates a human arbitration system to resolve disputes.

To learn more, see the doc and video at https://bisq.network/intro.

Get started using Bisq

Follow the step-by-step instructions at https://bisq.network/get-started.

Contribute to Bisq

See CONTRIBUTING.md and the developer docs.