Skip to content
Snippets Groups Projects
Commit 037f0c4e authored by SyntheticBird's avatar SyntheticBird Committed by luigi1111
Browse files

SyntheticBird Cuprate Arti integration and development (2 months)

parent 44ccc4db
No related branches found
No related tags found
1 merge request!564SyntheticBird Cuprate Arti integration and development (2 months)
---
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](https://github.com/SyntheticBird45), 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](https://github.com/Cuprate/cuprate/blob/fc9b077d946fe8b7746c45ae8b299a87b2014cbf/readme.md?plain=1#L57), 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](https://architecture.cuprate.org) and [User book](https://user.cuprate.org/)
# 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`](https://github.com/Cuprate/cuprate) github repository. This work will follow the current repository licensing:
- All work inside `/binaries` is licensed under `AGPL-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](https://github.com/Cuprate)
# 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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment