layout: fr
title: SyntheticBird Cuprate Arti integration and development (2 months)
author: SyntheticBird
date: March 9, 2025
amount: 52.5
milestones:
- name: April
funds: 50% (26 XMR)
done:
status: unfinished
- name: May and completion of Arti integration
funds: 50% (26.5 XMR)
done:
status: unfinished
payouts:
- date:
amount:
- date:
amount:
Who
I am SyntheticBird, Cuprate contributor.
What
Cuprate is currently in alpha version and a lot of features are planned on the roadmap up to beta phase. One of the features present on this roadmap, and that was originally presented when announcing Cuprate, is native support for Tor network. This CCS proposal intend to fulfill this milestone.
I will work for an estimated 2 months, from April to end of May, on Cuprate with the goal of implementing native Tor support into cuprated
through the arti-client
crate and other miscellaneous improvements.
At the end of this CCS, testers will be able to:
- Bootstrap Tor network within Cuprate or use Tor system daemon.
- Use Tor for outbound clearnet connections.
- Natively connect to onion monero nodes.
- Generate an onion service for accepting inbound Tor connections.
Tasks
The planned set of tasks to complete can be found at this Github gist: https://gist.github.com/SyntheticBird45/4c554d3c1e7ae6f8d237d7dd49c2d2f0
It is subject to change but overall the required work can be separated into 3 categories:
1. Alternative network integration into P2P components.
Currently, Some P2P components have limited support for alternative network rules. This will require modifying AddressBook
, Connector
, HandshakeBuilder
, cuprate-dandelion
crate and cuprated
's dandelion implementation, and others to be anonymization-network-aware. After this work, we will define a new NetworkZone
called Tor
to connect to onion monero nodes.
2. Implementation of Arti and Tor Daemon support
Implementing arti-client
inside cuprated
and cuprate-p2p{-*}
. Configurations, initialization, bootstrapping and launching onion services if requested. System tor daemon will also be supported.
3. Documentation
Update Architectural book and User book
Additional work
In the event that all guaranteed items are completed before the 2 months, I will spend my remaining time assisting (Issues, PRs and Reviews) on whatever is agreed is highest priority, or working on the following items:
- Custom Allocator support (Performance improvements for Musl based linux distributions and potentially minor improvements on other OSs)
- SOCKS5 proxy support for p2p
- Fjall database integration
- Related documentation
Milestones
1. First month
26 XMR
2. Second Month and completion of main tasks
26.5 XMR
Licensing
All the works completed under this CCS will be delivered to the Cuprate/cuprate.git
github repository. This work will follow the current repository licensing:
- All work inside
/binaries
is licensed underAGPL-3.0-only
. - The rest of the root and crates are licensed under
MIT
.
For more information about the Cuprate github organization, please visit the organization page
Funding
I will be working 30 hours per week during 8 weeks at 45$/hr - 205$/XMR. 30×8=240 | 240×45=10800 | 10800÷205=52.5
Total: 52.5 XMR