Understand and master the principles of privacy protection when using Bitcoin
What is Joinstr?
Main features
Available platforms
Bitcoin Core configuration
Network requirements
Locate your local IP address
ifconfig | grep "inet " | grep -v "127.0.0.1" | awk '{print $2}' | head -n 1
ipconfig getifaddr en0 # or for WiFi: ipconfig getifaddr en1
hostname -I | awk '{print $1}'
ipconfig
192.168.x.x or 10.0.x.x)RPC configuration
Edit bitcoin.conf
bitcoin.conf file:- Linux: ~/.bitcoin/bitcoin.conf
- macOS: ~/Library/Application Support/Bitcoin/bitcoin.conf
- Windows:
%APPDATA%\Bitcoin\bitcoin.conf
# Enable signet (test network) signet=1 prune=550 # Enable the RPC server server=1 rpcbind=0.0.0.0 # Allow connections from your local network # Adjust according to your network (192.168.x.0/24 or 10.0.x.0/24) rpcallowip=192.168.1.0/24 # RPC Credentials (CHANGE THESE VALUES!) rpcuser=your_username rpcpassword=your_strong_password # Specific signet configuration [signet] rpcport=38332
# RPC Server server=1 rpcbind=0.0.0.0 rpcallowip=192.168.1.0/24 # RPC Credentials rpcuser=your_username rpcpassword=your_strong_password # Mainnet Port rpcport=8332
- Signet is highly recommended for your first tests: the application is still in development (beta), and bugs may still exist. Signet lets you test free of charge, without risking real funds
- Replace
192.168.1.0/24with your network subnet (e.g. if your IP is192.168.68.57, use192.168.68.0/24)
openssl rand -base64 32
Initialization
Restart and check
-
Shut down Bitcoin Core completely
-
Restart it to apply the configuration
tuto_joinstr_signet.Get bookmarked bitcoins (test)
Android application
Installation
Application configuration
- Home: Home screen
- Pools: Creating and managing CoinJoin pools
- Settings: Application configuration
- Example:
wss://relay.damus.io - Other recommended relays:
wss://nos.lol,wss://relay.nostr.band,wss://nostr.fmt.wiz.biz - ⚠️ Important: All participants must use the same Nostr relay to see and join the same pools. If you use a different relay, you will not see pools created on other relays
- Format:
http://VOTRE_IP_LOCALE - Example:
http://192.168.68.57
rpcuser= on your bitcoin.conf- Example: satoshi
rpcpassword= on your bitcoin.conf- Mainnet :
8332 - Bookmark:
38332
- Example:
tuto_joinstr_signet
- Example:
(Paris) vpn07-par.riseup.net - Others available: Amsterdam, Seattle, etc.
- ⚠️ Important: All participants in the same pool must use the same VPN Gateway to participate in CoinJoin. During the mixing round, all participants must appear with the same exit IP address to prevent network analysis from correlating participants
- Make sure your phone and computer are on the same local WiFi network
- The VPN connection will be activated automatically when participating in a pool
- Click on "Save " once you have set all the parameters
Practical use
Create or join a pool
on-chain verification
- N entries: One per participant (in our example, 2 entries)
- N identical outputs: exact amount of the denomination (here, 2 outputs of 0.00199800 BTC each)
- Flow chart: mempool.space visually displays the mix of inputs and outputs
- Features : The transaction can be identified as SegWit, Taproot, RBF, etc.
CoinJoin quality and anonymity packages
Joinstr vs. other CoinJoins
| Aspect | Wasabi | Whirlpool/Ashigaru | JoinMarket | Joinstr |
| Participants per pool | 50-100 | 5-10 | Variable (P2P) | 2-5 |
| Coordinator | Centralized (closed 2024) | Centralized (active) | P2P maker/taker | None (Nostr) |
| Censorship resistance | Weak | Medium | Very high | Very high |
| Coordination fees | Percentage | Entry fee | Paid to makers | None |
| UTXO discrimination | Yes (blacklists) | No | No | No |
- Ashigaru: Open-source implementation of the Whirlpool protocol with centralized coordinator but deployable in a decentralized way. Continues to operate after the seizure of Samourai Wallet in 2024.
- JoinMarket: Decentralized P2P solution with no central coordinator, based on a maker/taker business model where "makers" provide liquidity and are remunerated by "takers".
Advantages and limitations
Highlights
Constraints to consider
- Variable liquidity: Smaller pools, can wait for participants to come together
- Project in progress: Application in beta, bugs possible. Test first with small amounts on bookmark
- Sybil attacks: Possibility of one opponent controlling several pool participants
Best practices
Conclusion
Resources
Official documentation
- Joinstr official website
- User documentation
- Technical documentation
- GitLab source code
- Android application
Tutorials
- Electrum plugin tutorial - Complete guide by Uncensored Tech
Community and support
- Telegram Joinstr Group - Community support and bookmark corners
- Technical discussion on DelvingBitcoin
Additional tools
- Bookmark Faucet - Free test Bitcoins
- Alt Signet Faucet - Faucet alternative
- Mempool.space - Block explorer with privacy analysis
Author
This tutorial has been written by Pierre
You can say thanks by tipping the professor.
Passionate about Bitcoin and convinced that education is the key, I wish to share with you the little knowledge I have and thus contribute to the adoption of Bitcoin. Otherwise, I'm a big fan of Pink Floyd, I'm learning to code, and I make memes. Looking forward to meeting you at the next meet-up! I am the creator of the training course BTC 205 - Non-KYC Purchase Solution.
Credits
This tutorial has not been proofread yet
The original content has been translated by AI, but human review is necessary to ensure its accuracy.
3 258 sats1 629 sats815 satsEvery content on the platform is the result of a collaborative effort: each lesson, translation, and revision is made possible by the work of contributors. For this reason, we are always looking for proofreaders who can review our content in many languages. If you want to participate in the proofreading process, please reach out in our Telegram group and read our tutorial. We remind you that this content is open-source - licensed under CC BY-SA - so it can be freely shared and used, as long as the original source is credited.




