A decentralized bitcoin exchange network
Go to file
Chris Beams fb856aea95
Favor public visibility for non-private members of package-private types
Public members of package-private classes are in effect still
package-private. Leaving the public modifier in place on these members
(as opposed to marking all members package-private) is beneficial for
two reasons:

 1. It leaves these members looking "normal" to the trained Java eye.
Readers are not left wondering why constructors and methods are
package-private. They can notice, if and when appropriate, that the
class itself is package-private, and can understand the transitive
visibility of each member on that basis.  Otherwise, the class is left
looking conventional, unsurprising, and therefore as easy as possible to
read and understand.

 2. It leaves the visibility of these members controlled by a single
modifier at the class level as opposed to N+1 modifiers (one for every
member + the class itself). Should the class in question for some reason
need to be promoted to public visibility, for example if it were to be
moved to a different package, its members would automatically inherit
the now-public visibility of the class, which is likely to be the
desired state, because if the class needs to be public, at least some of
its members will need to be public too. The maintainer making that
change can (and should) reduce the visibility of any members that should
remain package-private (e.g. those that exist only for for testing
purposes), but in doing so, they make an explicit and self-documenting
decision that will show up at the level of a Git diff.
2018-02-21 10:45:21 +01:00
common Fix sorting of altcoins 2018-02-13 20:37:26 -05:00
consensus v0.6.5 2018-01-31 13:04:24 -05:00
core Favor public visibility for non-private members of package-private types 2018-02-21 10:45:21 +01:00
doc Merge branch 'Development' into dao 2018-01-24 19:44:01 -05:00
gui Rename classes from Node* => SeedNode* as appropriate 2018-02-21 10:45:21 +01:00
monitor Rename classes from Node* => SeedNode* as appropriate 2018-02-21 10:45:21 +01:00
network Rename SeedNodesRepository => SeedNodeRepository 2018-02-21 10:33:20 +01:00
package Update build script 2018-01-31 22:18:43 -05:00
seednode Rename classes from Node* => SeedNode* as appropriate 2018-02-21 10:45:21 +01:00
statistics Rename classes from Node* => SeedNode* as appropriate 2018-02-21 10:45:21 +01:00
.editorconfig Reformat Java sources with Editorconfig settings 2017-11-04 20:11:30 +01:00
.gitignore Fix git ignore (bat was ignored!) 2017-06-28 00:54:58 +02:00
.travis.yml Enable running tests in Travis CI 2018-02-08 13:30:54 +01:00
CODEOWNERS Suggest @ripcurlx as reviewer on /gui/* PRs (#1317) 2018-02-02 10:01:32 +01:00
CONTRIBUTING.md Add CONTRIBUTING.md 2018-01-23 09:08:30 +01:00
LICENSE add basic wallet, update nav buttons, move unused img 2014-04-24 16:55:55 +02:00
pom.xml Merge branch 'feature/refactor-transaction-view' of https://github.com/tau3/exchange into tau3-feature/refactor-transaction-view 2018-02-01 13:38:29 -05:00
README.md Update forum, IRC, mailing list and newsletter links 2017-12-26 21:55:29 +01:00

What is Bisq?

Bisq is a cross-platform desktop application that allows users to trade national currency (dollars, euros, etc) for bitcoin without relying on centralized exchanges such as Coinbase, Bitstamp or (the former) Mt. Gox.

By running Bisq on their local machines, users form a peer-to-peer network. Offers to buy and sell bitcoin are broadcast to that network, and through the process of offering and accepting these trades via the Bisq UI, a market is established.

There are no central points of control or failure in the Bisq network. There are no trusted third parties. When two parties agree to trade national currency for bitcoin, the bitcoin to be bought or sold is held in escrow using multisignature transaction capabilities native to the bitcoin protocol.

Because the national currency portion of any trade must be transferred via traditional means such as a wire transfer, Bisq incorporates first-class support for human arbitration to resolve any errors or disputes.

You can read about all of this and more in the whitepaper and arbitration documents. Several videos are available as well.

Status

Bisq has released the beta version on the 27th of April 2016. It is operational since that time without any major incident. Please follow the current development state at our road map. For the latest version checkout our releases page at Github.

Building from source

See doc/build.md.

AUR for Arch Linux

Staying in Touch

Contact the team and keep up to date using any of the following:

License

Bisq is free software, licensed under version 3 of the GNU Affero General Public License.

In short, this means you are free to fork this repository and do anything with it that you please. However, if you distribute your changes, i.e. create your own build of the software and make it available for others to use, you must:

  1. Publish your changes under the same license, so as to ensure the software remains free.
  2. Use a name and logo substantially different than "Bisq" and the Bisq logo seen here. This allows for competition without confusion.

See LICENSE for complete details.