Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Joinmarket emulator #5

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

DavidRajnoha
Copy link

Support for running Joinmarket emulation.

Manager

Extracted the simulation specific logic from manager.py into engine_base.py, which is common for all coinjoin protocols, with wasabi_engine.py and joinmarket_engine.py containing coinjoin specific logic.

manager.py is now responsible predominantly for the arguments parsing

joinmarket_client.py

RPC wrapper for the joinmarket

btc_node

Added the option to create new wallet (jm needs that) and therefore modified the mining script to use the bitcoin default wallet.

drivers

Added the joinmarket specific container names for deletion.

containers

Added the irc-server and joinmarket containers.

…mmunicates with the btc-node over the bitcoin RPC API.
Joinmarket starts as a docker container and connects to the btc regtes node. The commands to the JM container can be sent using the JM RPC server through the joinmarket_client.py wrapper
Implemented the prepare_invoices, pay_invoices, start_dsitributor and fund_distributor, that will transfer the mined bitcoins from the regtest node to the distributor jm wallet, which will then send them to started clients
Added IRC server and configured the JM containers to use this channel for the communication. The coinjoin is initiated, but yet not comming to a successful end.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants