Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • monero-project/ccs-proposals
  • rehrar/ccs-proposals
  • DSal/ccs-proposals
  • el00ruobuob/ccs-proposals
  • TONGZHENGSHIJIE/ccs-proposals
  • SarangNoether/ccs-proposals
  • pwrcycle/ccs-proposals
  • onosendai/ccs-proposals
  • xeagu/ccs-proposals
  • b-g-goodell/ccs-proposals
  • xmrhaelan/ccs-proposals
  • moneromooo-monero/ccs-proposals
  • AcceptThisYouCensors/ccs-proposals
  • Needmoney90/ccs-proposals
  • erciccione/ccs-proposals
  • knueffelbund/ccs-proposals
  • xiphon/ccs-proposals
  • dsc/ccs-proposals
  • Codivorous/ccs-proposals
  • serhack/ccs-proposals
  • sgp/ccs-proposals
  • Kukks/ccs-proposals
  • gingeropolous/ccs-proposals
  • hyc/ccs-proposals
  • saumyabratadutt/ccs-proposals
  • kayront/ccs-proposals
  • rellis/ccs-proposals
  • Avantpay19/ccs-proposals
  • lazaridiscom/ccs-proposals
  • omani/ccs-proposals
  • JackBlack/ccs-proposals
  • Kyoto/ccs-proposals
  • Endogen/ccs-proposals
  • sri346/ccs-proposals
  • asymptotically/ccs-proposals
  • Avis/ccs-proposals
  • Monero/ccs-proposals
  • jtgrassie/ccs-proposals
  • Fudin/ccs-proposals
  • helloworld9998/ccs-proposals
  • lalanza808/ccs-proposals
  • TheCharlatan/ccs-proposals
  • atoc/ccs-proposals
  • randybrito/ccs-proposals
  • Ministo/ccs-proposals
  • objectorange/ccs-proposals
  • adrelanos/ccs-proposals
  • mj/ccs-proposals
  • MoneroAddict/ccs-proposals
  • h4sh3d/ccs-proposals
  • paulshapiro/ccs-proposals
  • pricode/ccs-proposals
  • naijaminer/ccs-proposals
  • niyiajayi/ccs-proposals
  • cryptosourov/ccs-proposals
  • Drowxes/ccs-proposals
  • Mon_icp/ccs-proposals
  • Madbu221b/ccs-proposals
  • suyash67/ccs-proposals
  • kdavid2008/ccs-proposals
  • xmrLovera/ccs-proposals
  • lh1008/ccs-proposals
  • jatinajwani/ccs-proposals
  • normoes/ccs-proposals
  • Wobole/ccs-proposals
  • lederstrumpf/ccs-proposals
  • AlexAnarcho/ccs-proposals
  • readifugly/ccs-proposals
  • binaryFate/ccs-proposals
  • oeAdgK01/ccs-proposals
  • nio21/ccs-proposals
  • michaelizer/ccs-proposals
  • janowitz/ccs-proposals
  • fleaw/ccs-proposals
  • gusan/ccs-proposals
  • Leo27/ccs-proposals
  • tobtoht/ccs-proposals
  • anon/ccs-proposals
  • panagot12/ccs-proposals
  • kysn/ccs-proposals
  • monerotesla/ccs-proposals
  • sahil07/ccs-proposals
  • xmronadaily/ccs-proposals
  • ClaytonBHooverIII/ccs-proposals
  • txstreet/ccs-proposals
  • Aron/ccs-proposals
  • jklein/ccs-proposals
  • wtii/ccs-proposals
  • alynoe/ccs-proposals
  • selsta/ccs-proposals
  • johnfoss67/ccs-proposals
  • benevanoff/ccs-proposals
  • op/ccs-proposals
  • cirocosta/ccs-proposals
  • ragazzo/ccs-proposals
  • 888/ccs-proposals
  • elibroftw/ccs-proposals
  • amr-monero/ccs-proposals
  • behash/ccs-proposals
  • AnonDev/ccs-proposals
  • Rucknium/ccs-proposals
  • rating89us/ccs-proposals
  • AdorableTanuki/ccs-proposals
  • neat/ccs-proposals
  • plowsoff/ccs-proposals
  • xmr_sale/ccs-proposals
  • escapethe3RA/ccs-proposals
  • DouglasTuman/ccs-proposals
  • Bl5ckj5ck/ccs-proposals
  • j-berman/ccs-proposals
  • CrypticEntertainments/ccs-proposals
  • Geroser/ccs-proposals
  • ava_haidang/ccs-proposals
  • pluja/ccs-proposals
  • msvblab/ccs-proposals
  • monerokage/ccs-proposals
  • noot/ccs-proposals
  • RogueMaven/ccs-proposals
  • xmrman/ccs-proposals
  • moneronews/ccs-proposals
  • spirobel/ccs-proposals
  • winstonsthiccbooty/ccs-proposals
  • help.ukraine/help-ukraine-to-use-monero
  • dangerousfreedom/ccs-proposals
  • moneroist/ccs-proposals
  • anon_/ccs-proposals
  • agustincruz/3-d-metal-printer-project
  • savandra/ccs-proposals
  • willk/ccs-proposals
  • max.zab/ccs-proposals
  • rimuru/ccs-proposals
  • CryptoMorpheus_/ccs-proposals
  • jeffro256_/ccs-proposals
  • m0n3r0d1c3/ccs-proposals
  • leonerone/ccs-proposals
  • marjorie69/ccs-proposals
  • monero_archive/monero-archive
  • forgotsudo/ccs-proposals
  • mikigrey321/ccs-proposals
  • anhdres/ccs-proposals
  • thelefterisjp/ccs-proposals
  • lescuer971/ccs-proposals
  • MoneroBro/ccs-proposals
  • rayatina/ccs-proposals
  • HoudiniSwap/ccs-proposals
  • nightwolf361/ccs-proposals
  • z00t/ccs-proposals
  • markofdistinction_/ccs-proposals
  • busyboredom/ccs-proposals
  • Mitchellpkt/ccs-proposals
  • Fierfek/p-2-p-publisher-monerotopia-mexico-city
  • BigmenPixel/ccs-proposals
  • cmiv/ccs-proposals
  • VOSTOEMISIO/ccs-proposals
  • valldrac/ccs-proposals
  • Titus/ccs-proposals
  • C0mradeBlin/ccs-proposals
  • kayabaNerve/ccs-proposals
  • Boog9001/ccs-proposals
  • 4rkal/ccs-proposals
  • binarybaron2/ccs-proposals-bb
  • ajs/ccs-proposals
  • sacatunquetun/ccs-proposals
  • vtnerd/ccs-proposals
  • 0xFFFC0000/ccs-proposals
  • Clodagh/ccs-proposals
  • mrcyjanek/ccs-proposals
  • detheforxmr/ccs-proposals
  • r4v3r23/ccs-proposals
  • janaka303/ccs-proposals
  • eyedeekay/ccs-proposals
  • Secrecy1337/ccs-proposals
  • rohanrhu/ccs-proposals
  • baldeagle/ccs-proposals
  • fengzie_mbz/mobazha-with-monero-in-privacy-ecommerce
  • freeross/ccs-proposals
  • DiosDelRayo/ccs-proposals
  • omnedeus/ccs-proposals
  • geonic/ccs-proposals
  • untraceable/ccs-proposals
  • ki9/ccs-proposals
  • monerobullgitlab/ccs-proposals
  • sybann/ccs-proposals-bb
  • hinto/ccs-proposals
  • HardenedSteel/ccs-proposals
  • Kewbit/ccs-proposals
  • plowsofff/ccs-proposals
  • mainnet-pat/ccs-proposals
  • SimplifiedPrivacy/ccs-proposal-carrot-animated-video
  • SimplifiedPrivacy/ccs-proposal-carrot-animated-video-b
  • SNeedlewoods/ccs-proposals
  • midipoet/ccs-proposals
  • soufiane/ccs-proposals
  • geonic1/ccs-proposals
  • v1docq47/ccs-proposals
  • fullmetalScience/ccs-proposals
  • FiatDemise/xmrchat
  • dadybayo/ccs-proposals
  • rottenwheel/ccs-proposals
  • napoly/ccs-proposals
  • techpopulus/marketplace-monero-techdaddi
  • hbs/ccs-proposals
  • acx/ccs-proposals
  • wallet-verse/ccs-proposals
  • N1co1asB1ancon1/monero-contract-system
  • SyntheticBird/ccs-proposals
206 results
Show changes
Showing
with 1435 additions and 56 deletions
---
layout: cp
title: "Gupax: GUI for P2Pool+XMRig"
author: hinto
date: 10 October 2022
amount: 100
milestones:
- name: Working GUI + Documentation
funds: 80% (80 XMR)
done: 20 December 2022
status: finished
- name: 1 year of maintenance
funds: 20% (20 XMR)
done: 28 December 2023
status: finished
payouts:
- date: 22 December 2022
amount: 80
- date: 9 January 2024
amount: 20
---
![banner.png](https://github.com/hinto-janaiyo/gupax/raw/main/images/png/banner.png)
## What
[Gupax](https://github.com/hinto-janaiyo/gupax) is a cross-platform GUI for [P2Pool](https://github.com/SChernykh/p2pool)+[XMRig](https://github.com/xmrig/xmrig). I was really happy when Monero GUI implemented P2Pool directly (many users seem to be using it) however, the embedded miner is slower than the dedicated XMRig miner. Unfortunately, integrating XMRig directly into Monero GUI is a no-go mainly due to [anti-virus issues.](https://github.com/monero-project/monero-gui/pull/3829#issuecomment-1018191461) Personally, I also think keeping Monero GUI's scope simple (monerod+wallet) is the way forward. Either that, or a properly implemented [plugin system.](https://github.com/monero-project/monero-gui/pull/3829#issuecomment-1018406709)
Gupax is a completely seperate GUI that can act as a companion alongside Monero GUI. One window with monerod+wallet, and another for P2Pool mining (with XMRig used for max hashrate!). It can act standalone as well, connecting to a remote node so no Monero node is needed.
## Why
There are a couple (abandoned) GUIs for XMRig, and 1 for P2Pool (Monero GUI). There are 0 for both combined. These two together are only accessible via the command line, which is not ideal. If you take a look at [/r/MoneroMining](https://www.reddit.com/r/MoneroMining) at any given moment, there will be threads where people are confused on how to set everything up. I'm 100% certain if there was a simple GUI solution people could point at ("just use Monero GUI + Gupax"), there would be many, many more miners on P2Pool. [On August 12th when MineXMR shutdown](https://www.reddit.com/r/Monero/comments/wb7a9s/minerxmr_is_shutting_down_august_12th_and), had a P2Pool+XMRig GUI existed, I'm certain it would have gained a much more significant chunk of the total hashrate. Instead, much of it went towards to the 2nd/3rd largest centralized pools.
I've been facinated with p2p mining even before SChernykh created Monero's P2Pool. Bitcoin's P2Pool was also seen in the same way as Monero's P2Pool is seen today, but the community neglected it, development stopped and it died off. The massive corporate ASIC farms popping up and making deals with centralized pools did not help either. [Here's an example thread from 2014](https://reddit.com/r/Bitcoin/comments/1uii40/p2pool_is_a_completely_decentralized_mining_pool). It is eerily similar to the Monero threads I read today.
I'd like P2Pool to live on and be accessible to as many people as possible. The current Monero GUI implementation is great, but I want everyone to have access to the ***full hashrate*** of what their machines are capable of.
## Implementation
- **OS:** Gupax will be tested for Windows, macOS, and Linux. Maybe the BSDs (see "Questions" below)
- **Docs:** All Gupax usage will have documentation on GitHub; General P2Pool/XMRig info will also be included
- **Packaging:** Gupax will be packaged in a bundled zip/tar that includes P2Pool/XMRig, and as a standalone binary that expects you to bring your own P2Pool/XMRig. Both will be the same binary, only difference being the first will include all necessary components. Maybe an installer as well (see "Questions" below)
- **Efficiency:** I don't normally care about resource usage too much because (although not ideal...) most computers can afford to run heavy programs. However, the context for Gupax is a ***mining*** machine, it would be too ironic if it impacted the hashrate performance, and so, Gupax uses the very lightweight [Rust egui library](https://github.com/emilk/egui). By default egui is an "immediate mode" GUI, meaning frames are rendered 60x/sec. This is turned off in Gupax so frames are only rendered upon user interaction. This allows for a fast and lightweight GUI. For context, it uses around 5x less CPU when switching around tabs compared to Monero GUI
## Planned
- **Community Node:** An option to use a trusted community Monero node instead of your own. At a small privacy cost, this allows users to immediately start mining on P2Pool without downloading the entire chain
- **Update:** Built-in update/upgrader for Gupax/P2Pool/XMRig and an (opt-in) auto-updater that runs at startup
- **Config:** All the basic configurations you would expect with P2Pool/XMRig (main, mini, peers, thread count, etc)
- **Status:** Status tab displaying mining statistics using P2Pool & XMRig's APIs
## Demo
Here's a demo of a working GUI prototype:
![](https://user-images.githubusercontent.com/101352116/194763334-d8e936c9-a71e-474e-ac65-3a339b96a9d2.mp4)
[More info and the source/binaries can be found here](https://github.com/hinto-janaiyo/gupax). Please give it a try and leave feedback.
## Who
I'm [hinto-janaiyo](https://github.com/hinto-janaiyo).
I created and maintain [monero-bash](https://github.com/hinto-janaiyo/monero-bash), which is also an effort to spread P2Pool usage. Frankly speaking, I think monero-bash is many more times more powerful than Gupax, more complex, more options, works better for me, etc. I use it daily, it's the sole way I interact with Monero/P2Pool/XMRig, but I realize it targets a niche group. Gupax is the GUI version with the goal that it's as accessible as possible, while still being powerful.
## Funding
**Timeframe:** 2 months (8 hours/day, 448 total hours)
**Total:** 100 XMR ($14700 USD @ 1XMR/$147)
**Rate:** $32.8/hour (14700 / 448)
The GUI is (mostly) already done, but it is still slightly buggy and fonts/sizing/style still need touchups. The internals will take the majority of the 2 months I think this will take to complete. There are two milestones for a total of 100XMR:
1. v1.0.0 release + All documentation (80XMR)
2. 1 year of maintenance (20XMR)
I'll likely be adding features on my own time afterwards as well (if they are useful to users). There will be documentation on everything, so even without my direct help, it will hopefully be easy for users to use and/or help each other out. I will most likely maintain this project for as long as I'm in this community and there are people using it.
## Questions
These are some design decisions that I think would be better decided as a community. If you have any opinions on the following, please leave feedback:
- **Q1. Auto-updater ON or OFF by default?**
- I think having up-to-date software is important but also, I do not like making connections unless users explicitly decide to
- **Q2. Which nodes should be included as "Trusted community nodes"?**
- This is the list of nodes users can select to avoid running their own Monero node. Requirements are: good uptime, trusted by the community, ZMQ enabled. Current list: rino@node.community.rino.io, sethforprivacy@node.sethforprivacy.com, and selsta@selsta1.featherwallet.net
- **Q3. Include an installer?**
- I'm not familiar with Windows/macOS installers, but if having one would increase adoption, getting some help would be nice
- **Q4. Support the BSDs?**
- I'm not familiar with the BSDs and testing releases on them will take away from development time
- **Q5. Which license?**
- Normally I would have licensed this under MIT however P2Pool and XMRig are under GPLv3. Although I'm not directly using their code, I am planning to include their binaries so I feel it's appropriate to also use GPLv3. I do not mind using GPLv3, but feedback is welcome
- **Q6. Name/design change?**
- Gupax is a stupid acronym for: GUI Uniting P2Pool And XMRig. The ugliness of both the name and logo have grown on me but I'm open to changes
---
layout: wip
layout: cp
title: Monero Atomic Swaps implementation funding
author: h4sh3d et al.
date: September, 2020
......@@ -27,81 +27,57 @@ milestones:
status: finished
- name: M2.A. Cryptographic libraries
funds: 3.375% (92.03625 XMR)
done:
status: unfinished
done: 15 December 2021
status: finished
- name: M2.B. swap-lib
funds: 11.25% (306.7875 XMR)
done:
status: unfinished
done: 15 December 2021
status: finished
- name: M2.C. swap-client
funds: 5.625% (153.39375 XMR)
done:
status: unfinished
done: 15 December 2021
status: finished
- name: M2.D. swap-daemon
funds: 13.5% (368.145 XMR)
done:
status: unfinished
done: 15 December 2021
status: finished
- name: M2.E. chain-syncers
funds: 11.25% (306.7875 XMR)
done:
status: unfinished
done: 15 December 2021
status: finished
- name: M3.A.1 xgroup-dleq-lib
funds: 8.75% (238.6125 XMR)
done:
status: unfinished
done: 16 January 2023
status: finished
- name: M3.A.2 ecdsa-adaptor-sig
funds: 8.75% (238.6125 XMR)
done:
status: unfinished
done: 16 January 2023
status: finished
- name: M3.B. chain-syncer
funds: 5.25% (143.1675 XMR)
done:
status: unfinished
done: 16 January 2023
status: finished
- name: M3.C.1 swap-cli
funds: 3.5% (95.445 XMR)
done:
status: unfinished
done: 16 January 2023
status: finished
- name: M3.C.2 swap-gui
funds: 5.25% (143.1675 XMR)
done:
status: unfinished
done: 16 January 2023
status: finished
- name: M3.D. swap-daemon
funds: 3.5% (95.445 XMR)
done:
status: unfinished
done: 16 January 2023
status: finished
payouts:
- date: 23 April 2021
amount: 190.89
- date: 25 April 2021
amount: 354.51
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
- date: 22 December 2021
amount: 1227.15
- date: 8 February 2023
amount: 954.45
---
:warning: *DIFFERENT CCS RULES ARE IN PLACE FOR THIS PROPOSAL! PLEASE READ THE FOLLOWING!* :warning:
......
---
layout: cp
title: Part-time + Flexible Work on getmonero.org (1 Month)
author: HardenedSteel
date: 31 July, 2024
amount: 5
milestones:
- name: Month 1
funds: 5 XMR
done: 15 September 2024
status: finished
payouts:
- date: 27 September 2024
amount: 5
---
# Who?
Hi everyone, I'm HardenedSteel. I've been in Monero ecosystem and contributor for a couple of years. My previous contributions in the Monero ecosystem are:
* Maintenance of getmonero.org[1](https://github.com/monero-project/monero-site/issues?q=involves%3Ahardenedsteel)
* featherwallet.org[2](https://github.com/feather-wallet/feather-site/issues?q=involves%3Ahardenedsteel)
* revuo-xmr.com[3](https://github.com/rottenwheel/revuo-weekly/issues?q=involves%3Ahardenedsteel)
* Helping to newcomers on Reddit[4](https://www.reddit.com/user/HardenedSteelX/), Monero StackExchange[5](https://monero.stackexchange.com/users/12826/hardenedsteel), Monero.Town[6](https://monero.town/u/HardenedSteel) and helping them to onboard Monero ecosystem[7](https://github.com/HardenedSteel/Help4XMR)
* Translation of Monero.com (and Cake) Wallet[8](https://github.com/cake-tech/cake_wallet/pull/724).
* and more...
# What?
I will continue maintaining getmonero.org but with greater level. This will entail reviewing pull requests, fixing issues, adding new content and following social media (such as Reddit and Monero.town) to identify new issues and feature requests for those who do not use GitHub etc.
Furthermore, I will (attempt to) continue contributing to other Monero ecosystems in my spare time.
# Why?
Many people in Monero community (such as both core and non-core devs and people on social media) complains the website isn't maintained well and there are only a few people working on the site.
# Milestones
This proposal is only one month since it's my first proposal and requesting 5 XMR for it. Depending on the feedback from the community I'm planning work more than month.
---
layout: cp
title: Part-time Work on getmonero.org (2 Month)
author: HardenedSteel
date: 14 September, 2024
amount: 10
milestones:
- name: Month 1
funds: 5 XMR
done: 3 December 2024
status: finished
- name: Month 2
funds: 5 XMR
done: 3 December 2024
status: finished
payouts:
- date: 13 December 2024
amount: 10
---
# Who?
Hi again, Its my second proposal I won't copy paste same content to here instead you can reach to my first proposal*.
*https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/481
# What?
I will continue to maintain getmonero.org and possibly to the docs site (such as migration if it happens) at same pace.
# Milestones
5 XMR / month. In total 2 months
---
Let me know your concerns or experiences with me or the previous CCS.
---
layout: cp
title: Haveno frontend development
author: Haveno
date: Mar 16, 2022
amount: 755 XMR
milestones:
- name: Month 0
funds: 151 XMR
done:
status: finished
- name: Month 1
funds: 151 XMR
done:
status: finished
- name: Month 2
funds: 151 XMR
done:
status: unfinished
- name: Month 3
funds: 151 XMR
done:
status: unfinished
- name: Month 4
funds: 151 XMR
done:
status: unfinished
payouts:
- date: 9 April 2022
amount: 151
- date: 20 May 2022
amount: 151
---
## Proposal closure / Repurposing of funds (3rd Sep, 2024)
- The proposed structure for Haveno is no longer feasible.
- No progress has been made in 2 years.
- A developer (kewbit) has stepped forward to work on the project.
- Due to these reasons, this proposal is deemed void and the remaining 453XMR will be repurposed.
215XMR will be used to fund a [Haveno Multi-Platform Native App For Every OS](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/489) that will meet all the [functional requirements](https://github.com/haveno-dex/haveno-design/blob/master/functional_requirements.md) of a Haveno UI.
The remaining funds will be used for further Haveno front end related work in keeping with the original goals of this proposal (at the communities discretion)
---
Hello again everyone. As promised, after improving Haveno's structure, we come back with a new (much cheaper) CCS proposal.
For a complete picture and all details, [see our initial proposal](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/284), which assumed the old structure with centralized operators.
This is the blog post announcing Haveno's improved structure: https://haveno.exchange/2022/02/02/haveno-structure.html.
## The new structure
For details about Haveno's structure, please read carefully the blog post linked above. For convenience, here is a short summary:
- No more third party entity that will run the exchange. Everything will be managed by non-legal entity for more robustness and decentralization
- All fees paid on Haveno will be sent to 'Engine', a CCS-like structure that will fund Haveno and Monero development. It will work similarly to the CCS managed by the Monero Core Team (MCT), but instead of generous donors, the funds will be provided by the fees sent to Engine by Haveno.
- The funds of Engine will be managed by an entity called 'Engine Council', formed by 5 trusted long term contributors of the dev community, including one member appointed by the Haveno Core Team (HCT) and one member of the MCT[1]. The remaining 3 members will be chosen from a pull of candidates by the Haveno and Monero communities.
- The HCT will request monthly 50% of the funds sent to Engine.
- To avoid liabilities and legal structures, the members of Council will vote anonymously [using ring signatures](https://github.com/monero-project/urs) to ensure plausible deniability.
- Arbitrators will be chosen using Engine and will not be picked by the HCT. This allows to open a market of arbitrators, where Monero and Haveno community members can propose themselves for the role. There will be security mechanisms in place to avoid arbitrators colluding with traders, but that's out of scope for this CCS.
[1] We already contacted the Monero Core Team about this structure and they say they are happy with Haveno's model and are willing to have one of their members join the Engine Council. They point out that this individual should not be interpreted as representing the views of the Core Team directly and if direct MCT input is required, they will discuss internally.
## How much and for what
We are asking for **154k USD in XMR**. The money will be used **entirely to pay for the frontend development of Haveno**. This is the estimated cost to complete the frontend. We are already in contact with a team of three devs, which will start working on Haveno as soon as this CCS is accepted.
The cost is lower than in the past proposal, because the team will develop only the frontend as requested, so extra work (in case of changed or additional requirements) is not included. The HCT will be deeply involved, trying to keep costs as low as possible, but the support of our dev community will be greatly appreciated.
## Milestones and terms
Payments to the frontend team will be every completed sprint. Every sprint will be a task that will take about 2 weeks to complete. For simplicity, we ask the funds to be sent to us every month for 4 months, with the first reward being sent as soon as our proposal is funded. The community will be able to follow the development in the public GitHub repository and on the community channels.
To recap:
- 1st payment: As soon as the proposal is moved to the "In progress" phase.
- 2nd payment: 1 month after the first payment
- 3rd payment: 1 month after the second payment
- 4th payment: 1 month after the third payment
- 5th payment: 1 month after the 4th payment. Last payment.
The community will be able to follow progresses on Github and on our matrix/irc chatrooms. We hope the development of the frontend will be finished within 4-6 months.
Haveno Core Team
[haveno.exchange](https://haveno.exchange)
---
layout: cp
title: Haveno Multi-Platform Native App for Android, iOS, Windows and Linux.
author: Kewbit
date: August 19, 2024
amount: 215
milestones:
- name: Create the User Interface
funds: 75
done:
status: unfinished
- name: Write the Protocol Interface
funds: 75
done: 13 October 2024
status: finished
- name: Create the Desktop Connector
funds: 15
done:
status: unfinished
- name: Create Multi-Platform Installers for Windows, Linux, Mac, Android and iOS.
funds: 50
done:
status: unfinished
payouts:
- date: 23 October 2024
amount: 75
- date:
amount: 75
- date:
amount: 15
- date:
amount: 50
---
### Haveno Multi-Platform Native App for Android, iOS, Windows, MacOS and Linux
**Author**: Kewbit
**Date**: 19/08/2024
# Proposal termination December 31st, 2024
A contractor presented themselves to the CCS for the sole purpose of creating a Multi-OS Haveno App using a portion of funds from the abandoned Haveno frontend proposal. [1] (of which 378XMR remain)
There has since been a public controversy surrounding this proposal/contractor. [2] [3]
The CCS itself is devoid of opinion/emotion regarding 'extra curricular' activities. [4]
As per the Community meeting on December 7th [5], the partial payout request was unanimously denied.
During this meeting, Woodser, the lead developer of Haveno suggested [6]:
> [a] deadline to release the code, in hopes of getting the code for the greater benefit of the project
Whilst the majority voted to close the proposal with immediate effect.
Community trust and sentiment plays a significant role in our Crowdfunding System. For this contractor, it has been **irrevocably and permanently lost**.
On December 10th the contractor was *explicitly informed* [7] to not expect payment outside of milestones 2.
_"Work done as per your proposal is work paid"_:
* As per the contractors own admission[8] on December 21st via another partial payout request, the work is not done.
The decision is simple and the contractor is to blame. They:
* Will not continue working on the proposal until a partial payout is made. (This will not happen again)
* Demand a decision as soon as possible.
All deadlines have passed:
* The latest, mentioned by the contractor in their own proposal (*31st December*)
* The community calling for immediate closure (*December 7th*)
* One mention of allowing an extra week to complete[9] (*December 14th*).
* Given this, the expert witness review will now focus solely on:
1. Validating the legitimacy of the previous Milestone 2 payout (75 XMR)[10].
2. Assessing the utility of the existing open source code for future development.
If Milestone 2's work meets the proposal requirements and the existing source code is of high quality, despite being incomplete, a new team or contractor can continue the development after a more stringent vetting process if the community wishes to continue this venture.
Should the review expose any shortcomings in the payout review process, these will be addressed moving forward.
[1]: https://ccs.getmonero.org/proposals/haveno-frontend.html
[2]: https://librejo.monerodevs.org/SyntheticBird/kewbit-drama
[3]: https://github.com/MAGICGrants/Monero-Fund-Elections/issues/10#issuecomment-2565810794
[4]: https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/334#note_19962
[5]: https://github.com/monero-project/meta/issues/1120#issuecomment-2525531999
[6]: https://libera.monerologs.net/monero-community/20241207#c471605
[7]: https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/489#note_27830
[8]: https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/489#note_27825
[9]: https://libera.monerologs.net/monero-community/20241207#c471632-c471633
[10]:https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/489#note_26721
---
## Overview
The Haveno Multi-Platform Native App will be an interface for decentralized applications that can connect to the Haveno Daemon, allowing users to conduct transactions in Monero (XMR) using the Haveno decentralized network. Users will be able to buy and sell multiple fiat currencies with their XMR through Haveno. The app will be able through all app stores and installers, or you can build from source.
![Haveno App Montage](https://i.ibb.co/8xvJrPd/Screenshot-20240817-204709-imageonline-co-merged.png "App Montage")
## Security Considerations
- **Open Source**: All software created will be open-source, and only auditable, open-source libraries will be used. The project will be released under the AGPL 3.0 license upon completion.
- **Tor Integration**: The app will enforce Tor usage, requiring users to connect via a Tor VPN relay (such as Orbot or InviZible). Without a Tor connection, the app will not proceed past the splash screen.
- **gRPC Protocol**: The app will connect to Haveno Daemon using the native gRPC HTTP/2 over Tor (not translated from HTTP/1.2 or HTTP/1)
- **Haveno Integration**: The app seamlessly connect to any Haveno Daemon hosted anywhere (using .onion via Tor)
- **Censorship Resistance**: By abstracting the VPN relay away from the app itself and requiring Orbot or InviZible, we avoid potential censorship issues. The app will not require VPN-enabled entitlements that need signing, thus preserving its censorship-resistant nature. The app will be available on [F-Droid](https://f-droid.org/en/).
- **Secure Device Linking**: The app will support secure linking to a running desktop or server instance via a QR code containing a hashed password in the URI of the Onion Link. [Onion Client Authentication](https://support.torproject.org/onionservices/client-auth/) will be available fro advanced users.
- **Native Libraries**: The app with use native library per OS directly from trusted sources.
- **Service Segregation**: Each component of the software will run under it's own service on Dekstop versions, you'll be able to manage the services via a System Tray on Windows, Linux and Mac operating systems.
## Features
- Ability to connect to any Haveno network that you want
- Customize based on your locale
- Ability to see Haveno network trade offers
- Start trades, open your own trades
- Chat with the peer trader
- Open disputes if a transaction isn't working out and chat with an arbitrator
- Manage your payment accounts for both crypto & fiat
- Get notifications when your have new trades or chat messages (local notifications that don't depend on Google's push notification system)
- Deposit and withdraw from your wallet
- Beautiful candlestick trading view for Haveno network activity
- System Tray to manage your Tor & Haveno Daemon services, keep your daemon online without the client open for mobile users.
- Docker image will be available for advanced users contingent on colaberative efforts between the Haveno DEX team.
## Installers Available As:
- **Linux**: **.AppImage**
- **Windows**: A windows **.exe** file.
- **MacOS**: A **.pkg** file or an **.xarchive** file
- **Android**: A **.apk** or **.aab** file
- **iOS**: A **.ipa** file or an **.xarchive** file
## Possible Future Plans
- Matrix integration for server-side notifications to the mobile device (this might be nessesary for iOS users to get notifications reliably and timely.)
- Design the P2P protocol from Haveno in Dart, so that you may not depend on the Haveno Daemon for the app to work (Standalone Mobile App)
- A redesign of the desktop version of the app to fit the Figma design plan in [haveno-design](https://github.com/haveno-dex/haveno-design/blob/master/haveno_mockups.pdf)
## Purpose
### What the Proposal is About
This proposal aims to bring the Haveno / Monero ecosystem together through Haveno with a user-friendly, multi-platform app that considers security, censorship resistance, and hardware wallet support. I would like to continue adding value to this project so am seeking funds to priorize it beyond the 2 months I scoped out myself.
### Who Will Complete the Proposal
Kewbit (kewbitxmr@protonmail.com)
### Why It Is Important for Monero and the Community
This app is crucial for the Monero community because it promotes a censorship-resistant and decentralised ecosystem. There is great difficulty in finding places to trade XMR due to certain website closures and crackdowns. By intending to make the app available on multiple OS and platforms, including on F-Droid, Play Store, and App Store, we ensure that it reaches a wide audience, including those who prefer non-traditional Android phones using Play Store.
## Milestones and Projected Timeline
- **Create the User Interface**
- **Funds**: 75 XMR
- **Status**: Started
- **Write the Protocol Interface**
- **Funds**: 75 XMR
- **Status**: Started
- **Create the Desktop Connector**
- **Funds**: 15 XMR
- **Status**: Started
- **Create Multi-Platform Installers for Windows, Linux, Mac, Android, and iOS**
- **Funds**: 50 XMR
- **Status**: Started
## Payouts
- **10/11/2024**: 75 XMR
- **10/11/2024**: 75 XMR
- **10/11/2024**: 15 XMR
- **01/12/2024**: 50 XMR
## Expiration Date
I do not intend for there to be an expiration date. I plan to release the app quickly as I am working on it full-time, even before producing a CCS. I see this as an ongoing project but expect to have a beta absolute latest by 31st December 2024.
## Alpha Builds
You can check out the current source and alpha builds.
https://github.com/KewbitXMR/haveno-plus/ (Name of project is subject to change, as is the organisation)
I provider further updates regularly on my blog which you can subscribe to if interested at [Kewbit.org](https://kewbit.org) you can also find [my current public key](https://kewbit.org/public-key/), which I would encourage you to import into your PGP client.
---
layout: cp
title: hinto-janai full-time work on Cuprate (3 months)
author: hinto-janai
date: May 5, 2024
amount: 264
milestones:
- name: RPC server design
funds: 20% (52.8)
done: 5 June 2024
status: finished
- name: JSON RPC interface
funds: 40% (105.6)
done: 9 August 2024
status: finished
- name: Binary/other RPC interface + other work
funds: 40% (105.6)
done: 9 August 2024
status: finished
payouts:
- date: 18 June 2024
amount: 52.8
- date: 12 August 2024
amount: 211.2
---
## What
[Cuprate](https://github.com/Cuprate/cuprate) is an alternative Monero node implementation, currently worked on by me and [Boog900](https://github.com/boog900).
The next large section that needs work is the RPC server. Another contributor, [yamabiiko](https://github.com/yamabiiko), is also interested in working on the RPC server, although they currently have limited time, so I'll be starting on it alone for now (with much help from Boog900).
## Who
I'm [hinto-janai](https://github.com/hinto-janai).
Past CCS: https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/422.
## RPC server
yamabiiko has started a discussion on the design for the RPC server [here](https://github.com/Cuprate/cuprate/issues/106), and Boog900 has suggested some changes.
The first milestone's time will be spent on:
- Fleshing out the current proposal or potentially finding better alternatives
- Preparing an initial design document, similar to [`database/`](https://github.com/Cuprate/cuprate/pull/35)
The current design for the database was spread out across several months, although, the design for the RPC server should take much less time.
After a design is set, the second/third milestone will start on the RPC interface library - the timeline for this is by the end of this CCS. This includes testing, documentation, etc. The current plan is to separate the interface from the inner RPC handler. After the interface is finished, the internal handler(s) will be finished in another CCS (potentially split between contributors).
By the end of this CCS, the initial design document will be polished to reflect the implementation, similar to [here](https://github.com/Cuprate/cuprate/blob/main/database/README.md), and user documentation will also be finished (again, like `database/`).
The resulting design document will be added to [Cuprate's architecture book](#cuprates-architecture-book) (see below).
## Other work
There's also other work that I believe would be beneficial to start on earlier rather than later.
These will be started on during this CCS:
- Cuprate's architecture book
- Persistent transaction pool
- `monero-core` RPC PRs
- Benchmarking suite
- Project lints
The persistent transaction pool will be finished within this CCS, the rest will grow alongside the project.
### Cuprate's architecture book
This is a book similar to [Cuprate's protocol book](https://monero-book.cuprate.org), although it will be for Cuprate's implementation. The RPC design will be documented in this book (along with every other component) as they are implemented. The current [database document](https://github.com/Cuprate/cuprate/blob/main/database/README.md) will be ported to the book as well.
Current rough draft: https://hinto-janai.github.io/cuprate-architecture
Expected included items are:
- Relational map of components (RPC, DB, block downloader, verifier, etc)
- Component designs
- Thread model (when/where/how many threads get spawned? for what purpose?)
- Resource model (files, sockets, memory usage)
- Instrumentation (logging, data collection methods)
- Known inefficiencies/tradeoffs, their reasoning
### Persistent transaction pool
Considering RPC implementation will take a while, implementing a persistent transaction pool sooner rather than later would be preferred; another option Cuprate has is to create an in-memory only transaction pool, although this would only be a stop-gap and would take more work in the long run, thus this work will be done now.
### `monero-core` RPC PRs
As I'll be going through all of `monerod`'s RPC methods/objects and [`getmonero.org`](https://www.getmonero.org/resources/developer-guides/daemon-rpc.html) documentation, I will open PRs to `monero-core` or create an issue if I notice any discrepancies.
### Benchmarking suite
Creating a benchmarking suite for Cuprate's components would allow for collecting and storing information on code execution time. This data can be used later on to detect performance regressions as well as measuring optimizations.
Creating a bespoke benchmarking tool would be a project of its own, so Cuprate is planning to use the [Criterion](https://bheisler.github.io/criterion.rs/book/criterion_rs.html) project.
### Project lints
Lints cause compiler warnings to become hard errors, blocking compilation. An example: [`serai-dex`](https://github.com/serai-dex/serai/blob/21123590bb600323aa424f64ffaa5d321b1b22ed/Cargo.toml#L135-L184).
Cuprate's CI already fails on warnings (among other pedantic things), although there are many additional lints we could add. Selecting the lints that make sense for Cuprate sets higher code standards for the project. Setting this up and fixing current code should not take too much effort, but it will be drawn out over time.
## Funding
I am asking for a rate closer to market rates, please read [here](https://gist.github.com/hinto-janai/8ce1d4847f51304aa4d71c3614408d7f).
I am asking for $65 + 0.05 XMR per hour for 480 hours at $130/XMR. This gives 264 XMR.
Recent activity has shown that `monerod` does not handle load well. Furthermore, there is little system-level documentation; changes needed to fix issues like this are more difficult than necessary. I do not believe this has to be repeated.
I believe this is a fair rate for creating well documented and maintainable infrastructure. I am also asking for less hours than before as I don't believe I can continue at my current pace long-term.
\ No newline at end of file
---
layout: cp
title: hinto-janai full-time work on Cuprate (3 months)
author: hinto-janai
date: Nov 6, 2023
amount: 153
milestones:
- name: Internals
funds: 33% (51)
done: 13 March 2024
status: finished
- name: API
funds: 33% (51)
done: 5 May 2024
status: finished
- name: Integration + 3 months of work
funds: 33% (51)
done: 5 May 2024
status: finished
payouts:
- date: 9 April 2024
amount: 51
- date: 14 May 2024
amount: 102
---
## What
[Cuprate](https://github.com/Cuprate/cuprate) is an alternative Monero node implementation, currently solely worked on by [Boog900](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/405).
I've been in contact with Boog and there are many sections within Cuprate that can be worked on in parallel, currently the most pressing section is the database. This work was left unfinished by SyntheticBird45 before they left the project. Boog is currently working on block downloading/verification/consensus with cobbled together database-like functions - this means an actual database layer can be worked on in parallel without any merge conflicts, and can be cleanly slotted in once complete.
This CCS is to support me working on full-time on Cuprate for the next 3 months, specifically on the database implementation.
## Benefitting Monero
This CCS will fund part of a larger effort to create an alternative Monero node implementation (among other things).
As such, things will initially be slow-going as groundwork is laid. This CCS specifically may not _directly_ benefit `monero-core` immediately, yet it's work that must be completed such that Cuprate _can_ benefit `monero-core` (and Monero) in the future.
## Who
I'm [hinto-janai](https://github.com/hinto-janai).
Past CCS: https://ccs.getmonero.org/proposals/gupax.html.
## Design
The design document and active PR is here: https://github.com/Cuprate/cuprate/pull/35 and will be updated as things change.
The main goal is to create a layer that separates the underlying database and the higher-level functions that are called by the other portions of Cuprate, e.g, `get_block()`. The aim here is to allow for easy hot-swapping of databases to test for the various operations Cuprate will be performing. In the end, a single database will be selected after testing, although the layer will continue to exist.
The database implementations in mind (for now) include:
- LMDB (via [heed](https://github.com/meilisearch/heed))
- [sanakirja](https://docs.rs/sanakirja) (a database [similar and originally based off](https://pijul.org/posts/2021-02-06-rethinking-sanakirja) LMDB)
Both of these will be forked and maintained by Cuprate as there are `monerod`-specific things that must be added (e.g output lookup using [sub-keys](https://github.com/monero-project/monero/blob/ac02af92867590ca80b2779a7bbeafa99ff94dcb/src/blockchain_db/lmdb/db_lmdb.cpp#L3447C1-L3449C80)).
The overall design is mostly from Boog900 - I am simply implementing it.
## Future
There's plenty more work to be done after the database. Boog plans on handling P2P code after his current CCS, which means I could possibly work on these things in the future (in parallel with Boog's work):
- RPC server (e.g. `get_info`)
- Transaction-pool related (e.g. Dandelion++)
- Application interface linking everything together (e.g. `./cuprated --option`)
Most likely, the RPC server would be the next thing I would be working on.
And there are things that are planned, but for the very distant future:
- ZMQ support
- Tor/i2p support: [Tor is quite feasible today](https://blog.torproject.org/announcing-arti), i2p less so
- RandomX: Currently, there exists multiple (quite rough) `C/C++ <-> Rust` bindings but as RandomX is in active use (and will most likely be for the foreseeable future) another implementation or more realistically, a maintained "Rust"-like shim on-top would be nice
- CryptoNight: Same as RandomX but less important as this is only used for legacy purposes
- P2P encryption (preferably compatible with the proposal for [`monerod`](https://github.com/monero-project/monero/issues/7078))
These points are laid out to showcase what else must/could be done for Cuprate to reach some level of parity with `monerod`.
## Why
Cuprate has an advantage in that it has an [8+ year old codebase](https://github.com/monero-project/monero) as reference - although we are starting with a blank canvas, we have a finished painting next to us, displaying all the very good, okay, and not-so-good parts.
As such, we can focus on things other than making it work, notably: documentation, maintenance, and correctness.
Other than documenting the [Monero protocol itself](https://monero-book.cuprate.org), we plan to write documentation for internal subsystems such that future Cuprate contributors/maintainers will be able to pick up easily where we left off. What this means for me and this CCS is that I'll be documenting how this database "layer" fits in with the rest of Cuprate, and answer all the "what does this do?", "how does this work?", "why was it done like this?" questions. If I were to continue working on Cuprate past this CCS, i.e. the RPC server, all RPC types would also be documented (and the internals as well) - the same goes for any future subsystems.
Other notable projects following this pattern: [Tor](https://youtu.be/hdFL0kXu440?t=700), [Bitcoin](https://github.com/rust-bitcoin/rust-bitcoin), [Ethereum](https://github.com/rust-ethereum), [Zcash](https://github.com/ZcashFoundation/zebra).
## Proposal
I propose to work for 44 hours/week for 3 months.
By the end of this proposal, Cuprate will have a working database. I believe 3 months is enough time to create and refine an implementation enough for usage.
It is hard to separate large single implementations like this cleanly into goals/timeframes as usually many things get worked on at any given moment - although, there are 3 bigger milestones this CCS has:
1. Internals: implementing the database and functions themselves
2. API: cleanup of the interface and many other miscellaneous things for external usage
3. Integration: slotting the database into Cuprate, and at least 3 months of work
Milestone 3 is only to be paid out upon:
- A complete database has been integrated into Cuprate
- 3 months of work has been done
This means if the database takes 428~ hours to complete, I will continue to work for 100~ more hours (most likely on the things listed in `Future`) to complete milestone 3.
- Hours: 528
- Rate: $45 USD/hour
- XMR: $155 (20-day EMA, Kraken, 2024/01/15)
- Total: 153 XMR
---
layout: cp
title: hinto-janai full-time work on Cuprate (3 months)
author: hinto-janai
date: August 9, 2024
amount: 221
milestones:
- name: JSON RPC handlers
funds: 40% (88.4)
done: 25 December 2024
status: finished
- name: Binary/other RPC handlers
funds: 40% (88.4)
done: 25 December 2024
status: finished
- name: Other work
funds: 20% (44.2)
done: 4 November 2024
status: finished
payouts:
- date: 12 November 2024
amount: 44.2
- date: 21 January 2024
amount: 176.8
---
## What
[Cuprate](https://github.com/Cuprate/cuprate) is an alternative Monero node implementation.
The next section that needs work is the RPC handlers. The design, interface, routing, types, and (de)serialization were completed in my previous CCS, see here:
- Past CCS: https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/456
- RPC interface tracking issue: https://github.com/Cuprate/cuprate/issues/183
- RPC book: https://architecture.cuprate.org/rpc/intro.html
This CCS is for the handlers, i.e. the functions that turn requests into responses.
Once the handlers are complete, Cuprate will have a working RPC stack that [mostly](https://architecture.cuprate.org/rpc/differences/intro.html) mirrors `monerod`.
## Who
I'm [hinto-janai](https://github.com/hinto-janai).
## RPC handlers
The 1st/2nd milestones are for the RPC handlers. This is the majority of the work.
This includes:
- JSON RPC handlers (methods behind `/json_rpc`)
- Binary RPC handlers (binary endpoints, e.g. `/get_blocks.bin`)
- Other handlers (other JSON endpoints, e.g. `/get_height`)
The RPC handlers will most likely be in its own library/section, built on-top of the RPC libraries Cuprate has so far. The current RPC interface library ([`cuprate-rpc-interface`](https://github.com/Cuprate/cuprate/tree/main/rpc/interface)) allows for custom handlers, as in, the mapping of `request` -> `response` can be customized. The handler created in this CCS will be a standard implementation that (mostly) follows `monerod`'s behavior, i.e. request comes in, get some data from the database and such, return a response. Although, other implementations are possible, such as an RPC handler that caches blocks, as mentioned in [this meeting](https://github.com/monero-project/meta/issues/996#issuecomment-2086710102).
Testing, [crate (library) documentation](https://doc.cuprate.org), and [architecture book](https://architecture.cuprate.org) sections will also be written.
### Binary strings
There are a few RPC methods that require further discussion before implementation in Cuprate, see the [binary strings proposal](https://github.com/monero-project/monero/issues/9422).
If the above proposal finds consensus on future `monerod` behavior, this CCS will implement that behavior.
If more time is required for the proposal, the related endpoints/methods will be left in a semi-unfinished state until behavior is agreed upon, where after Cuprate will implement that behavior.
If the proposal does not move forward, Cuprate is planning to fallback to implementing `monerod`'s current behavior.
## Other work
The 3rd milestone is for any miscellaneous work that needs to be done for Cuprate, but also, these 2 concrete things:
- Lints
- Benchmarking
I'd like to focus on these as:
- If they're always pushed to the side, they'll never get done
- I believe it's important to establish these early on in the project
I started integrating lints & benchmarks into Cuprate last CCS, this CCS will finish integrating them for all the libraries I've written so far, and [other libraries](https://architecture.cuprate.org/appendix/crates.html) if time allows.
The issues tracking the progress of these two can be found here:
- https://github.com/Cuprate/cuprate/issues/207 (lints)
- https://github.com/Cuprate/cuprate/issues/208 (benchmarks)
## Funding
I am asking for $65 + 0.05 XMR per hour for 480 hours at $158/XMR. This gives 221 XMR.
---
layout: wip
title: hinto-janai full-time work (3 months)
author: hinto-janai
date: February 7, 2025
amount: 186
milestones:
- name: Month 1
funds: 62 XMR
done:
status: unfinished
- name: Month 2
funds: 62 XMR
done:
status: unfinished
- name: Month 3
funds: 62 XMR
done:
status: unfinished
payouts:
- date:
amount:
- date:
amount:
- date:
amount:
---
## What
Work full-time for 480 hours on:
- Cuprate
- Alpha release cycle [1](https://github.com/Cuprate/cuprate/issues/371) [2](https://github.com/Cuprate/cuprate/issues/374)
- User book [1](https://user.cuprate.org) [2](https://github.com/Cuprate/cuprate/pull/165) [3](https://hinto-janai.github.io/cuprate-user-book)
- Project roadmap Q1/Q2 goals [1](https://github.com/Cuprate/cuprate/issues/376) [2](https://github.com/Cuprate/cuprate/pull/369) [3](https://github.com/Cuprate/cuprate/pull/370)
- Misc. review work
- Monero
- FCMP++ related review [1](https://github.com/monero-project/monero/pull/9440) [2](https://github.com/monero-project/monero/pull/9436) [3](https://github.com/monero-project/monero/issues/9422#issuecomment-2504037485)
Cuprate is preparing its first alpha release, with a 4-week cycle. A progress report for 2024 is [here](https://www.reddit.com/r/Monero/comments/1ij2sw6/cuprate_2024_progress_report), the roadmap for 2025 is [here](https://github.com/Cuprate/cuprate/issues/376). I will be buying/renting a variety of hardware for testing/development and will post receipts for all hardware acquired at the time of exchange within this CCS.
If developer resources becomes a bottleneck for FCMP++ activation on `monerod`, I will switch priority when/where possible. This was discussed [here](https://github.com/monero-project/meta/issues/1137). Otherwise, I will continue working on Cuprate Q1/Q2 goals noted in the project roadmap, specifically: user book, release cycle, RPC integration [1](https://github.com/Cuprate/cuprate/issues/379).
## Who
[hinto-janai](https://github.com/hinto-janai)
Previous proposals:
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/422
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/456
- https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/484
## Funding
186 XMR.
$65 + 0.1 XMR per hour for 480 hours at $225/XMR.
---
layout: wip
layout: cp
title: j-berman full-time development (3 months)
author: j-berman
date: August 30, 2021
......@@ -15,15 +15,15 @@ milestones:
status: finished
- name: Month 3
funds: 33% (26 Monero)
done:
status: unfinished
done: 4 February 2022
status: finished
payouts:
- date: 6 October 2021
amount: 26
- date: 10 November 2021
amount: 26
- date:
amount:
- date: 8 February 2022
amount: 26
---
## What
......
---
layout: cp
title: j-berman full-time development (3 months)
author: j-berman
date: February 7, 2022
amount: 135
milestones:
- name: Month 1
funds: 33% (45 Monero)
done: 14 March 2022
status: finished
- name: Month 2
funds: 33% (45 Monero)
done: 13 April 2022
status: finished
- name: Month 3
funds: 33% (45 Monero)
done: 23 June 2022
status: finished
payouts:
- date: 29 July 2022
amount: 135
---
Hi all, I love my new job and very much so hope that my performance has been satisfactory. I'm requesting 135 XMR to continue working on Monero full-time for the next 3 months (2/7/22 - 5/2/22).
On my immediate radar, I'd like to help ensure the upcoming fork goes smoothly. I can take on the following:
- help the ecosystem prepare for view tags:
- [monero-lws](https://github.com/vtnerd/monero-lws)
- [openmonero](https://github.com/moneroexamples/openmonero)
- potentially others if needed
- help resolve merge conflicts between PR's
- bump the ring size from 11 to 16 (tiny bit more effort than changing a single constant) (edit: PR for this [here](https://github.com/monero-project/monero/pull/8178))
- whatever else I have the skills to help on
Beyond the fork, here are some concrete tasks I'd also like to work on:
### [Background wallet sync cache](https://github.com/monero-project/monero/issues/8082)
This is a great idea by @hyc for wallets to continuously scan for a user's transactions in the background. This should make scanning a more pleasurable experience on mobile. The key idea behind the proposal is keeping the view key "hot" on the device, but *not* the spend key. This way wallets can more safely do this background scanning without leaving a spend key exposed.
### Subaddresses in [`monero-lws`](https://github.com/vtnerd/monero-lws)
I proposed a way to implement subaddresses in light wallet servers in [this PR](https://github.com/monero-project/meta/pull/647). I'd like to see this through to completion. To me, completion == there is a well-tested client-server implementation (with tests), where a frontend can interact with your own running `monero-lws` server. Been in communication with various light wallet ecosystem folks to move forward to flesh out the details of the API spec (shoutout to @endogenic, @vtnerd, and @ndorf for their involvement) :)
### Complete monero-lws informal audit if there is demand
If there is demand, I'm happy to complete [this review of monero-lws](https://github.com/vtnerd/monero-lws/pull/29) I started as part of my prior CCS. To be clear, I've read through the whole code base, and stand firm behind my conclusion that it is great software with no obvious backdoors. There are a number of files I left as "TO-DO's" in the review since it was taking up a lot more time than anticipated. Happy to fill it out if people would like.
### Other tasks
I have a running list of stuff I'd like to get to (some rolled over from last CCS):
- complete [these issues](https://github.com/vtnerd/monero-lws/issues/created_by/j-berman) as needed in monero-lws + work through the suggestions shared in [my review](https://github.com/vtnerd/monero-lws/blob/16f1ceaa6a5eb4d9263863068bf57bc8e032a408/docs/review_02.03.22/review_02.03.22.md#suggestions)
- continue investigating ways to make wallet scanning faster
- pick up on research into [deterministic binning](https://github.com/monero-project/research-lab/issues/84)
- [thread safety in the daemon RPC](https://github.com/monero-project/monero/pull/7936)
- implement a rw lock for the Blockchain class
- encrypt the wallet cache
## Who
j-berman on github, jberman on Matrix/IRC, and here is my [last CCS](https://ccs.getmonero.org/proposals/j-berman-3-months-full-time.html).
Merged commits: [monero-project/monero](https://github.com/monero-project/monero/pulls?q=is%3Apr+author%3Aj-berman+is%3Aclosed), [openmonero](https://github.com/moneroexamples/openmonero/pulls?q=is%3Apr+author%3Aj-berman)
Open commits: [monero-project](https://github.com/monero-project/monero/pulls/j-berman)
## Proposal
Requesting 135 XMR, which is a 25% raise from last CCS proposal from (0.08 XMR + $24)/hr to (0.1 XMR + $30)/hr, for 480 hours (12 weeks), at $168 / XMR from coingecko. This hourly rate totals to 133.8 XMR for the period (0.1 XMR + $30/$168 XMR = 0.279 XMR/hr * 480 hrs = ~133.8 XMR), which divides into 3 payments of 44.6 XMR. I rounded 44.6 XMR up to 45 XMR to land on a total of 135 XMR (3 * 45 = 135 XMR).
My prior CCS, I ended up working about a month longer than expected without submitting another CCS, since I wanted to see things through to completion as best I could, and prioritize must-do work before spending time wrapping up the prior CCS, and writing this proposal. I'd like to have more flexibility and comfort in making a decision like that, which I feel a higher rate affords.
I will share monthly updates, and will keep track of my hours as before, but likely won't be submitting an hourly time tracking spreadsheet with each update (it feels a little invasive and no one seems to care about it anyway, I probably shouldn't have done it in the first place). I'll also continue attending every #monero-research-lab + #monero-dev meeting I can, and sharing what I work on there when applicable.
Final note: if I run into any bounties that I want to work on in the future (like [view tags](https://bounties.monero.social/posts/28/implement-view-tags-to-decrease-wallet-sync-times-in-monero)), I'd like to work on them as part of my CCS, and pay the bounty out to PR reviewers (and in some cases, to original idea-havers too). I'd like to have flexibility to make decisions on what I think would be most valuable for me to work on, but will always welcome feedback :)
---
layout: cp
title: j-berman full-time development (3 months)
author: j-berman
date: July 18, 2022
amount: 187.5 Monero
milestones:
- name: Month 1
funds: 33% (62.5 Monero)
done: 14 September 2022
status: finished
- name: Month 2
funds: 33% (62.5 Monero)
done: 28 October 2022
status: finished
- name: Month 3
funds: 33% (62.5 Monero)
done: 28 October 2022
status: finished
payouts:
- date: 4 November 2022
amount: 187.5
---
## What
I'd like to continue full-time another 3 months in a similar capacity:
- Continue with PR review (especially on larger time-intensive PR's), including wrapping up [8076](https://github.com/monero-project/monero/pull/8076) (reduce wallet load and refresh time).
- Patch bugs.
- Finish the background sync mode that enables scanning for txs without a spend key. My code is [here](https://github.com/j-berman/monero/commit/238ea538f218ad447808c6806386a73bb1ab0fd5) and is functional as is. I approached it cautiously and thoughtfully to ensure it's safe as I went along. I still have some final touches on it + tests to add to wrap it up, [described here](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/285#note_15356).
- Potential tasks:
- Start going deeply through Seraphis code, implementing Jamtis features, and working toward completing a handoff from UkoeHB -> core repo. [From @UkoeHB](https://libera.monerologs.net/monero-research-lab/20220713#c120001): "Todos after [he finishes his final poc tasks]: investigate/implement the wallet-side features of Jamtis (RIDs, Polyseed, address authentication), build wallets that use the seraphis library interface for building/handling txs and enotes (full wallet, view-only wallet, multisig full wallet, payment validator), integrate seraphis into the daemon/ledger, ...".
- My own opinion on the state of Seraphis/Jamtis: both should undergo deeper review and round(s) of audits from independent parties and earn "rough consensus" before ultimately deployed. It would also be nice to see research into trustless zk-SNARKs move further along to have a better idea of how they could fit alongside Seraphis/Jamtis. Still, I think it would be valuable to start getting more finalized audit-able code prepared, especially code that likely wouldn't be impacted by the latter (such as RIDs, Polyseed, and address authentication).
- Work together with @endogenic on factoring wallet2.
- Implement subaddresses in `monero-lws` as per [this spec](https://github.com/monero-project/meta/pull/647). At this point, moving this forward feels dependent on others in the light wallet ecosystem and isn't fully in my hands (unless enough people want subaddress support in the server and don't need a client).
- Whatever seems highest priority to work on to me that I know can add value on that comes along. As of this moment, [PR 7999](https://github.com/monero-project/monero/pull/7999) (a serialization overhaul) is a leading candidate; however, with 7999, there is a chance I'm unable to provide an adequately deep review that the PR requires as my skill level may not be at that point yet. If I do decide to work on 7999, I wouldn't count my hours toward my CCS unless those hours lead to demonstrable value that pushes what the PR aims to solve forward.
## Who
I've identified and patched several privacy issues with varying severity in the Monero ecosystem:
1. The reference wallet's decoy selection algorithm didn't select very recent spendable outputs in some cases. ([source](https://www.getmonero.org/2021/09/20/post-mortem-of-decoy-selection-bugs.html))
2. The reference wallet truncated integers in the decoy selection algorithm, which would have borked the decoy selection algorithm entirely if tx volume were to increase; in the normal case, it marginally weakened the algorithm. ([source](https://www.getmonero.org/2021/09/20/post-mortem-of-decoy-selection-bugs.html))
3. `openmonero` was still using the old proven weak decoy selection algorithm, also leaving a fingerprintable trail by decoy selection algo. ([source](https://github.com/moneroexamples/openmonero/pull/177))
4. MyMonero doesn't use the updated CLSAG fee calculation which fingerprints MyMonero txs on chain by tx fee. ([source](https://github.com/mymonero/mymonero-core-cpp/pull/35))
5. MyMonero's fee calculation->input selection logic differs ever-so-slightly from the reference wallet, resulting in a fingerprintable tx fee. ([source](https://github.com/mymonero/mymonero-core-cpp/pull/36))
6. `monero-lws` fee masking on the server also caused ever-so-slightly different fee calculations from the reference wallet, resulting in a fee fingerprintable to `monero-lws` (a fingerprint that is distinct from MyMonero). ([source](https://github.com/vtnerd/monero-lws/pull/31))
7. In PR review on the upcoming hard fork's changes to the tx fee, identified the introduction of [slightly different fee calculation logic](https://github.com/monero-project/monero/pull/7819#discussion_r804404285) that would have caused tx fees to be fingerprintable to either old or new version until the hard fork.
Most of the above took a significant amount of time to investigate and in some of the cases, patch. Some were really simple to patch, some were difficult but only took a couple lines.
Some other contributions:
- implemented [view tags](https://github.com/monero-project/monero/pull/8061) to speed up wallet scanning.
- identified and patched daemon reliability issues, especially for users of tor/i2p daemons (moved forward solving long-standing issues [6631](https://github.com/monero-project/monero/issues/6631), [6929](https://github.com/monero-project/monero/issues/6929), and [6938](https://github.com/monero-project/monero/issues/6938)):
- [Tor/i2p daemons periodically send a peer list that gets itself dropped](https://github.com/monero-project/monero/pull/8324).
- [The daemon periodically drops outgoing tor/i2p connections](https://github.com/monero-project/monero/pull/8330).
- [Tx re-relay math was off](https://github.com/monero-project/monero/pull/8326).
- since Ledger was fairly unresponsive, I implemented the changes for the upcoming hard fork needed to send and receive:
- [monero repo](https://github.com/j-berman/monero/commit/cfbd590fd63ff9e0c5ec68c618e2f3fdaf24d241)
- [ledger repo](https://github.com/j-berman/app-monero/commit/c1a6eb8bbbc1cc7974ce0938e9d8f920d0ad3ae9)
- patched a [cryptographic vulnerability in monero-python](https://github.com/monero-ecosystem/monero-python/commit/ece5b9d4cd929ced9539dca839d8a9fda4271663) (identified by kayabaNerve) where a malicious sender can get an honest recipient (who's using `monero-python` to scan for txs) to assume they received an arbitrary amount chosen by the sender (e.g. a 0.00000001 XMR tx could be made to look like 1000 XMR).
- [identified that the updated fee algorithm didn't implement the expected algorithmic block size increase at consensus](https://github.com/monero-project/monero/pull/7819#discussion_r799064615).
- implemented view tags in:
- [the onion block explorer](https://github.com/moneroexamples/onion-monero-blockchain-explorer/pull/266)
- [monero-lws](https://github.com/vtnerd/monero-lws/pull/33)
- [openmonero](https://github.com/moneroexamples/openmonero/pull/181)
## Proposal
187.5 XMR. 480 hours, 0.12 XMR/hr + $36/hr, $133/XMR from coingecko.
I'm requesting a raise from my prior CCS because I feel I have demonstrated my contributions are worth a more competitive rate, and can continue to provide (increasing) value to Monero in a full-time capacity.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.