A decentralized bitcoin exchange network
Go to file
Steven Barclay 91fa07343c
Add UserThreadMappedPersistableEnvelope for greater explicitness
Make the default toPersistableMessage() method of PersistableEnvelope
simply delegate to Proto.toProtoMessage for speed, so that stores can
explicitly implement (Threaded|UserThreadMapped)PersistableEnvelope if
they actually need concurrency control.

As part of this, make PeerList implement PersistableEnvelope directly
instead of extending PersistableList, as it is non-critical & cloned on
the user thread prior to storage anyway, so doesn't need be thread-safe.
In this way, only PaymentAccountList & small DAO-related stores extend
PersistableList, so they can all be made user-thread-mapped.

After this change, the only concrete store classes not implementing
(Threaded|UserThreadMapped)PersistableEnvelope are:

  AccountAgeWitness, BlindVotePayload, ProposalPayload, SignedWitness,
  TradeStatistics2, NavigationPath & PeerList

The first five appear to erroneously implement PersistableEnvelope and
can be cleaned up in a separate commit. The last two are non-critical.

(Make NavigationPath.path an immutable list, for slightly better thread
safety anyway - that way it will never be observed half-constructed.)
2020-03-10 12:05:33 +08:00
.github Protect priority issues from stale bot 2020-02-18 12:35:53 +01:00
.idea Introduce Config as replacement for BisqEnvironment 2020-01-20 16:37:54 +01:00
assets/src Add test for Liquid Bitcoin and improve error handling 2020-02-11 17:31:43 +01:00
cli/src/main/java/bisq/cli/app Reflect higher security deposit in placeOffer RPC comment 2020-01-20 12:58:13 +01:00
common/src Add UserThreadMappedPersistableEnvelope for greater explicitness 2020-03-10 12:05:33 +08:00
core Add UserThreadMappedPersistableEnvelope for greater explicitness 2020-03-10 12:05:33 +08:00
daemon/src/main/java Remove now unused BisqEnvironment class 2020-01-20 16:41:19 +01:00
desktop Add UserThreadMappedPersistableEnvelope for greater explicitness 2020-03-10 12:05:33 +08:00
docs Merge pull request #3713 from beingindot/beingindot-daosetup-change 2019-12-06 16:24:26 +01:00
gradle Eliminate dependency on Spring Framework 2020-01-20 16:46:56 +01:00
monitor Add pricenode one-command installer script, systemd service, README (#3997) 2020-02-26 12:16:26 +01:00
p2p/src Add UserThreadMappedPersistableEnvelope for greater explicitness 2020-03-10 12:05:33 +08:00
pricenode Add pricenode one-command installer script, systemd service, README (#3997) 2020-02-26 12:16:26 +01:00
relay Revert to SNAPSHOT version 2020-02-14 13:02:52 +01:00
scripts Add shell script for creating DAO genesis transaction 2019-06-24 13:15:37 -07:00
seednode Monitoring install scripts (#3985) 2020-02-20 16:48:56 +01:00
statsnode/src/main Remove now unused BisqExecutable option handling 2020-01-20 16:46:56 +01:00
.editorconfig Do not strip trailing whitespace in Git diffs 2020-01-10 19:48:26 +01:00
.gitattributes Add .gitattributes file 2018-11-15 22:34:05 -08:00
.gitignore Ignore Structure101 Workspace files 2020-01-10 19:48:26 +01:00
.travis.yml Reformat travis config 2019-08-27 10:44:14 +02:00
build.gradle Revert to SNAPSHOT version 2020-02-14 13:02:52 +01:00
CODEOWNERS Add wiz as codeowner for seednode configuration changes 2020-01-27 16:50:15 +01:00
CONTRIBUTING.md Reference critical bugs process 2020-02-21 12:17:09 +01: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 Rename submodule grpc => daemon 2020-01-20 12:13:30 +01: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.