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 1434 additions and 16 deletions
---
layout: cp
title: "koe: Seraphis Proof-of-Concept"
author: koe
date: 1 October 2021
amount: 92.6
milestones:
- name: PoC
funds: 100% (92.6 XMR)
done: 22 February 2022
status: finished
payouts:
- date: 25 April 2022
amount: 92.6
---
## Intro
Hi all, after some encouragement I decided to request funding for my ongoing work on Seraphis. Specifically, funding for future work on the Seraphis C++ proof-of-concept that I have been developing since the second week of September.
My goal is for this code to be 95% production-ready. It is appropriate to get large pieces of code funded if they have a strong potential to be merged into the master branch.
## What is Seraphis?
[Seraphis](https://github.com/UkoeHB/Seraphis) is a next-gen transaction protocol abstraction, which means it defines various high-level rules for a concrete transaction protocol. RingCT can be thought of as the current tx protocol abstraction, even though [the RingCT paper](https://web.getmonero.org/resources/research-lab/pubs/MRL-0005.pdf) specified concrete proving structures directly without abstraction.
The main innovation of Seraphis (and [Lelantus-Spark](https://eprint.iacr.org/2021/1173), a very similar protocol developed independently) is using _only_ simple commitments-to-zero for showing that a transaction input (an output being spent) exists in the ledger. This allows proofs about key images to be independent of membership proofs, which means one-time addresses and key images can be creatively designed. In particular, it is possible to avoid one of the main drawbacks of [Triptych](https://eprint.iacr.org/2020/018), namely a key image construction that makes multisig [much more complicated](https://github.com/cypherstack/triptych-multisig).
Seraphis has other potential benefits over RingCT and Triptych (depending on concrete design choices):
- membership proof delegation (allows transaction chaining, offloading proof construction to third parties, improved indistinguishability of multisig tx [construct membership proofs at the last minute to avoid leaking timing details], allows the 10-block lock time to be somewhat ignored when transacting with a trusted party)
- multi-tier wallet permissions (e.g. a view-only wallet that can detect spent outputs, a view-only wallet that can see received outputs but not their amounts)
The main costs of Seraphis compared to Triptych are:
- more implementation effort
- all users would have to generate new addresses from their private keys (don't need new private keys, seeds, or wallets); all old addresses would become unusable
- **note**: Replacing old addresses is an opportunity to deprecate 'normal addresses' in favor of 'subaddresses' only. A uniform address format would simplify UX and various implementation details.
## PoC
**Scope**: I am working on a core component library for Seraphis, which includes proof structures, transaction structure and validation, core transaction building pieces (both normal and multisig transactions), unit tests, performance tests. The scope is similar to the `ringct/` subdirectory. I currently do not plan to touch the `wallet/` subdirectory.
- The scope also extends to my efforts to performance test different variants of Seraphis, and Lelantus Spark. However, only the main parts of Seraphis will get high-quality attention until performance results are available.
Building a new transaction-builder component library is a good opportunity to both re-imagine how to architect component versioning (i.e. instead of spaghetti conditionals, which are rampant in some parts of the codebase after 13 hard forks), and to add various things from my wishlist.
Ultimately, I want to include the following in my PoC (found in the MRL and Monero GitHub Issues linked below):
- reorganized tx semantics (`tx_supplement` takes some stuff out of the `tx_extra`)
- view tags
- enforce 1 tx pub key for 2-out tx, 1 key per output for >2-out tx
- enforce sorted-TLV in the extra field
- Janus mitigation (one way or another - depending on the address scheme chosen)
### PoC: current progress
The PoC currently has:
- mock-up of RingCT with CLSAG (for performance comparisons)
- mock-up of Triptych (for performance comparisons)
- concise Grootle proof (with 'aggregation coefficients', like found in Triptych)
- plain Grootle proof (without 'aggregation coefficients', like found in Lelantus-Spark)
- **note**: The guys at Firo theorize this should have faster verification than concise Grootle proofs (using 'small scalar weighting'), but in my tests it is slower. This may be due to a limitation of Monero's crypto library, which contains no optimizations for small scalar EC multiplication, so future improvements may be possible.
- Seraphis composition proof
- unit tests for all of the above
- tx mock-up performance testing framework
### PoC: TODO
My immediate plans for the PoC include:
- core multisig functionality in Seraphis composition proof
- mock-up of 4 different Seraphis variants
- mock-up of Lelantus-Spark (probably... it turns out coding complex cryptographic algorithms like advanced signature schemes is a lot of work)
- unit tests for all of the above
- comprehensive performance testing of all tx protocol mock-ups
Once performance tests are complete, I will take a break of 1-4 weeks to finish the Seraphis paper. Then, after making various design decisions to narrow down the optimal tx protocol and address scheme (based on discussion in the Monero community - primarily IRC channels #monero-dev and #monero-research-lab), I want to add the following to the PoC (I will probably make a new branch for this, and cut out all the extra stuff from performance testing).
- mock-up of Seraphis addressing framework
- mock-up of Seraphis transaction builder framework (with multisig)
- the wishlist from [above](#PoC)
## Past and current Monero work
- [Seraphis paper](https://github.com/UkoeHB/Seraphis): in-progress
- [Seraphis PoC branch](https://github.com/UkoeHB/monero/tree/seraphis_perf): in-progress
- [ZtM2](https://web.getmonero.org/library/Zero-to-Monero-2-0-0.pdf): complete
- [ZtM1](https://web.getmonero.org/library/Zero-to-Monero-1-0-0.pdf): complete
- [MRL issues](https://github.com/monero-project/research-lab/issues/created_by/UkoeHB): many are active/open (the fee issue is [close to merging on master](https://github.com/monero-project/monero/pull/7819))
- [Monero issues](https://github.com/monero-project/monero/issues/created_by/UkoeHB): tx semantics proposal is open
- [Monero PRs](https://github.com/monero-project/monero/pulls/UkoeHB): multisig address-generation rework is open
## Funding
- Rate: 50 USD + 0.2 XMR
- Hours: 6 weeks @ 40hr/wk = 240hrs
- XMR equivalent: 48 + (50\*240)/USD\_EXCHANGE\_RATE XMR
- USD\_EXCHANGE\_RATE: set from 14-day EMA on a major exchange when merging proposal
- 269 USD/XMR at 1800 UTC 10/13/2021 w/ 14-day EMA on Kraken -> 92.6 XMR total
If it takes me fewer than 240hrs, then I will allocate the extra hours toward whatever future Monero work I end up doing (or pass the left-over funds into the general fund if necessary).
If I require more time, and the community supports it, then I may make another proposal to extend the hours.
---
layout: cp
title: "koe: Seraphis Wallet Proof-of-Concept 2"
author: koe
date: 1 May 2022
amount: 155
milestones:
- name: PoC
funds: 100% (155 XMR)
done: 18 August 2022
status: finished
payouts:
- date: 24 October 2022
amount: 155
---
## Intro
Hi all, I [closed out](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/290#note_16046) my previous [Seraphis Wallet PoC CCS](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/290) after consuming all the hours. There are additional tasks I would like to work on. For background on this CCS, please see the links in the previous sentence.
## Continuing work
Here are the tasks I hope to finish by the end of this CCS. As before, these will be implemented in my [seraphis_lib](https://github.com/UkoeHB/monero/tree/seraphis_lib) branch.
- Add tx builder plumbing for _discretized_ tx fees (see the [04/20/22 MRL meeting](https://github.com/monero-project/meta/issues/691) for a discussion).
- Consider using 16-byte address indices (instead of 7), with 2-byte encoded address index MACs (instead of 1).
- Implement a robust 'input selection' solver that takes advantage of statically-determinable tx weights.
- Implement a maximally-efficient and generic enote-scanning workflow.
- Build a wallet proof-of-concept that demonstrates all the 'transaction engineering' capabilities and implementation modularity of Seraphis/Jamtis. My goal is to have unit tests representing all the main workflows possible with Seraphis, and all the main wallet implementations necessary (i.e. mock-ups of interfaces that could potentially be developed into full-fledged wallet software).
- Test out using x25519 for enote ECDH instead of ed25519, which may speed up enote scanning by a non-trivial amount (>10%).
- Miscellaneous code cleanup (mostly update/add comments, cleanup TODOs).
As usual, I will also lump all the miscellaneous Monero R&D tasks that I work on into this CCS (e.g. in the last period I did more review/work on multisig security patches, among other things).
## Funding
- Rate: 50 USD + 0.2 XMR
- Hours: 16 weeks @ 20hr/wk = 320hrs
- XMR equivalent: 64 + (50\*320)/USD\_EXCHANGE\_RATE XMR
- USD\_EXCHANGE\_RATE: set from 14-day EMA on a major exchange
- 175 USD/XMR at 0100 UTC 05/16/2022 w/ 14-day EMA on Kraken -> 155 XMR total
If I require more time, and the community supports it, then I may make another proposal to extend the hours.
---
layout: cp
title: "koe: Seraphis Wallet Proof-of-Concept"
author: koe
date: 23 February 2022
amount: 81.4
milestones:
- name: PoC
funds: 100% (81.4 XMR)
done: 25 April 2022
status: finished
payouts:
- date: 12 May 2022
amount: 81.4
---
## Intro
Hi all, after the [completion](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/256#note_15087) of my previous [Seraphis PoC CCS](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/256), there are additional tasks I would like to work on. For background on this CCS, please see the links in the previous sentence.
## New tasks
These tasks will be implemented in my [seraphis_lib](https://github.com/UkoeHB/monero/tree/seraphis_lib) branch. My ultimate goal is that, once this CCS is complete, I can hand off seraphis_lib to other Monero developers who can start working on/thinking about how to get Seraphis actually used in Monero.
- Build a wallet proof-of-concept that demonstrates all the 'transaction engineering' capabilities and implementation modularity of Seraphis/Jamtis. My goal is to have unit tests representing all the main workflows possible with Seraphis, and all the main wallet implementations necessary (i.e. mock-ups of interfaces that could potentially be developed into full-fledged wallet software).
- Test out using x25519 for enote ECDH instead of ed25519, which may speed up enote scanning by a non-trivial amount (>10%).
- Add validation code and plumbing for `tx_extra` fields.
- Add tx builder plumbing for tx fees.
- Add multisig tx builders for Seraphis (with unit tests) after the master branch is updated with PR #7877.
- Miscellaneous code cleanup (mostly update/add comments, cleanup TODOs).
I will also lump all the miscellaneous Monero R&D tasks that I work on into this CCS (e.g. in the last period I did a bunch of review/work on multisig security patches, among other things).
## Funding
- Rate: 50 USD + 0.2 XMR
- Hours: 8 weeks @ 20hr/wk = 160hrs
- XMR equivalent: 32 + (50\*160)/USD\_EXCHANGE\_RATE XMR
- USD\_EXCHANGE\_RATE: set from 14-day EMA on a major exchange when merging proposal
- 162 USD/XMR at 2100 UTC 02/23/2022 w/ 14-day EMA on Kraken -> 81.4 XMR total
If I require more time, and the community supports it, then I may make another proposal to extend the hours.
......@@ -67,4 +67,12 @@ I would like to expand more this section since it is a subject close to my heart
### Costs
If milestones are not modified, I'll ask 11 XMR (~700 euros) - fixed price.
\ No newline at end of file
If milestones are not modified, I'll ask 11 XMR (~700 euros) - fixed price.
### Proposal transfer
This proposal will be transferred to recanman who will enjoy an exclusivity period of 5 months to show reasonable progress in completing this proposal. They will receive payments for completed milestones directly.
SerHack: https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/402#note_22039
>To consider the CCS completed, all the issues mentioned in the CCS must be completed: recanman will need to push changes to monero-integrations repositories and after reviewing the PRs, I'll close the issues.
---
layout: wip
title: SolOptXMR - Solar Optimal mining of XMR
author: mj
date: Mar 26, 2022
amount: 110.55 XMR
milestones:
- name: 1 Initial setup
funds: 20.10 XMR
done: 29 May 2022
status: finished
- name: 2 Profitability calculator
funds: 16.75 XMR
done:
status: unfinished
- name: 3.1 Measurements mj
funds: 20.10 XMR
done: 22 July 2022
status: finished
- name: 3.2 Measurements Endor
funds: 16.75 XMR
done:
status: unfinished
- name: 4.1 Automation mj
funds: 20.10 XMR
done: 24 November 2022
status: finished
- name: 4.2 Automation Endor
funds: 16.75 XMR
done:
status: unfinished
payouts:
- date: 2 July 2022
amount: 20.1
- date: 28 December 2022
amount: 40.2
- date:
amount:
- date:
amount:
- date:
amount:
---
# What
The goal is to create open-source software that aids people mining Monero with excess solar power in the most profitable way. It will accommodate for issues such as:
- Time of day
- Weather fluctuations
- Avoiding depleting batteries below a threshold, that would damage them
- Avoiding overheating the mining rig
- Leaving enough power for your daily use
# Intro
I promised I'd help out in the [Monero Recruitment Matrix Room](https://matrix.to/#/#monero-recruitment:monero.social).
Although there was just one direct request to me so far, recently I've also pro-actively proposed cooperation to the chat room members. I presented there 2 projects, that are on my mind, and don't require extensive crypto knowledge, typically not available to students. Yet the projects are still useful for Monero specifically. One of the projects that I have on mind is optimization of mining performance on a solar farm, depending on varying inputs. The member Endor ([endorxmr](https://github.com/endorxmr) on GitHub and endor00 on Matrix) signed up for being the main contributor to the project, while I would serve as a mentor: namely coordinator, reviewer and designer. Such a setup will guarantee, that I won't get dragged away too much from the maintenance of Monero, that I signed up for, while at the same time, Endor will be able to continuously have access to my years of experience in automatic control and object oriented design. Endor on the other hand is heavily involved in everything, that’s connected to mining profitability.
Should Endor not make it until the deadline, I guarantee, that I will finalize the project by myself until the coming winter.
Introducing the project: SolOptXMR – Solar Optimal mining of XMR.
# Why
The following [YT video](https://www.youtube.com/watch?v=7OpM_zKGE4o) is able to bring you more context why this idea has a chance for being a trending subject and is here to stay. The outline of this video is the following:
Because of high initial, as well as perpetual investments required for producing power from solar collectors in Sahara/Nevada and delivering it to northern states, such an investment, contrived in the previous decade under the name "DESERTEC", turned out to be not the best possible investment. The project's relative profitability decreased across the years even more. The reason is, that the costs of production of solar panels dropped so low, that now it makes more sense to place them exactly where the produced power is most needed, even though the solar irradiation is lesser at these places.
On a sentiment / geopolitical side of things, with the rising prices of heating gas, I expect many people will be wanting to save on their gas costs by switching to electrical heating. Since the majority of such heaters demand high power, ranging from 2kW to 2.5kW and since a given population will typically want to switch them on all at the same time, I predict that we'll be facing a decent wave of blackouts in the coming winter. This has motivated me to build my solar farm.
If you are an individual who likes to take the matters into your own hands, you might have considered building a small solar farm yourself. Although our system won't assume a given user's setup, my particular farm is configured as an isolated island. This means, that I don't sell my overproduction to the grid for the pennies, that the state offers, but rather use the production for mining and cooking, while the overproduction is temporarily stored in a pair of cheap but reliable car batteries. My farm serves as a perfect test bed for the system, that we're going to design and automate for you. Optimized mining of Monero on such a system amortizes the installation costs over the long run, will help you learn about electricity and motivate you to become more resilient. Further compatible extensions are possible, such as small wind generators as well as bikes with flywheels, that [recover kinetic energy](https://www.youtube.com/watch?v=MBW_2gUSMXc). Such systems are already available on the market, that tends to think ahead of the time, so you don’t have to DIY.
# System description
The dynamics of the system, that tries to optimize the mining efficiency has to take into account the following inputs and goals. Some of them are obvious while others maybe not so much.
- Static astronomic data, that describe the relative movement of the Sun across the sky in various latitudes and times of year - yielding the maximal expected power that can be reached
- Weather predictions - a cloudy sky can reduce the power output by more than 80%
- If the predicted power generation is off the measured generation, a warning might be issued to clean the panels
- Voltage (load state) of the batteries, as well as voltage that reaches the DC->AC transformer, as some of it might be lost in the cables, that are either too long or have accidentally formed an inductor
- Predicted load state of the batteries on the next day before the Sun rises and the charging starts, as emptying the chemical batteries below 50% tends to damage them
- Mining rigs' temperature readouts as it's not worth to meltdown your hardware for those couple of Piconeros being mined.
- A given computer's hashrate per Watt - use the most efficient ones first, but don't overheat them
- A given computer's idle power cost - sometimes it will make sense to switch on certain less efficient computers only if there's really way too much power production, and/or the most efficient ones overheat, or it's predicted that they'd overheat soon under the, also predicted, future conditions.
- Per core efficiency compared against multithreaded efficiency - for CPUs with smaller caches, the efficiency (in this case: hashrate) scales poorly with more threads working at the same time. In such cases it will make sense to spread the mining across longer periods of time on a single core.
- The owners' power usage habits - taking into account, that you might want to use a low powered, compatible electric heating system at a given time of day, by leaving some energy in the batteries for you to consume, before the predicted event – learned either from your usage habits, or from your manually scheduled input.
- The owners' setup – whether an isolated solar island is used, output connected to grid (for selling) or supplementing power losses from the grid (buying) or both of the last 2 options.
The control mechanisms of the system would be the following:
- Downclocking the CPUs - very easy to achieve under Linux with a high precision, thus allowing for a smooth control
- Restarting the mining with a smaller number of cores
- Putting computers to sleep and waking them up with Wake On LAN on the next day
While it would be easy enough to control the system via PID controller, and I know a lot about it, such a system would have little prediction power, delivered only by the first differential part of the controller (the D) and only between the current and the previous state. Using a Time Series Analysis and Prediction tool, such as the already available `tsqsim`, will give the system the ability to look ahead into the future (like at least 48 hours ahead) and plan accordingly to maximize the gain per the unit of energy used, while at the same time planning carefully against overheat of the hardware, under-voltage of the DC->AC transformer, leading to an immediate halt of the system, as well as against under-voltage (as in: capacity) of the batteries, which would otherwise quickly damage them.
The inputs to the system will come in a few forms – either assumed, input by the user or measured. The measurements can be easily supplied via smart plugs or measured directly. Ultimately it has to be left to the user to decide how much time to spend on providing additional inputs, that result in improvements of predictions, thus profitability. The goal here is however to keep the measurements optional, not to impose burden on the user.
# Who
mj – working for Monero since 2 years on the purely technical level. Speeding up compilation and Continuous Integration on GitHub, keeping an eye on overall efficiency, generating [Monero health report](http://cryptog.hopto.org/monero/health/), reviewing technical PRs, helping out new developers. Lately developing Time Series Analysis tool for Monero Research Lab, called `tsqsim`. [Here’s a list](https://github.com/search?q=is%3Apr+author%3Amj-xmr+archived%3Afalse+is%3Aclosed) of all my contributions to Monero and to the supporting software.
Endor – Aerospace Engineering student and a junior Python developer on the side. I already have a few small projects under my belt - one of which related to automation and monitoring of a live system. I've been following the Monero project for over 5 years, learning the ins and outs of cryptocurrency mining and moderating the Supportxmr chat and the Monero Mining room on Matrix (#xmrmine:matrix.org). I am currently developing a comprehensive economic model of mining, and I plan to publish a small paper/series of articles over the next few weeks that will (hopefully) serve as "the ultimate guide to mining" for newcomers and professionals alike. A glimpse into my work can be seen in [this minimalistic script](https://gist.github.com/endorxmr/07364dc54f277abf487574d455d67341), that dynamically calcylates the CPUs mining profitability and compares it across various other CPUs. An example output (though shortened) can be seen below:
```
python3 mining-profitability.py
Difficulty: 354634073114
Average blocktime @6500 H/s: 631 days, 11:18:08
Price: 201.98 - XXMRZUSD
Expected crypto income/s: 1.236e-08
Expected fiat income/s: 2.496e-06
Profitability: 38.2%
Miner efficiency: 100.0 H/s/W
ROI time: 12577.0 days to recover 750 USD
Breakeven efficiency @0.1/kWh: 72.3 H/s/W
Network power consumption @0.1/kWh: 40849693 W
+--------+--------+-------+--------+
| Period | Profit | Mined | Power |
+========+========+=======+========+
| Day | 0.060 | 0.001 | 0.156 |
| Week | 0.417 | 0.007 | 1.092 |
| Month | 1.789 | 0.032 | 4.680 |
| Year | 21.770 | 0.390 | 56.940 |
+--------+--------+-------+--------+
+-------------------------------+--------+-------+------------+--------+
| CPU | Speed | Power | Efficiency | Amount |
+===============================+========+=======+============+========+
| AMD EPYC 7763 (dual) | 100000 | 750 | 133.333 | 54467 |
| AMD Ryzen Threadripper 3990X | 65000 | 600 | 108.333 | 68083 |
| AMD Ryzen 3600X | 7500 | 70 | 107.143 | 583568 |
| Intel Xeon Silver 4216 (dual) | 16157 | 312 | 51.785 | 130929 |
| Intel Core i7-4720HQ | 1768 | 45 | 39.289 | 907771 |
+-------------------------------+--------+-------+------------+--------+
```
# Milestones
## 1 Initial setup
The initial setup, that is able to use static astronomic data inputs (let’s call it by its name used in the industry: seasonality) and simple weather forecasts (sunny/cloudy/in-between) to make predictions based mostly on user input as to how much power a given computer and its cores consume, taking into account how much power is expected to be consumed in house for other purposes, that have to be treated as of a higher priority. Initially a status message will be displayed about what to do manually to maximize the selected goals. Plots of the inputs and outputs will be displayed, that explain why such a suggestion was presented.
Will be done mostly by mj, since Endor shouldn’t be strained with too many foreign systems, only receive the system’s output signals. This will require about 2 weeks of work full time, that makes:
- 6 (Monday-Saturday) * 2 (weeks) * 8 (hours) = 96 work hours
- 96 work hours / 10h in a week = 9.6 weeks spread.
## 2 Profitability calculator
Profitability calculator, taking into account the power costs, grid’s buy-back prices (if available) and user’s price target, at which to sell the mined coins. Also a very important input will be the time-bound energy availability, delivered through the system from the Milestone 1
This milestone will be done mostly by Endor, due to his experience in the field. I will only support via tips such as obtaining user input and code reviews, design suggestions, etc. I won’t count my pay on this one. This can be started before milestone 1) is finished, on a basis of simple generated sinusoidal signals, that will soon enough be replaced with real data.
Endor’s:
- 6 (Monday-Saturday) * 3 (weeks) * 8 (hours) = 144 work hours
- 144 work hours / 15h in a week = 9.6 weeks spread.
## 3 Measurements
3) Support for various kinds of measurements – smart plugs, digital converters, software temperature readouts and even simple image recognition of LCD/LED displays of the DC→AC transformer and MPPT regulator.
Both of us have experience in various parts here and wish to take equal part in this milestone. I’ll create up to two examples of image recognition.
mj’s:
- 6 (Monday-Saturday) * 2 (weeks) * 8 (hours) = 96 work hours
- 96 work hours / 10h in a week = 9.6 weeks spread.
Endor’s:
- 6 (Monday-Saturday) * 3 (weeks) * 8 (hours) = 144 work hours
- 144 work hours / 15h in a week = 9.6 weeks spread.
## 4 Automation
Automation of the system, including remote CPU downclocking, selecting the number of threads, putting computers to sleep, and waking them up via the Wake On LAN technology. We will be promoting privacy oriented and non-controversial software, namely: [p2pool](https://github.com/SChernykh/p2pool) and [xmrig](https://github.com/xmrig/xmrig), accordingly.
Same as above, both of us have experience and ideas here. I already perform such tasks manually (via scripts) on my solar farm, so I know “the feel” of the system. Endor has many great ideas and a lot of expertise for this milestone as well, as this resonates with his prior experience with mining profitability and a variety of mining software + hardware.
mj’s:
- 6 (Monday-Saturday) * 2 (weeks) * 8 (hours) = 96 work hours
- 96 work hours / 10h in a week = 9.6 weeks spread.
Endor’s:
- 6 (Monday-Saturday) * 3 (weeks) * 8 (hours) = 144 work hours
- 144 work hours / 15h in a week = 9.6 weeks spread.
# Legal & privacy
The project shall be released under AGPLv3. It will send no telemetry by default, unless the user wishes to have their data uploaded and analyzed. The data will surely serve as a stabilization asset of the project and will be included in the automated system tests as one of many test cases. The complete data set to be sent will always be shown to the user for a review and approval.
As I’m familiar with the EU laws regarding solar panels a bit, I will be providing the users non-legally-binding relevant advice.
Even though I’m not strictly an electrical engineer, I know enough tricks in this field and I understand many nuances about the inner workings of such systems. I know what hardware are compatible with each other and how to calculate the supply and demand of the produced power. Therefore I can provide advice in this field as well, yet again: non-legally-binding.
# Proposal
As of 12 April, XMR/EUR is at 214.92 EUR.
## mj:
I will be able to spend about 10 hours / week on the project. An amount so low, that it doesn’t collide with my maintenance assignment, nor Monero Research Laboratory, once I switch there for a while. My rate per hour is 45 EUR. The total number of work hours is: 96 + 96 + 96 = 288.
288 [h] * 45 [EUR/h] / 214.92 [XMR/EUR] = 60.3 XMR
## Endor:
I will be able to spend about 15 hours / week on the project. My rate in my first ever proposal is at 25 EUR / h. The total number of work hours is: 144 + 144 + 144 = 432.
432 [h] * 25 [EUR] / 214.92 [XMR/EUR] = 50.25 XMR
Since in this case we are really talking about seasonal data, that doesn’t require a lot of readjustments, further maintenance will not be a burden for any of us. Unless many new features are requested, we will gladly maintain it for you without asking for compensation.
## Summary:
60.3 + 50.25 = 110.55 XMR is what we're asking for. Thanks in advance!
## Deadline calculation
A rough deadline calculation based on the spread of the hours and including the tasks that can be done in parallel:
9.6 [weeks] * 3 / 4.1 [weeks in a month] ~ 7 months.
This coincides with the promise to finalize the project until winter if all goes well with Endor’s plan. If not, I can take over most of the responsibilities, as there are always ~1-1.5 month breaks between my maintenance proposals.
Cheers!
# Expiration date
31 Oct, 2022
---
layout: cp
title: Robust and modular wallet-rpc library
date: Sep 10, 2024
author: Spirobel
amount: 100
milestones:
- name: Deved + prepayment for first month
funds: 20 XMR
done: 9 October 2024
status: finished
- name: First month
funds: 30 XMR
done: 23 December 2024
status: finished
- name: Second month + value commitment
funds: 50 XMR
done: 19 February 2025
status: finished
payouts:
- date: 16 October 2024
amount: 20
- date: 28 February 2025
amount: 80
---
# Robust and modular wallet-rpc library
## Who
**Spirobel**
References:
#### found and reported a "pay what you want" vulnerability in AcceptXMR
https://x.com/spirobel/status/1672479215512588288
https://github.com/busyboredom/acceptxmr/issues/64
#### open sourced a Patreon like tool for Monero
https://x.com/spirobel/status/1595949928634667008
https://github.com/spirobel/monero-discourse-subscriptions
#### open sourced a merchant focused wallet-rpc
https://x.com/spirobel/status/1596299822516285440
https://github.com/spirobel/monerochan-merchant-rpc
#### implemented a Monero Browser wallet extension
https://www.youtube.com/watch?app=desktop&v=4DLcsQ45zoE
Contact: twitter.com/spirobel
## What
Result: A robust and modular wallet-rpc library, implemented in Rust with WebAssembly (WASM) as the primary target. This library aims to provide a flexible foundation for Monero wallet functionality. The deliverable for this proposal will be:
1. the first part of the wallet-rpc library that can sync transactions and works reliably with remote nodes.
2. A checkout flow built with this library. This is meant to be used, not just to demonstrate the features.
3. Detailed documentation for the library, the relationship between nodes and wallets during the syncing process and a guide on how to use this to implement monero payment gateways.
### Implementation
list of initial tasks:
- create function to turn address and private viewkey into viewpair
- create function to scan transaction with sub functions
- verify that there is no timelock present
- calculate transaction amount
- clarify responsibility of burning bug prevention for the caller
- implement transaction fetching and storage
- implement burning bug prevention in the checkout flow
- write unit tests, document and publish the library
- implement UI for the checkout flow
this task list is not exhaustive and subject to change
## Why
As discussed as far back as two years ago: https://github.com/seraphis-migration/strategy/issues/2
The wallet2 Monero library is a 15k lines CPP file. The official monero repo does not contain a deliverable that is easily linkable from other programs. Every project that is a wallet or contains wallet-like functionality (payment processors, hardware wallets, point of sale terminals) needs to implement its own wrapper to expose a C ABI.
This results in collectively wasted hours and headaches. It increases supply chain risk and makes building things with Monero harder. As a result, projects get more expensive, take longer or don't happen at all.
This library aims to counteract the issues and limitations of wallet2.cpp by directly targeting wasm.
Using wasm as the main target means that this library is forced to be implemented in a way that meets the expectations outlined here: https://github.com/seraphis-migration/strategy/issues/1
The benefits of this approach:
### 1. It will be easily linkable
WASM is a very constrained target. There is no garbage collection and multi threading. Getting code to run there means having to write it in a way that is easy to interact with from any language and in any environment.
### 2. It will be more robust
The current monero wallet-rpc is at times unresponsive, because its concurrency mixes the responses of the local rpc with the network interacting with the node. More details in the [monero-playground repository](https://github.com/spirobel/monero-playground). The WASM target constraints ensure that this library decouples the concurrency and networking from the wallet code. The result will be more robust.
### 3. It will be more flexible and not tied to any platform / target
Wallet code deals with the most sensitive data. It should not have unnecessary dependencies or bloat. To give a practical example: monero currently vendors a 4000 lines of code [logging library](https://github.com/monero-project/monero/blob/master/external/easylogging%2B%2B/easylogging%2B%2B.cc) that introduces a dependency on signals. The WASM target constraint means that things like that can't and wont be introduced into this library.
## Milestones and Timeline
value commitment:
The 3 deliverables outlined in the **What** section are the promised outcome of this proposal. Any time left over from the time commitment will be used to further advance the road map. The value commitment is due for the milestone of the second month.
time commitment:
- 100 hours per month for two months (100 hours total)
- Compensation: 50 XMR per month (100 XMR total)
- Total compensation: 100 XMR
## Future Roadmap
The next step on the road map is to add transaction building and signing functionality to the library and migrate [the browser wallet](https://www.youtube.com/watch?v=4DLcsQ45zoE) to it.
My endgame is to **remove all friction from the privacy enabled web shopping experience**. Currently most **Monero shoppers** have to copy and paste addresses from the tor browser into their wallets. This opens the door to unnecessary opsec failures, as it is easy to get confused and intimidated by long strings of random numbers.
**A core part of staying private and safe online is to compartmentalize identities.** Qubes OS made some advancements in improving the UX of this activity by coloring different windows that are tied to different identities in a unique way.
The reality is, that installing a different operating system is a large ask for the average person. At the same time we need to onboard as many people as possible to these habits, so we can operate safely in the crowd.
The other venue of attack is **using the browser for compartimentalization.** And before anybody complains: no this does not involve untrusted javascript frontend code.
There is a big difference between a browser wallet and web wallet. A web wallet is a flawed experiment that is borderline custodial, as it runs wallet code inside the context of a website. This is not to be confused with a browser wallet.
**A browser wallet runs trusted code as a compartmentalized, constrained program inside of a sandbox.**
There is a massive opportunity here to reduce friction by making it easy to separate online identities. The TOR browser currently enables the use of one separate TOR circuit for each tab. **Imagine we have one monero address per tab that is used for login and to send and receive payments.** It makes it much harder to mess up.
One last concern that comes up is that there might be zero day exploits in the browser, as it exposes a potentially larger attack surface. This can be mitigated by making the wallet a multisignature wallet and **using a second device like an android phone or a monero seedsigner to authorize every transaction.**
This means two devices need to be compromised to capture funds, which is unlikely.
---
layout: ideas
layout: cp
title: Translation and review of GUI Wallet, monero-site, Monero Means Money (subtitles) and Sound Money, Safe Mode (subtitles) to Italian.
author: staff91
date: November 18, 2020
......@@ -20,7 +20,11 @@ payouts:
amount:
---
# Proposal put on hold pending investigation
## Proposal Closure
The remaining funds (28 XMR) have been donated to the General Fund.
---
# About this Proposal
......
---
layout: wip
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
---
layout: wip
layout: cp
title: "tipxmr.live - a non-custodial livestream donation service for OBS"
author: AlexAnarcho and hundehausen
date: September 16, 2020
......@@ -7,25 +7,47 @@ amount: 72
milestones:
- name: Milestone 1 - Basic setup of webpack with monero javascript and react
funds: 2% (1.44 XMR)
done:
status: unfinished
done: 17 March 2022
status: completed
- name: Milestone 2 - Working Prototype with implemented WASM wallet and front-end mockups
funds: 48% (34.56 XMR)
done:
status: unfinished
done: 21 December 2024
status: completed
- name: Milestone 3 - Finished product and launch of serivce
funds: 50% (36 XMR)
done:
status: unfinished
done: 21 December 2024
status: completed
payouts:
- date:
amount:
- date:
amount:
- date:
amount:
- date: 17 March 2022
amount: 1.44
- date: 12 February 2025
amount: 70.56
---
## Proposal deprecation / Repurposing of funds (21st Dec, 2024)
AlexAnarcho and hundehausen shared a [candid update](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/524#note_27732) regarding progress of TipXMR. Exerpt below:
>We were young and naive and thought "how hard can it be to code this up" - harder than we thought it turned out.
>
>We had very high standards, trying to use WASM wallets on the client-side where no info is leaked to the hoster of the TipXMR service, but this lead to a high barrier - which in turn lead to us never shipping anything
>
>[...]
>
>We are okay to deprecate the TipXMR CCS proposal and pass our collected funds on to this XMRChat proposal.
The remaining funds from:
* Milestone 2 - Working Prototype with implemented WASM wallet and front-end mockups (34.56XMR)
* Milestone 3 - Finished product and launch of serivce (36XMR)
Will be rewarded to https://xmrchat.com/ - [source](https://github.com/sa8ab/xmrchat)
Who instead of implementing a WASM wallet to not share view keys with the service host have performed the following tasks deemed to be of the same value/importance:
* Integrated monero-lws to handle multiple streamer view-keys.
* extra misc. features such as a personal donation page with comments attatched.
# CCS Proposal: tipxmr.live - a non-custodial livestream donation service for OBS
......
---
layout: cp
title: "tobtoht full-time feather + core development (3 months)"
author: tobtoht
date: 1 Jan 2024
amount: 170
milestones:
- name: 240 hours
funds: 50% (85)
done: 14 March 2024
status: finished
- name: 240 hours
funds: 50% (85)
done: 20 August 2024
status: finished
payouts:
- date: 9 April 2024
amount: 85
- date: 4 September 2024
amount: 85
---
### What
- work on issues/ideas reported by users
- work on tasks listed on the [ideas](https://featherwallet.org/ideas/) page and [MAINTENANCE.md](https://github.com/feather-wallet/feather/blob/master/MAINTENANCE.md)
- upstream useful patches to monero core
- test and review pull requests (GUI/core)
- help out where I can
My primary focus for Q1 2024 is practical multisig UX.
### Who
Hi, I'm tobtoht. I am an active contributor to the Monero ecosystem since April 2018. Currently, I maintain Feather Wallet and contribute to the core codebase.
Previous CCS: https://ccs.getmonero.org/proposals/tobtoht-feather-dev-2023-3.html
### Proposal
Work for 480 hours at a rate of €45/h + 0.05 XMR/h. At €148 / XMR (14 day EMA) this makes 170 XMR.
---
layout: cp
title: "tobtoht full-time feather + core development (3 months)"
author: tobtoht
date: 20 Aug 2024
amount: 179
milestones:
- name: 240 hours
funds: 50% (89.5)
done: 8 Octoboer 2024
status: finished
- name: 240 hours
funds: 50% (89.5)
done: 20 December 2024
status: finished
payouts:
- date: 15 October 2024
amount: 89.5
- date: 13 January 2025
amount: 89.5
---
### What
- work on issues/ideas reported by users
- [maintain](https://github.com/feather-wallet/feather/blob/master/MAINTENANCE.md) and [improve](https://featherwallet.org/ideas/) feather
- upstream useful patches to monero core
- test and review pull requests (GUI/core)
- help out where I can
My primary focus for this period will be [reproducible/bootstrappable fcmp++ builds](https://github.com/monero-project/monero/pull/9440) (core) and finishing work on [multisig support](https://github.com/feather-wallet/feather/commit/f944b6e6f78a29abe910b8f1d5d88b7c783553d6) (feather).
### Who
Hi, I'm tobtoht. I am an active contributor to the Monero ecosystem since April 2018. Currently, I maintain Feather Wallet and contribute to the core codebase.
Previous CCS: https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/428
### Proposal
Work for 480 hours at a rate of €45/h + 0.05 XMR/h. At €139 / XMR (14 day EMA) this makes 179 XMR.
\ No newline at end of file
---
layout: wip
title: "tobtoht full-time feather + core development (3 months)"
author: tobtoht
date: December 20, 2024
amount: 150
milestones:
- name: 240 hours
funds: 50% (75)
done: 2 February 2025
status: finished
- name: 240 hours
funds: 50% (75)
done:
status: unfinished
payouts:
- date: 24 February 2025
amount: 75
- date:
amount:
---
### What
- work on issues/ideas reported by users
- [maintain](https://github.com/feather-wallet/feather/blob/master/MAINTENANCE.md) and [improve](https://featherwallet.org/ideas/) feather
- [help maintain](https://github.com/monero-project/monero/pulls?q=is%3Apr+label%3A%22build+system%22+author%3Atobtoht) monero core's build system and CI
- test and review pull requests (GUI/core)
- upstream useful patches to monero core
- help out where I can
I want to start off the year by clearing out a good chunk of the small-to-medium size issue/feature backlog for Feather. At the same time, making sure [pending build system PRs](https://github.com/monero-project/monero/issues/9631) for Monero core get reviewed and merged, particularly everything we need for FCMP++.
After that, I want to continue efforts to add multisig support to Feather by evaluating kaya's FROST-inspired multisig implementation as a more robust replacement for wallet2's implementation. A related [audit](https://ccs.getmonero.org/proposals/monero-serai-wallet-audit.html) is expected to conclude in March.
### Who
Hi, I'm tobtoht. I am an active contributor to the Monero ecosystem since April 2018. Currently, I maintain Feather Wallet and contribute to the core codebase.
Previous CCS: https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/492
### Proposal
Work for 480 hours at a rate of €50/h + 0.05 XMR/h. At €190 / XMR (14 day EMA) this makes 150 XMR.
---
layout: cp
title: "Continued Feather Wallet development (3 months)"
author: tobtoht
date: 12 May 2021
amount: 91.5
milestones:
- name: First month
funds: 33% (30.5 XMR)
done: 16 June 2021
status: finished
- name: Second month
funds: 33% (30.5 XMR)
done: 11 July 2021
status: finished
- name: Third month
funds: 33% (30.5 XMR)
done: 30 October 2021
status: finished
payouts:
- date: 21 June 2021
amount: 30.5
- date: 11 July 2021
amount: 30.5
- date: 1 November 2021
amount: 30.5
---
### What
This CCS proposal is for 3 months of full time Feather Wallet development.
The goal for this proposal is to get Feather out of Beta and release the 1.0 version.
### Background
See the previous [CCS proposal](https://ccs.getmonero.org/proposals/tobtoht_feather_dev_q1_2021.html).
### What I want to work on
To ensure the first major release is as stable, robust, and reliable as possible I will be mainly focussing my efforts on polishing the existing feature set (and extending it where needed).
- Fix bugs and issues as they arrise
- Further improve the UI/UX (layout, actionable error messages, etc)
- Improve documentation and user guides
- Add more compile flags for minimal/alternative builds: (no-Tor, no-Websocket, etc)
- Refactor parts of the codebase
- Allow compiling on more architectures
- Extensive QA testing on all supported platforms
- Commission a redesigned logo
- Upstream changes to libwalletqt / wallet_api
- Improve the setup procedure (Windows installer, Debian package on PPA, mac DMG)
- More advanced coin control: manual input selection and individual output labeling
- Extend hardware wallet support to include Trezor devices
- Allow opening multiple wallets at once
Once the is more clarity surrounding Triptych-compatible multisig (see [1](https://repo.getmonero.org/monero-project/ccs-proposals/-/blob/master/cypherstack-sarang-triptych-research.md), [2](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/225#note_10903)) I will continue working on integrating multisig into Feather.
As always I will rely heavily on user feedback to determine where to put my focus.
### Who
Hi, I'm tobtoht. Creator of xmrguide and maintainer of Feather Wallet.
I have been an active contributor to the Monero ecosystem since April 2018.
Some of the things I have worked on are:
- Created and maintained guides to set up Monero on Tails and Whonix ([xmrguide](http://xmrguide42y34onq.onion/), [reddit](https://old.reddit.com/r/Monero/comments/h8pbc2/))
- Made miscellaneous contributors to the GUI (most notably Tails support)
- Maintained a [list](http://xmrguide42y34onq.onion/remote_nodes) of .onion remote nodes with their status
- Co-created Feather Wallet with dsc
### Proposal
40 hours per week at 45 USD/hour for 3 months (mid May to mid August) for a total of 91.5 XMR. At a rate of $236/XMR.
Progress will be reported in #feather on OFTC. Monthly updates will be posted to /r/FeatherWallet in the form on release changelogs.
Feedback and comments are welcome.
**To donators**: In the week since I made this proposal there has been some very significant volatility, making it difficult to establish a "fair" XMR/USD price. As such I had to adjust the quoted price down several times because the difference had grown larger than my risk tolerance. I have currently settled on ${current_price} + 20%, in the expectation that the price will recover a bit after such a steep decline.
To ensure I can sustain myself in the coming months AND the community gets its money's worth, I will extend the time spent on this proposal in case there is significant price appreciation over the next three months, like I did with my previous CCS (1.5 months overtime).
---
layout: cp
title: "Continued Feather Wallet development (3 months)"
author: tobtoht
date: 1 Nov 2021
amount: 93
milestones:
- name: First month
funds: 33% (31 XMR)
done: 8 July 2022
status: finished
- name: Second month
funds: 33% (31 XMR)
done: 8 July 2022
status: finished
- name: Third month
funds: 33% (31 XMR)
done: 8 July 2022
status: finished
payouts:
- date: 16 July 2022
amount: 93
---
### What
This CCS proposal is for 3 months of full time Feather Wallet development.
Non-exhaustive list of things I want to work on / towards or experiment with:
- Prepare for next network upgrade
- Translations
- Persistent payment requests
- Recurring payments
- Reproducibe macOS builds
- More transaction types (e.g. multi-destination transactions with manual input selection)
- Improved wallet_api thread safety
- Move to Qt6
- Improving UI and documentation
- Fix bugs and issues as they arrise
I'll also:
- Work on upstreaming patches to core
- Help review pull requests on core / GUI where needed
As always I will rely heavily on user feedback to determine where to put my focus.
### Who
Hi, I'm tobtoht. Creator of xmrguide and maintainer of Feather Wallet.
I have been an active contributor to the Monero ecosystem since April 2018.
Some of the things I have worked on are:
- Worked on Feather Wallet full-time for ~1.5 years
- Created and maintained guides to set up Monero on Tails and Whonix ([xmrguide](https://xmrguide.org), [reddit](https://old.reddit.com/r/Monero/comments/h8pbc2/))
- Made miscellaneous contributors to the GUI (most notably Tails support)
- Maintained a [list](http://xmrguide.org/remote_nodes) of .onion remote nodes with their status
### Proposal
Work 40 hours per week over the next 3 months (Nov, Dec, Jan) at a rate of 45 EUR/hour. At €232 / XMR (14 day EMA) this makes 93 XMR.
Progress will be reported in #feather on OFTC. Updates will be posted to /r/FeatherWallet in the form on release changelogs.
---
layout: cp
title: "Continued Feather Wallet development (3 months)"
author: tobtoht
date: 20 Jul 2022
amount: 162
milestones:
- name: First month
funds: 33% (54 XMR)
done: 9 January 2023
status: finished
- name: Second month
funds: 33% (54 XMR)
done: 9 January 2023
status: finished
- name: Third month
funds: 33% (54 XMR)
done: 13 Februrary 2023
status: finished
payouts:
- date: 9 January 2023
amount: 108
- date: 16 February 2023
amount: 54
---
### What
This CCS proposal is for 3 months of full time Feather Wallet development.
Non-exhaustive list of things I want to work on/towards or experiment with:
- Bootstrappable builds
- Leverage [Guix](https://github.com/bitcoin/bitcoin/tree/master/contrib/guix) to produce cross-compiled, reproducible, [bootstrappable](https://bootstrappable.org/) builds for all target platforms and operating systems. Most of the work for this is already [done](https://github.com/feather-wallet/feather/pull/20). This has the added benefit of greatly speeding up release engineering, allowing for quicker release cycles.
- Offline transaction signing using animated QR codes
- Export/import outputs, key images and transactions using animated QR Codes based on Blockchain Common's [Uniform Resources](https://github.com/BlockchainCommons/bc-ur).
- Work with the [Keystone](https://keyst.one/) team to add support for Monero and integrate with Feather.
- Multi-node syncing (experiment)
- Syncing a month worth of blocks now requires more than 300 MB of data. Wallet synchronization (when connected to a remote node) is often limited by one of two things: your download speed or a node's upload speed (for mobile devices your CPU might play a role too). Multi-node syncing will experimentally determine the fastest nodes from your node list and automatically gather blocks from the highest performing nodes to utilize as much of your available bandwidth as possible. If you are on a fast internet connection this can result in dramatically faster syncing.
- Allow skipping synchronization
- POV: You just opened your wallet on Tails after leaving it unopened for 3 months. You proceed to wait an hour or more for your wallet to synchronize knowing that there has been no activity. An advanced option to skip synchronization will eliminate the wait and allow you to send transactions almost immediately.
- Improve Tor support and add support for more anonymity networks
- Add support for Tor bridges and stream isolation
- Switch the Tor client implementation to [Arti](https://blog.torproject.org/announcing-arti/) (when it is ready)
- Remove the hard dependency on Tor and allow Feather to be used without anonymity networks
- Modularize the anonymity network code to make it possible to integrate other networks like I2P and [Nym](https://github.com/nymtech/nym).
- Mining interface overhaul (+ P2Pool support)
- The Mining tab is a bit crude. Mining is [not trivial](https://docs.featherwallet.org/guides/mining-setup) to set-up for new users, and it lacks configurability for advanced users. It's currently not possible to mine without having a wallet open. I want to move the Mining tab to a utility that can be accessed via the taskbar icon. Users should be able to quickly setup P2Pool, solo and pool mining. Feather will be able to run in the background and allow users configure scheduled mining, as well as provide a dashboard where users can check their mining stats and make changes to the configuration.
- Improve packaging for Linux distributions
- Make Feather available as a Flatpak, Debian package, and maintain a working -bin package on the AUR. I also want to work on documentation that will help maintainers package Feather for their distribution.
- Support more ways of spending Monero
- The libwallet interface lacks support for various advanced ways of spending Monero. The current Feather release added manual input selection. More is still desired, such as multi-destination sweeps or spends with an alternative change address.
- Improved documenatation
- I'm already quite happy with the [documentation](https://docs.featherwallet.org/) in it's current state, but there is still room for improvement. A search feature is lacking and some parts could be improved with screenshots. Other parts can be rewritten to improve clarity and a glossary would be a welcome addition. I also want to add a section that goes in depth about threat-modeling to help users make more informed decisions about how they should use and configure the program to address their specific privacy or security concerns.
- Fix bugs and issues as they arise
I'll also work on reviewing contributions to CLI / GUI where I can and work on upstreaming patches to core.
As always I will heavily prioritize user feedback when deciding what to focus on.
### Who
Hi, I'm tobtoht. I am an active contributor to the Monero ecosystem since April 2018. Currently, I maintain Feather Wallet and contribute to the core codebase.
Previous CCS proposals:
- https://ccs.getmonero.org/proposals/tobtoht-feather-dev-2021-3.html
- https://ccs.getmonero.org/proposals/tobtoht-feather-dev-2021-2.html
- https://ccs.getmonero.org/proposals/tobtoht_feather_dev_q1_2021.html
- https://ccs.getmonero.org/proposals/feather-2020.html
### Proposal
Work 40 hours per week over the next 3 months at a rate of €45 / hour. At €133 / XMR (14 day EMA) this makes 162 XMR.
---
layout: cp
title: "Continued Feather Wallet development (3 months)"
author: tobtoht
date: 15 Feb 2022
amount: 142
milestones:
- name: First month
funds: 33% (47 XMR)
done: 17 April 2023
status: finished
- name: Second month
funds: 33% (47 XMR)
done: 5 June 2023
status: finished
- name: Third month
funds: 33% (48 XMR)
done: 20 July 2023
status: finished
payouts:
- date: 10 May 2023
amount: 47
- date: 9 June 2023
amount: 47
- date: 26 July 2023
amount: 48
---
This proposal is for 3 months of full time Feather Wallet development.
### What
- work on issues/ideas reported by users
- work on tasks listed on the [ideas](https://featherwallet.org/ideas/) page
- upstream useful patches to monero core
- test and review pull requests (GUI/core)
- help out where I can
As always, I heavily prioritize user feedback when deciding what to focus on.
### Who
Hi, I'm tobtoht. I am an active contributor to the Monero ecosystem since April 2018. Currently, I maintain Feather Wallet and contribute to the core codebase.
Previous CCS: https://ccs.getmonero.org/proposals/tobtoht-feather-dev-2022-1.html
Progress updates are posted to #feather:monero.social and /r/FeatherWallet.
### Proposal:
Work for 40 hours per week for the next 3 months at a rate of €45/h. At €152 / XMR (14 day EMA) this makes 142 XMR.
---
layout: cp
title: "Continued Feather Wallet development (3 months)"
author: tobtoht
date: 20 Jul 2023
amount: 146
milestones:
- name: First month
funds: 33% (48.6 XMR)
done: 19 October 2023
status: finished
- name: Second month
funds: 33% (48.6 XMR)
done: 9 December 2023
status: finished
- name: Third month
funds: 33% (48.7 XMR)
done: 2 January 2024
status: finished
payouts:
- date: 5 November 2023
amount: 48.6
- date: 5 January 2024
amount: 97.3
---
This proposal is for 3 months of full time Feather Wallet development.
### What
- work on issues/ideas reported by users
- work on tasks listed on the [ideas](https://featherwallet.org/ideas/) page and [MAINTENANCE.md](https://github.com/feather-wallet/feather/blob/master/MAINTENANCE.md)
- upstream useful patches to monero core
- test and review pull requests (GUI/core)
- help out where I can
As always, I heavily prioritize user feedback when deciding what to focus on.
### Who
Hi, I'm tobtoht. I am an active contributor to the Monero ecosystem since April 2018. Currently, I maintain Feather Wallet and contribute to the core codebase.
Previous CCS: https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/376
Progress updates are posted to #feather:monero.social and /r/FeatherWallet.
### Proposal:
Work for 40 hours per week for the next 3 months at a rate of €45/h. At €148 / XMR (14 day EMA) this makes 146 XMR.
---
layout: cp
title: "Continued Feather Wallet development (Q1 2021)"
author: tobtoht
date: 4 January 2021
amount: 150
milestones:
- name: First month
funds: 33% (50 XMR)
done: 8 February 2021
status: finished
- name: Second month
funds: 33% (50 XMR)
done: 24 March 2021
status: finished
- name: Third month
funds: 33% (50 XMR)
done: 5 May 2021
status: finished
payouts:
- date: 11 February 2021
amount: 50
- date: 24 March 2021
amount: 42.5
- date: 29 March 2021
amount: 15
- date: 6 May 2021
amount: 42.5
---
### What
This CCS proposal is for 3 months of full time Feather Wallet development.
The goal of this proposal is to:
- Reach feature-parity with the GUI (this mostly concerns hardware wallet support)
- Further advance the Monero desktop wallet space by implementing new (and experimental) features.
### Background
- Feather was [announced](https://old.reddit.com/r/Monero/comments/idujx0/feather_free_opensource_monero_desktop_wallet/) on Aug 21 2020.
- A CCS [proposal](https://ccs.getmonero.org/proposals/feather-2020.html) funding the initial stages of development was accepted on September 1.
- The first alpha builds became [available](https://old.reddit.com/r/Monero/comments/j8kn8e/feather_a_brand_new_monero_gui_desktop_wallet/) on Oct 10.
- During the alpha time was spent on:
- Troubleshooting teething problems
- Bugfixes and performance improvements
- Getting the websites and build infrastructure up and running
- The first beta builds were [announced](https://old.reddit.com/r/FeatherWallet/comments/kdmj3b/feather_beta2_released/) on Dec 15.
- The beta introduced signed release binaries.
- The focus for the beta was to fix the remaining UI/UX issues before adding new features. This is now mostly complete.
- A total of 211 pull requests (171 made by me) were submitted to the repository since the alpha release.
- Some features that were added between the previous CCS proposal and now are: Windows support, view-only wallets, offline transaction signing, advanced transaction overview ([image](https://featherwallet.org/theme/img/feather_send_advanced.png)), transaction rebroadcasting, XMRig integration and reproducible Linux builds. Reproducible builds are mostly thanks to work done by Xiphon on the GUI.
### What I want to work on
- Hardware wallet support (most requested feature, so this is definitely happening now)
- More exchange integrations (among which LocalMonero)
- More advanced coin control features: manual input selection and individual output labeling
- An in-wallet troubleshooting wizard that detects and suggests fixes for common issues ([example](https://git.wownero.com/feather/feather/issues/144))
- Easy to use 2/2, 2/3 multisig (work on the message transportation layer and UI/UX design can commence before it is clear what changes Triptych/Arcturus will bring to multisig)
- Qr scanner (scan addresses with laptop camera/webcam)
- Multi destination transactions
- Debian package
- Sync over clearnet, construct & broadcast transactions over Tor
- Approach the Tails team to discuss potential inclusion of Feather Wallet by default
- Further UI/UX improvements (including more actionable error messages, better UI feedback)
- Upstreaming of changes to libwalletqt / wallet_api
- (Separate from Feather): Monero Daemon as a system service ([more info](https://git.wownero.com/feather/feather-meta/issues/3))
This is a non-exhaustive list of some of the things I want to work on during the proposal.
I expect the majority of the items on this list to be completed at the end of the 3-month period (with the exception of multisig, which will likely take longer).
As always I will rely heavily on user feedback to determine where to put my focus.
### Why contribute to Feather development?
- It is an excellent testing grounds for features that may later be implemented in the official GUI (14 word seeds, coin control, multisig, etc)
- There is more room to experiment with UI/UX and features and see what works before committing to it in a reference wallet.
- Some users cite its simplicity, focus on user experience, quick setup, addition of power user features and similarity to Electrum as reasons they prefer it over the GUI
- Feather will remain open source and licensed under BSD-3.
### Who
Hi, I'm tobtoht. Creator of xmrguide and maintainer of Feather Wallet.
I have been an active contributor to the Monero ecosystem since April 2018.
Some of the things I have worked on are:
- Created and maintained guides to set up Monero on Tails and Whonix ([xmrguide](http://xmrguide42y34onq.onion/), [reddit](https://old.reddit.com/r/Monero/comments/h8pbc2/))
- Made miscellaneous contributors to the GUI (most notably Tails support)
- Maintained a [list](http://xmrguide42y34onq.onion/remote_nodes) of .onion remote nodes with their status
- Created various Python [scripts](http://xmrguide42y34onq.onion/scripts) to convert from/to Monero using third party exchangers
- Co-created Feather Wallet with dsc
### Proposal
40 hours per week at 45 USD/hour for a total of 150 XMR. The XMR/USD rate is based on current exchange rate of $144 XMR/USD.
This will cover January/February/March. Any hours left over will bleed into April.
Progress will be reported in #feather on OFTC. Bi-monthly updates will be posted to /r/FeatherWallet in the form on release changelogs.
Feedback and comments are welcome.
---
layout: cp
title: Add Monero to TxStreet
author: txstreet
date: March 10, 2021
amount: 38
milestones:
- name: Monero street complete and live
funds: 20
done: 20 April 2021
status: finished
- name: Advertising for 3 months
funds: 4.5
done: 2021
status: unfinished
- name: Advertising for 6 months
funds: 4.5
done: 2021
status: unfinished
- name: Advertising for 9 months
funds: 4.5
done: 24 October 2022
status: finished
- name: Advertising for 12 months
funds: 4.5
done: 24 October 2022
status: finished
payouts:
- date: 22 April 2021
amount: 20
- date: 16 January 2022
amount: 9
- date: 4 November 2022
amount: 9
---
Hello! My name is Tom and I run txstreet.com. (Proof - http://out.txstreet.com/getmonero). I was recommended the CCS by a member of the Monero community to fund the addition of Monero to TxStreet. Because the website remains closed source for now, this proposal will be framed as an advertising campaign.
I have reduced the funding to the minimum amount of what I think is necessary for Monero to remain operational on the website. I do not want to make any profit off of the CCS.
# What is TxStreet?
TxStreet.com is a live cryptocurrency transaction visualizer featuring Bitcoin, Ethereum and Bitcoin Cash. When a new transaction is broadcasted to a cryptocurrency, a person appears and attempts to board a bus. If the transaction has a high enough fee, they will board the first bus and be ready to be included in the next mined block. If there are too many transactions to be included in the next block, and the transaction didn't pay a high enough fee, the person will either wait in line or board a different bus. Consecutive buses will appear when there are enough transactions to fill them.
TxStreet has become popular in other crypto communites, here are some examples of people talking about it:
- https://twitter.com/VitalikButerin/status/1299892964160749570
- https://twitter.com/peter_szilagyi/status/1287699988882087938
- https://twitter.com/rogerkver/status/1362183459377188867
Traffic estimate is 200k - 300k unique visitors per month based off of fathom showing 110k UV in the last month and cloudflare showing 650k UV in the last month. Fathom can be blocked client side by adblockers and cloudflare includes traffic from bots, which is why there is a large discrepancy.
Twitter - https://twitter.com/txstreetCom
# How Monero will be presented
Monero will have it's own street just like the other supported coins.
Live stats that will be shown:
- Broadcasted Tx/Sec (Past 5 mins)
- Confirmed Tx/Sec (Past hour)
- Mempool Size (Bytes)
- Mempool Count
- Median Fee (USD)
- Median Fee (Atomic units per byte)
- Bytes/Second (Past 5 mins)
- Ciruclating Supply
- Price (USD)
- Last Block
- Median Txs Per Block (Past Hour)
- Blockchain Size
- Difficulty
- Block Size Limit (Current)
- Median Block Size (Past Hour)
- Average Block Time (Past 250 Blocks)
- Market Cap (USD)
- 24 Hour Volume (USD)
The coins that TxStreet currently supports have no privacy by default, so it is possible to parse the data from transactions and categorize them into "houses". Since Monero has strong privacy and all of the information from each transaction is hidden (besides fee, size etc.), there will be no need for the houses and that section can be removed completely. Or if the community prefers, it can be replaced with something else.
To further convey the message of privacy, every "person" (transaction) will be an identical sprite. I have been suggested "Monero Memeball" or "Isabella Monero Girl" for the sprite. Initially I wanted to do a black trench coat, but was informed that there is a stigma towards that. The final decision will be "Monero Memeball" unless the community has feedback on this.
Monero Memeball: https://i.imgur.com/WgsAgXm.jpg
When completed, the Monero street will be viewable here: https://txstreet.com/v/xmr
Alongside bitcoin, it will be viewable here: https://txstreet.com/v/xmr-btc
To get to the Monero street, users can click the dropdown in the top left/right of other streets. For the first month, a large notification will show once for each user saying "New Street! View Monero".
# Cost breakdown
## Milestone 1 - Monero street complete and live
20 XMR. I estimate it will take 1-2 months to complete.
## Milestones 2-5 - Additional 3 months of advertising
2.5 XMR for server costs. ($120/month base estimate)
2 XMR for maintenance.
This proposal is for 1 year of advertising. After 1 year, another proposal will be submitted for additional funding. If funding is not met, the operational costs of the Monero street will have to be paid for by me and the Monero street will be subject to removal if I can't cover those costs.
---
layout: cp
title: "XMR BTC Atomic Swaps Desktop GUI - Continued development for 4 months"
author: binarybaron
date: 26 May, 2022
amount: 232
milestones:
- name: July
funds: 58
done: 10 August 2022
status: finished
- name: August
funds: 58
done: 2 November 2022
status: finished
- name: September
funds: 58
done: 9 December 2022
status: finished
- name: October
funds: 58
done: 16 January 2023
status: finished
payouts:
- date: 23 August 2022
amount: 58
- date: 4 November 2022
amount: 58
- date: 20 December 2022
amount: 58
- date: 23 January 2023
amount: 58
---
![](https://user-images.githubusercontent.com/86064887/152649852-4c8c6c3f-0568-4347-89d1-c291c17f2d30.png)
![](https://user-images.githubusercontent.com/86064887/152678743-b86f395e-01dc-43c5-ba71-b27962a4a6ba.png)
![](https://user-images.githubusercontent.com/86064887/152649633-9ae29f79-8041-476c-be45-ef3441f4dee1.png)
We've successfully completed all of the goals we set for ourselves in our [first CCS proposal](https://ccs.getmonero.org/proposals/binarybaron-unstoppableswap.html). The prototype of the GUI we wanted to develop is fully functional (on testnet) and it will soon replace the now obsolete web interface ([UnstoppableSwap.net](https://unstoppableswap.net)).
Based on the community response to both of our status updates ([reddit post 1](https://www.reddit.com/r/Monero/comments/slvy2a/making_atomic_swaps_accessible_to_all/), [reddit post 2](https://www.reddit.com/r/Monero/comments/uawipv/atomic_swap_gui_demo_on_mainnet_unstoppableswap/)), we felt that there is a strong desire in the community for us to continue development.
Over the course of 7 months we have:
- Made over **175 commits** to the [UnstoppableSwap GUI repository](https://github.com/UnstoppableSwap/unstoppableswap-gui/commits/main) and developed an initial working prototype.
- [Demo video of mainnet swap](https://www.youtube.com/watch?v=8XLGSsggnP0)
- [Demo video of decentralized peer discover](https://www.youtube.com/watch?v=MvUsjU67jf0)
- I’ve become one of the three unpaid volunteers maintaining the [xmr-btc-swap](https://github.com/comit-network/xmr-btc-swap/) repository after the comit guys (original developers who developed the first MVP) have moved on to other projects. I’ve submitted and merged [12 Pull Requests](https://github.com/comit-network/xmr-btc-swap/pulls?q=is%3Apr+is%3Amerged+author%3Abinarybaron+) over the last months and reviewed some more.
### Proposal:
We are excited to keep working on Atomic Swaps. There are still loads of things needed to make it accessible and easy to use for everyone. Therefore we'd like to continue spending our time working on the FOSS GUI for BTC<>XMR Atomic Swaps. It is being built around the *[swap-cli](https://github.com/comit-network/xmr-btc-swap/blob/master/docs/cli/README.md)* and will empower even non-technical people to swap their BTC for XMR in a safe, decentralized and trustless manner. We are asking for 232 XMR for continued development for 4 months. At the end of each month 37 XMR will be paid out. We will work approximately 25 hours per week for 4 months straight which amounts to 400 hours of labour. Our hourly rate is 66 USD which amounts to 232 XMR at a current price of 112 XMR/USD
### Who:
I am binarybaron, the creator of UnstoppableSwap.net and Monero enthusiast. I was excited about Atomic Swaps from the very beginning, tested the first versions (MVP developed by COMIT guys) and contributed to the project early on. When the first testnet swap provider came online, I realized that we would need a better user interface and a platform to compare different swap providers. I decided to start building UnstoppableSwap.net. To my surprise, the interest was much greater than I could have ever predicted. In the first week alone, the website was visited more than 150,000 times.
Once I realized that a website was not enough due to the technical requirements, I started working on a desktop app. Soon after, I submitted my first CCS, which was quickly funded, and developed the first working prototype of the desktop user interface.
### **What:**
1. Development of the graphical user interface (*[GUI](https://github.com/UnstoppableSwap/unstoppableswap-gui)*)
1. **Auto Update**. For this to work we’ll need to code sign the releases on Mac OS using a paid certificate. The *GUI* will download and install the new version on startup if a new release is available.
2. **Educate users on the rules of the swap protocol.** There are some simple but important rules all users need to follow to avoid loosing funds. Most importantly the functionality of the cancel and refund timelocks must be understood. If users are not fully aware on how to act in certain scenarios, **they risk loosing funds**. We’re not yet sure how to proceed on this. Some ideas are outlined below:
1. Quiz at first start-up to make sure the user understands what rules he needs to follow
2. Refer to official documentation of the *[swap-cli](https://github.com/comit-network/xmr-btc-swap/blob/master/docs/cli/README.md)* and the GUI
3. Refer to blog posts, videos and other online resources by the community
3. **Allow manual cancel & refund of swaps.** Although the *[swap-cli](https://github.com/comit-network/xmr-btc-swap/blob/master/docs/cli/README.md)* should refund swaps automatically in most cases, there are some edge cases where the user is required to cancel & refund manually. This is currently not possible in the GUI. Enabling the user to easily do this in the GUI is a must.
4. **Unit and Integration tests.** Although the *GUI* is relatively stable, it has pretty low test coverage. We need to create a lot more unit and possibly integration tests to cover all edge cases. Especially critical code like the internal finite state machine needs extensive test coverage.
5. **New Icon**. The current icon was only meant to be a placeholder and wasn’t intended to be final. We’ll either commision someone to make a new one or ask the community for input.
6. **Performance improvements.** We need to investigate what the performance bottlenecks of the *GUI* are. The most obvious ones at the moment are:
1. Inefficient SQL queries being used for querying the swap database
2. Overly-cautious file reads of the swap database
3. Unnecessary re-renders of React components
4. Blocking code being run in the main thread leading to freezing of the whole application
7. **General improvement of the GUI**. Fixing bugs, responding to issues, writing documentation and implementing new features as they come to mind.
8. **Switch the GUI from Testnet to Mainnet.** The GUI is currently Testnet only. Once we feel it is stable enough overall we’ll switch it over to Mainnet.
2. **Development and maintenance of the API that enables clients to easily discover swap providers.** A swap provider is a peer you can connect with to exchange your BTC for XMR. ****Our API indexes them and provides additional data such as their uptime and their age. This API is publicly accessible and can be used by other services (e.g orangefren.com). We provide an HTTP(s) and a WebSocket (socket.io) endpoint which will be documented on UnstoppableSwap.net.
3. **Development and maintenance of the UnstoppableSwap.net site.** It was the first initial prototype for a user interface for Atomic Swaps. It used to be a very stripped down version of the GUI and allowed users to more easily initiate a swap using the *[swap-cli](https://github.com/comit-network/xmr-btc-swap/blob/master/docs/cli/README.md)* by displaying them with a command they could copy and paste. This was not ideal, as it gave the impression of being user-friendly, but could be quite confusing and risky to use. The site will be converted into a simple download page for the *GUI* (similar to bisq.network)
4. **Maintenance of rendezvous point.** There are currently three major ways for users to discover swap providers (peers they can swap their Bitcoin for Monero with). This proposal also includes the maintenance of the rendezvous point we run.
1. Word-of-mouth: The community can share the address of swap providers online (e.g on Reddit, IRC, Matrix..)
2. Centralized peer discovery via UnstoppableSwap API: We actively maintain a database of swap providers which can be used by anyone to retrieve a list of swap providers
3. Rendezvous point: The [rendezvous](https://github.com/libp2p/specs/blob/master/rendezvous/README.md) protocol is a lightweight mechanism for generalized peer discovery. It allows for the discovery of peers in a decentralized fashion. We operate a community rendezvous point through which swap providers can make themselves known to users, and through which users can find swap providers with whom they want to swap.(`/dns4/discover.unstoppableswap.net/tcp/8888/p2p/12D3KooWA6cnqJpVnreBVnoro8midDL9Lpzmg8oJPoAGi7YYaamE`)
5. **Reviewing, merging and possibly submitting Pull Requests to the [xmr-btc-swap](https://github.com/comit-network/xmr-btc-swap/) repository.**
1. This proposal is mainly for continued development of the GUI and not for maintenance of the xmr-btc-swap project. **Time spent on the [repository](https://github.com/comit-network/xmr-btc-swap/) will at most be 5% of the total time spent on this proposal.**
2. Most of the Pull Requests we’ll submit will be related to making the *[swap-cli](https://github.com/comit-network/xmr-btc-swap/blob/master/docs/cli/README.md)* compatible with the *GUI*
If funded we'll provide monthly updates in the CCS comment section.