mirror of
https://github.com/bisq-network/bisq.git
synced 2024-11-19 09:52:23 +01:00
A decentralized bitcoin exchange network
dbe4953f63
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. |
||
---|---|---|
.github | ||
.idea | ||
apitest | ||
assets/src | ||
cli/src | ||
common/src | ||
core | ||
daemon/src | ||
desktop | ||
docs | ||
gradle | ||
inventory/src/main | ||
monitor | ||
p2p/src | ||
pricenode | ||
proto/src/main/proto | ||
relay | ||
scripts | ||
seednode | ||
statsnode/src/main | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
build.gradle | ||
CODEOWNERS | ||
CONTRIBUTING.md | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
LICENSE | ||
Makefile | ||
pull_request_template.md | ||
README.md | ||
settings.gradle |
Bisq
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.