{"id":19131200,"url":"https://github.com/trezor/coinjoin-backend","last_synced_at":"2025-05-06T16:19:57.388Z","repository":{"id":37821147,"uuid":"465796267","full_name":"trezor/coinjoin-backend","owner":"trezor","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-02T15:22:45.000Z","size":107600,"stargazers_count":9,"open_issues_count":1,"forks_count":8,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-19T12:44:27.629Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trezor.png","metadata":{"funding":{"custom":["https://shop.trezor.io/","https://trezor.io/beer/"]},"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-03-03T16:22:49.000Z","updated_at":"2025-01-17T14:21:22.000Z","dependencies_parsed_at":"2025-04-19T06:39:12.917Z","dependency_job_id":"42b194e5-c8b8-4cc8-a7b4-06401bc89746","html_url":"https://github.com/trezor/coinjoin-backend","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trezor%2Fcoinjoin-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trezor%2Fcoinjoin-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trezor%2Fcoinjoin-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trezor%2Fcoinjoin-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trezor","download_url":"https://codeload.github.com/trezor/coinjoin-backend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252721028,"owners_count":21793746,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T06:14:29.165Z","updated_at":"2025-05-06T16:19:57.335Z","avatar_url":"https://github.com/trezor.png","language":"Python","funding_links":["https://shop.trezor.io/","https://trezor.io/beer/"],"categories":[],"sub_categories":[],"readme":"# coinjoin-backend\nDocker image running multiple services: bitcoind, blockbook, wasabi-wallet and wasabi-backend\n\n## Building\nThe command `make`\n  * clones the WasabiWallet,\n  * builds a docker image called `coinjoin-backend-image`,\n  * creates a docker container called `coinjoin-backend-container`.\n\n## Running\nThe docker container is started with `make start` and stopped with `make stop`. The container doesn't discard its state when stopped.\n\nThe container runs a RegTest with the following services on the address 127.0.0.1:\n\n| Server                  | Protocol | Port  | User | Password |\n|-------------------------|----------|-------|------|----------|\n| Bitcoin knots           | P2P      | 18444 |      |          |\n| Bitcoin knots           | RPC      | 18443 | rpc  | rpc      |\n| Blockbook               | HTTP     | 19121 |      |          |\n| Blockbook               | Websocket| 19121 |      |          |\n| Faucet                  | HTTP     | 8080  |      |          |\n| Wabisabi proxy          | HTTP     | 8081  |      |          |\n| WalletWasabi backend    | REST API | 37127 |      |          |\n| WalletWasabi client     | REST API | 37128 |      |          |\n\nThe command `make create-container` rebuilds the container which resets the network.\n\n## Connecting to WasabiWallet GUI\n  * Run the WasabiWallet GUI.\n  * Go to settings of the GUI and\n    * turn off network encryption (TOR),\n    * set network to RegTest,\n    * set bitcoin P2P Endpoint to 127.0.0.1:18444.\n  * Restart the GUI.\n  * Open http://127.0.0.1:8080 in your browser.\n  * Send yourself money.\n\n## Running WasabiWallet GUI from docker\n\nUse command `make run-wallet` to start WasabiWallet GUI with already preloaded accounts (no password).\nFor convenience also `Trezor` accounts with `all all` seed (no passphrase) are preloaded.\n\n## Using custom WabiSabiClientLibrary (middleware)\n\nDownload artifacts from [github action](https://github.com/trezor/WalletWasabi/actions/workflows/build-WabiSabiClientLibrary-binary.yaml) unzip files and make them executable.\n\n```\nunzip ~/Downloads/WabiSabiClientLibrary-bin.zip -d ~/Downloads/WabiSabiClientLibrary\nchmod +x ~/Downloads/WabiSabiClientLibrary/*/publish/WalletWasabi.WabiSabiClientLibrary\n```\n\nStart `coinjoin-backend` image with mounted middleware:\n```\ndocker run -d --net host -v ~/Downloads/WabiSabiClientLibrary/linux-x64/publish:/mnt/middleware coinjoin-backend-image\n```\n\n## Proxy\n\nFor development in browser environment proxy accepts preflight `OPTIONS` requests and overrides `Access-Control-Allow-Origin` header\n\n### Proxy endpoints:\n- WabiSabi backend http://localhost:8081/backend\n- WabiSabi coordinator http://localhost:8081/backend/wabisabi\n- WabiSabi client http://localhost:8081/client\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrezor%2Fcoinjoin-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrezor%2Fcoinjoin-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrezor%2Fcoinjoin-backend/lists"}