Intended class and object structure and description - JoinMarket-Org/joinmarket GitHub Wiki
The names of classes may change, their intended use probably wont.
Note: there is considerable expansion on this in the docs repo. See the high level design document.
-
Wallet. Handles the internal HD wallet. Contains methods for generating new addresses and querying data from the blockchain.
-
BlockchainInterface. Abstract class for interacting with the blockchain.
- BitcoinCoreInterface. Interacts with the blockchain using the Bitcoin Core json-rpc interface.
- BlockrInterface. Interacts with the blockchain by querying the http://blockr.io/ web API.
- RegtestBitcoinCoreInterface. Interacts with Bitcoin Core running regtest mode.
-
MessagingChannel. Abstract class for communication between bots.
- IRCChannel. Implemented in IRC.
- P2PChannel. Implemented with a p2p network.
- BitmessageChannel. Implemented in Bitmessage.
-
CoinJoinerPeer. Abstract class for maker and taker
- OrderbookWatcher. Observes the orderbook and stores it in a database.
- Taker. Initiates coinjoin transactions by taking liquidity from the market.
- SendPayment
- Tumbler
- GUITaker
- Taker. Initiates coinjoin transactions by taking liquidity from the market.
- Maker. Waits for Taker to create coinjoin transactions. Announces orders. * YieldGenerator
- OrderbookWatcher. Observes the orderbook and stores it in a database.