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 1313 additions and 41 deletions
---
layout: wip
title: "Decentralizing Molly.im to support Monero payments"
author: valldrac
date: Sep 27, 2021
amount: 177
milestones:
- name: Signal server deployment
funds: 12.5% (22 XMR)
done:
status: unfinished
- name: Monero payments
funds: 70.0% (124 XMR)
done:
status: unfinished
- name: E2E testing
funds: 17.5% (31 XMR)
done:
status: unfinished
payouts:
- date:
amount:
- date:
amount:
- date:
amount:
---
### Summary
The goal is to build a secure messaging app with integrated support for Monero payments and a decentralized backend.
The application will be based on the Signal fork [Molly.im](https://molly.im) (henceforth 'Molly') but with a privacy-focused backend that allows the user to sign up anonymously (without phone number), encrypt their local database with passphrase encryption, RAM shredding, and more.
Monero features will include the ability to set up a XMR wallet, send and receive funds, keep track of the balance, and review the transaction history.
### About Molly
Molly is a fork of Signal for Android which began in 2019. Molly connects to the Signal servers and adheres to the Signal protocol, so Molly users can chat with their Signal contacts seamlessly. Over the last two years it has become a popular alternative to the official Signal and Signal FOSS clients for its improved security features, open source friendly approach, and growing community of contributors of all kinds.
As we rely on the Signal for the server infrastructure we must adhere to Signal rules and limitations. All Molly features are improvements of the standard Signal client.
Officially Signal takes the stance that they do not allow forks to connect to their servers. This has not always applied in practice since many projects exist that use their infrastructure. There is the risk, however, that Signal could at any time decide to enforce this policy in the future. While Signal could make the decision to disable forks, it is believed is not technically feasible to ban Molly from the Signal servers without banning also all devices without Google GMS services. This is due to the fact that the Molly app is identical to Signal from the server side.
At present we want to decentralize the Molly backend. Signal currently offers no protection against traffic analysis and metadata harvesting in the server side. Molly can offer this improvement with a properly implemented decentralized backend.
Links:
- Website: [molly.im](https://molly.im)
- GitHub: [mollyim/mollyim-android](https://github.com/mollyim/mollyim-android)
- OpenCollective: [mollyim](https://opencollective.com/mollyim)
- Twitter: [@mollyimapp](https://twitter.com/mollyimapp)
### MobileCoin Status
MobileCoin payments in Signal are enabled only in a few countries: UK, Germany, France, and Switzerland. This restriction is enforced by the server. Recently the MobileCoin Foundation launched an [airdrop campaign](https://mobilecoinfoundation.medium.com/test-your-mobilecoin-wallet-through-a-beta-air-drop-7096b9dd9153) on Signal.
MobileCoin has been disabled in Molly since the beginning of MobileCoin release.
### Proposal & Milestones
Showcase in-app payments with minimal setup. It includes the following phases:
1. Deploying a minimal Signal compliant server
2. Build a flavor of Molly that replaces MobileCoin with Monero and connects to this server
3. Add automated end-to-end (E2E) testing to support further development
High-level functionalities to be developed for payments:
- Activate and deactivate payments
- View transaction history and details
- Change currency conversion for displayed balance (tentative)
- Send a payment in-chat
- Request a payment in-chat
- Restore wallet from mnemonic seed
- View wallet mnemonic seed and keys
- Transfer in
- Transfer out
The server, for this stage, will be a monolithic instance of [Signal server](https://github.com/signalapp/Signal-Server) deployed in AWS. It will support basic messaging features but will not support audio/video calls, SGX dependent services like: PIN cloud backups, contact discovery, or multi-device support. There will not be phone number validation, it will be replaced with random virtual number generation to emulate the use of a validated phone number for the user at registration.
This environment is not expected to scale to more than 10K simultaneous users and will not provide a production-ready or reliable service for end users. For the purpose of this stage this server could be considered "pre-production/staging server".
The Molly app will continue to be updated in its current form in the interim. In order to integrate the new Monero payment feature while preserving the Signal based functions a welcome screen will be implemented with the following two choices:
1. Sign up to the Signal Network: MobileCoin disabled, all other features functional.
2. Sign up to the Molly Network: Native Monero payments and no phone number required to register.
The Signal network will not support native Monero payments. There will, however, be a button to share the Monero address manually and request the recipient to initiate a payment.
We estimate to complete this stage in approximately 20 weeks time by executing the following three steps: (i) Signal server deployment ~2.5 weeks. (ii) Monero payment functionality development ~14 weeks, (iii) E2E testing ~3.5 weeks.
### Goals
- Provide an experimental but fully functional messaging app with XMR payments to the Monero community
- Identify pain points with Monero SDK early in the development cycle
- Evaluate the security of the integration and ensure it meets Molly's security requirements for data-at-rest
- Learn about Signal server and further our understanding of the codebase
- Continue to grow the Molly userbase
- Prepare the framework for stage 2
### Funding
We are at this time requesting funding of 177 XMR (equivalent of $38,150) as per 14-day EMA (1 XMR = \$248.05) on Kraken for 2021/09/26 with a 15% volatility buffer. This is based on the previous outline which we anticipate will take a total of 650 hours of development to bring to fruition across our 20 weeks timeline. Below is a high level overview of where the exact funding will go:
- Development cost: \$55 x 650 hours (total of \$35,750)
- Hosting expenses (AWS) until Q2 2022: \$2,400
### Next Steps
With the action taken in stage 1 we are effectively deploying the framework on which the Molly app can forge itself.
Once stage 1 is complete, we will be in a position to further our research on mixnets and other possible backend solutions. Through this process we maintain the deployed Signal server for additional use cases that may arise during the development period.
A security audit would be the logical follow up to the implementation of Monero payments. This audit would encompass distinct Molly functions over Signal as well. Once audit findings are resolved, we will be able to ensure that we are meeting the security standards expected by privacy-focused communities. We expect our development will onboard new collaborators of all kinds to the project. Peer-reviewers will likely increase in number as a result of the audit as well.
Additionally, we would design and deploy a website with robust Molly documentation, news, and more.
### About Me
Currently I am the lead developer of Molly.
I am a security engineer specializing in offensive security and cryptography, and a former forensic analyst. I began learning Android app development 2 years ago for Molly specifically. Recently my career became completely focused on mobile security.
---
layout: wip
title: Wallet SDK for Android
author: valldrac
date: May 17, 2023
amount: 295
milestones:
- name: Development
funds: 180 XMR
done: 4 March 2024
status: finished
- name: Security Enhancements
funds: 24 XMR
done: 12 August 2024
status: finished
- name: Continuous Integration & Testing
funds: 51 XMR
done:
status: unfinished
- name: Maintenance (3 months)
funds: 20 XMR
done:
status: unfinished
- name: Maintenance (3 months)
funds: 20 XMR
done:
status: unfinished
payouts:
- date: 21 March 2024
amount: 180
- date: 14 August 2024
amount: 24
- date:
amount:
- date:
amount:
- date:
amount:
---
### Summary
We propose supporting the development of the new Monero SDK for Android that the [Molly.im](https://molly.im) team is actively working on.
The goal of this SDK is to provide a solution for developers to integrate Monero into their apps by offering an Android wallet library and a sample app. The library will include advanced features such as support for multiple wallets, sandboxed C++ code, client-side load balancing and asynchronous API. It will be compatible with Android Studio and fully optimized for size and performance. The demo app will feature the capabilities of the library, using the best practices and tools.
The development of this SDK aims to resolve issues found in existing libraries during the integration of Monero into Molly. If you would like to know the rationale behind this SDK, and learn about the Molly project and background, we recommend checking out our CCS titled "Decentralizing Molly.im to support Monero payments" and the latest follow-up at the following links: [CCS proposal](https://ccs.getmonero.org/proposals/vd-molly-payments-stage1.html) and [update post](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/252#note_20900).
### SDK Overview
The Monero SDK consists of two components:
1. **Android Library**: A specialized library that allows developers to interact with the Monero network and perform wallet operations. This library is written in Kotlin and offers a reliable asynchronous API.
2. **Sample Wallet App**: An example app written in Kotlin that showcases the usage of the library for wallet app development. It serves as an integration guide for developers and facilitates the testing of new functionalities.
### Android Library
The Android library is the core component of the SDK. Internally it wraps and extends the wallet2 low-level API.
Key features and design decisions of the Android library include:
- **Kotlin Language**: The library is implemented in Kotlin, which is the preferred language for Android development. Kotlin's interoperability with Java ensures compatibility with existing apps.
- **Asynchronous API**: It leverages Kotlin's Coroutines support for asynchronous programming, providing a reliable and non-blocking API that seamlessly integrates with Android's event-driven development model.
- **Sandboxed Execution**: All non-memory-safe code (C++) runs within an isolated process with zero privileges and restricted access to the host app or system resources. Even if a remote execution exploit affects Monero, it becomes extremely difficult for an attacker to elevate privileges to the system or host app.
- **Modular Architecture**: The library is built as an Android service, using Android's AIDL interprocess communication (IPC) to connect the Kotlin layer with the sandboxed native code. This client-server architecture decouples the internal wallet2 implementation from the public API of the SDK, facilitating future swapping of the wallet2 module without major changes to the API. This enables smoother migration to Seraphis for developers using our SDK.
- **Storage Abstraction**: The library provides a storage abstraction layer, simplifying wallet persistence for developers. It allows the SDK to be agnostic about the underlying storage mechanism (files, database, cloud, etc.). This flexibility enables developers to improve data-at-rest encryption without modifying the SDK code.
- **Network Client Injection**: Instead of relying on the networking code of wallet2, the SDK allows the app to provide its own HTTP client. This gives the app the freedom to support any transport protocol, such as Tor, transparently to the SDK.
- **Custom Logging**: The library includes a logging adapter that developers can customize. It enables the host app to determine log storage and location, providing a way to encrypt or remove sensitive information from the logs if needed.
- **Client-side Load Balancing**: The library enables the host app to dynamically select the optimal remote node for RPC calls, ensuring efficient synchronization with the Monero blockchain. This can significantly reduce synchronization time by choosing the fastest node.
- **Android Studio Compatibility**: The SDK is fully compatible with Android Studio, supporting native debugging, code navigation, and linter capabilities, for both the SDK library and the Monero codebase.
- **Optimized Build System**: The library has optimized CMake files that vendor all dependencies of wallet2, and applies Link-time optimizations (LTO) to remove all C++ code that is never called by the SDK. The result is a reproducible and lightweight library size of only 6 MB per arch, that can be built directly from Gradle.
### Sample Wallet App
The sample app is a fully functional multi-wallet app that serves as a reference for developers on integrating Monero into their apps. It is also a way to test if the library works well in a real-world application. Key features of the sample wallet app include:
- **Clean Architecture**: The sample app uses the latest Android libraries and follows the [official architecture guidance](https://developer.android.com/topic/architecture#recommended-app-arch).
- **Kotlin and Jetpack Compose**: The sample app is entirely written in Kotlin and uses Jetpack Compose for the UI, as well as many architecture components like Room, Lifecycle, and Navigation.
### Use Cases
The SDK is primarily designed to support two use cases: (i) local synchronized mobile wallets and (ii) Monero payments, with a focus on security, simplicity and performance. Although we are centered on these specific use cases, it would be beneficial to consider other potential applications where the SDK could be used in the future.
In the first stable release, it is planned to provide the following functionality:
1. Wallet Management
1. Create and restore wallet from mnemonic seed (25-words standard) or secret key
2. Export wallet seed and secret key
3. Save and load wallet from the storage defined by the app
2. Account Generation and Subaddresses
1. Derive account subaddresses and track their usage
2. Parse base58 public addresses
3. Balance Inquiry
1. Query locked/unlocked balance at a specific time
2. Retrieve transaction history
3. Listen to balance and transaction (ledger) updates
4. Transaction Handling
1. Construct, sign, and broadcast single and multi-recipient TXs
2. Handle network fee automatically
3. Create and verify payment proofs
5. Blockchain Synchronization
1. Resume scanning or restart it from a specific height
2. Load balance RPC calls and failover to multiple remote nodes
3. Monitor remote node status and response time
The following features would be left out of the first release: fine-grained coin control, hardware wallets, manual transaction input, message signing, and multisig. There is no roadmap or timeline yet for when these additional features will be included in future releases.
### Code Example
This snippet of code is a basic example to show how to use the API: [wallet-sdk-android-example.kt](https://gist.github.com/valldrac/54ff6842e4cc6d624ab893f4e839b2ae)
### Limitations and Known Issues
The biggest issue we have come across is how wallet2 trusts the remote nodes for blockchain synchronization. While it is widely known that malicious nodes can manipulate the returned blocks to deceive clients, the current lack of validation in wallet2 makes it too easy to exploit. Unfortunately, wallet2 fails to verify if the returned blocks line up with the previous blocks in the chain. This vulnerability has already been described in a security advisory ([link](https://www.reddit.com/r/Monero/comments/134jbdt/security_advisory_new_attack_from_malicious/)).
To mitigate this problem, we suggest adding basic integrity checks into wallet2, but without validating PoW. These checks will help wallet2 to early detect the attack when connecting to an honest node.
Our plan is to address this issue for the initial release of the SDK, as well as upstream the fixes to wallet2.
### Comparative Analysis
The main difference, in addition to the aspects mentioned in the design section, is that the existing libraries are essentially "library wrappers". They consist of a thin layer of code that translates the wallet2 API into a compatible interface for Java while maintaining the same (and intricate) semantics. However, in our SDK we have tried to develop a simplified yet flexible API explicitly designed for Android that prevents common pitfalls associated with wallet2.
It is important to note that we have not conducted a comprehensive comparative analysis yet between our SDK and existing Java libraries like Monerujo's [xmrwallet](https://github.com/m2049r/xmrwallet) or woodser's [monero-java](https://github.com/monero-ecosystem/monero-java).
### Progress Report
The development progress of the library API at a high-level is as follows:
- Wallet Management: 90% complete.
- Account Generation and Subaddresses: 20% complete.
- Balance Inquiry: 70% complete.
- Transaction Handling: 0% complete.
- Blockchain Synchronization: 80% complete.
We have made significant progress in the demo wallet app as well, implementing key features such as multiple wallet creation, customizable settings, balance checking, and individual remote node configuration for each wallet. The demo includes a basic syncing service that automatically refreshes and saves the wallets. It also supports syncing over SOCKS proxies.
Based on the progress made so far, we have spent a total of 625 hours on development. Out of these, 550 hours until the end of April, and 75 hours from May until now.
The SDK, that includes the library and the demo, is available on GitHub: https://github.com/mollyim/monero-wallet-sdk
### Proposal & Milestones
By funding this project we aim to accelerate the adoption of Monero in the Android ecosystem, providing a reliable and flexible solution for developers to integrate Monero into their apps. This funding will also drive the integration of Monero into Molly.im.
The proposed milestones for this project are as follows:
1. Development
- Complete the development of the library for the planned use cases.
- Complete the implementation of the remaining features for the demo wallet app.
2. Security Enhancements
- Implement and validate basic integrity checks in wallet2 to mitigate the risk of malicious nodes.
- Upstream the improvements to the core library.
3. Continuous Integration & Testing:
- Set up CI pipeline to automate builds, testing, and release processes.
- Maintain a minimum unit test coverage of 70% for the library (excluding 3rd party and generated code).
4. Release Management
- Iterate on the SDK based on community feedback, fixing issues, and reviewing pull-requests on GitHub.
- Coordinate new releases, including versioning and release notes.
5. Documentation
- Create a clear README that provides an overview of the project and build instructions.
- Generate the API reference documentation.
- Include code snippets and recipes to demonstrate how to solve common problems with the SDK.
- Create a component diagram that illustrates the architecture and key components.
- Comment the code of the wallet app to serve as an integration guide, explaining the implementation details.
- Regularly update the documentation.
6. Community Engagement
- Engage actively with the community on Matrix to understand their needs and include their suggestions into future updates.
7. Seraphis Migration Planning
- Join the Seraphis Working Group to provide feedback, share design ideas, and review migrations plans for a smooth transition to Seraphis.
### Funding
We are requesting a total of $36,000 in funding to support this project, allocated in these milestones:
1. Development: $22,000
2. Security Enhancements: $3,000
3. Continuous Integration & Testing: $6,200
For the remaining milestones (4 to 7) we propose to allocate $4,800 for 6 months of maintenance, with payouts of $2,400 every 3 months.
Based on current rate of 1 XMR = $140 (as of June 10th 2023) with a 15% volatility buffer, the equivalent amount of $36,000 would be approximately 295 XMR.
### Expiration
If no milestones have been claimed within 9 months from the start of the project (since moved to work-in-progress) or latest payout, the CCS for the project shall be considered expired. In case of expiration, the remaining unclaimed funds will be donated to other CCS proposals.
---
layout: cp
title: vtnerd Full-Time 2020 Q4
author: Lee Clagett (vtnerd)
date: October 15, 2020
amount: 224.6 XMR
milestones:
- name: Month 1 (160 hours)
funds: 74 XMR
done: 27 November 2020
status: finished
- name: Month 2 (320 hours)
funds: 74 XMR
done: 06 January 2021
status: finished
- name: Month 3 (480 hours)
funds: 76.6 XMR
done: 15 February 2021
status: finished
payouts:
- date: 30 December 2020
amount: 74
- date: 6 August 2021
amount: 150.6
---
3-Months full-time software development on monero "core" components in 2020 q4 (through early 2021).
## What
Work primarily on the `monerod` and `wallet2` base code (perhaps some `monero-lws` as well, provided supporters find this acceptable). Some of the work to be attempted or investigated:
- Adding DANE support to wallet2/epee SSL (unbound->OpenSSL 1.1) to enhance wallet->monerod security. This allows for SSL without root certificate signing (relies on dnssec, which unfortunately has its own root+zone certificate chain). Also allows for "pinning" to a specific CA (so root CA + dnssec check).
- Adding trust-on-first-use support to wallet2 if DANE and CA are unavailable
- TLS certificate sharing for public RPC nodes. Possible to "piggy-back" on curve25519 keys for p2p stuff (see next point).
- Adding encryption+authentication to p2p connections. I have a proposal written (separate CCS entirely?) for either TLS 1.3 or Noise_XK depending on community goals. The proposal is unique from prior attempts because it attempts to authenticate the connection.
- Pontential performance improvements
- Various epee/p2p serialization (output) routines (some examples, will need more profiling):
- Improve container reading/writing in epee serialization
- Switching from `std::ostringstream` in the binary output to direct byte slice output
- Adding `byte_slice` internally so that binary values copy pointers instead of data
- Improvements to "cryptonote" serialization - risky since its used by blocks+transactions internally, but theres much speed to be gained in that code
- Potential compilation improvements:
- Moving some epee stuff from headers into cpp to reduce includes as performance is being modified
- Moving serialization code to cpp (although this could be spurious in updates which is frowned upon)
- Dropping unnecessary includes from epee and few other core files. `boost::lexical_cast` is a top candidate for instance
- Dropping the templated nature of the epee TCP server would yield best improvement, but might be cause too much "pain" in the review
There's quite a lot listed there, and its unlikely that all bulletpoints will be reached. There should be enough work in a 3month period though.
## Who
Lee Clagett (vtnerd). I have a prior [CCS](https://ccs.getmonero.org/proposals/vtnerd-tor-tx-broadcasting.html) for adding I2P/Tor support to the wallet and daemon which is completed, pending community members adding seed nodes for I2P/Tor. I also implemented Dandelion++, ZeroMQ Pub/Sub in daemon, various performance improvements to ZeroMQ JSON, [monero-lws](https://github.com/vtnerd/monero-lws), [x86-64 ASM speedups for wallet scanning](https://github.com/monero-project/supercop), and other assorted daemon bug fixes or changes.
## Proposal
Work on the various tasks outlined above for 40 hours/week over the next 3 months after potential funding. I already use time-tracking software for work; if the hours dip in a given month unexpectedly, the update/milestone will be at the completion of the hours listed above.
The funds were calculated with 55 USD/hour with ~117.55 USD/XMR which is the 14-day exponential moving average on Kraken through 2020/10/14.
---
layout: cp
title: vtnerd Full-Time 2021 Q1
author: Lee Clagett (vtnerd)
date: February 17, 2021
amount: 133.4 XMR
milestones:
- name: Month 1 (160 hours)
funds: 44 XMR
done: 09 April 2021
status: finished
- name: Month 2 (320 hours)
funds: 44 XMR
done: 19 May 2023
status: finished
- name: Month 3 (480 hours)
funds: 45.4 XMR
done: 14 July 2023
status: finished
payouts:
- date: 4 January 2023
amount: 44
- date: 12 June 2023
amount: 44
- date: 26 July 2023
amount: 45.4
---
3-Months full-time software development on monero "core" components in 2021 q1 (through early q2).
## What
Work primarily on the `monerod`, `wallet2`, and `monero-lws` (pending feedback in comments). Some of the work to be attempted or investigated:
- Complete work necessary to merge [DANE/TLSA in wallet2/epee](https://github.com/vtnerd/monero/tree/improve/dane_tlsa).
- Adding trust-on-first-use support to wallet2 (already work in progress)
- Progress on [my proposal to add encryption to p2p protocol](https://github.com/monero-project/monero/issues/7078) has been slow, but it looks like the consensus is FOR encryption, just no clear consensus on TLS 1.3 vs Noise protocol. Continued work would be design+implementation for the selected encryption technique.
- Potential performance improvements:
- Improve "cryptonote" read-serialization performance - helps with p2p block responses, RPC responses, among other things. Profiling suggests this could have big improvement on efficiency.
- Determine a technique for safely returning `std::weak_ptr`/`std::shared_ptr` of p2p connections - this can help with efficiency in a few areas:
- Remove lock acquire to send dandelion++ fluffs and I2P/Tor white noise
- Remove lock acquire and atomic increment per connection when relaying bocks (a list is already obtained)
- Others? Any `foreach_connection` call that can be safely done concurrently can use this technique
- Various epee/p2p serialization (output) routines (carryover from q4, this is difficult to update)
- Potential compilation improvements (carryover from q4 since mj-xmr has focused on this more):
- Moving serialization code to cpp (although this could be spurious in updates which is frowned upon)
- Dropping the templated nature of the epee TCP server would yield best improvement, but might be cause too much "pain" in the review
- `monero-lws` work (assuming no complaints in comments):
- Provide pre-built binaries
- Add support for immediate mempool scanning (via ZMQ-PUB)
- (Unlikely this quarter) - reproducible builds so community members can verify+sign the binary hashes
More than 3 months listed there, priorities may change as community requests or issues arise.
## Who
Lee Clagett (vtnerd). I've had [two](https://ccs.getmonero.org/proposals/vtnerd-tor-tx-broadcasting.html) [CCS](https://ccs.getmonero.org/proposals/vtnerd-2020-q4.html) proposals. The [full list of my PRs for last quarter CCS](https://github.com/monero-project/monero/pulls?q=is%3Apr+author%3Avtnerd+created%3A%3E2020-10-27). There's also some investigation/writeup for encrypted p2p, and investigations to improve efficiency (logging in particular) that aren't in that list since any code is still a crude mashup for quick testing. A working, but still in progress [DANE/TLSA wallet implementation](https://github.com/vtnerd/monero/tree/improve/dane_tlsa) also exists.
Bigger higlights: [improved serialization performance to epee binary](https://github.com/monero-project/monero/pull/7009), [removed copy of all outgoing p2p messages and duplicate copies of p2p block notify messages (not merged)](https://github.com/monero-project/monero/pull/7136), [changed p2p connection list to `std::weak_ptr` for small efficiency improvement and code clarity (not merged)](https://github.com/monero-project/monero/pull/7345), [improved `byte_stream` alllocation efficiency](https://github.com/monero-project/monero/pull/7003), [added `byte_stream` realloc to reduce memory usage after new reallocation strategy (not merged)](https://github.com/monero-project/monero/pull/7005), and [fixed timeout bug in Dandelion++](https://github.com/monero-project/monero/pull/7021).
## Proposal
Work on the various tasks outlined above for 40 hours/week over the next 3 months after potential funding. I already use time-tracking software for work; if the hours dip in a given month unexpectedly, the update/milestone will be at the completion of the hours listed above.
The funds were calculated with 55 USD/hour with ~197.85 USD/XMR which is the 14-day exponential moving average on Kraken through 2021/02/16.
---
layout: cp
title: vtnerd Full-Time 2023 Q3
author: Lee Clagett (vtnerd)
date: June 11, 2023
amount: 166.95 XMR
milestones:
- name: Month 1 (160 hours)
funds: 55 XMR
done: 20 September 2023
status: finished
- name: Month 2 (320 hours)
funds: 55 XMR
done: 26 November 2023
status: finished
- name: Month 3 (480 hours)
funds: 56.95 XMR
done: 11 February 2024
status: finished
payouts:
- date: 3 November 2023
amount: 55
- date: 1 December 2023
amount: 55
- date: 9 March 2024
amount: 56.95
---
3-Months full-time software development on monero "core" components in 2023 q3.
## What
Work primarily on the `monerod`, `wallet`, and `monero-lws`. Some of the work to be attempted or investigated:
- Complete p2p Noise encryption (already in-progress)
- Get new serialization routine merged (work on piecemeal PRs for reviewers sake)
- Complete work necessary to merge [DANE/TLSA in wallet2/epee](https://github.com/vtnerd/monero/tree/improve/dane_tlsa).
- Adding trust-on-first-use support to wallet2
- Add msgpack support to monerod-ZMQ (requires merging of new serialization system)
- `monero-lws` work:
- Optional full chain verification for malicious daemon attack
- Subaddresses
- A accept-all-new-accounts mode similar to MyMonero behavior (instead of manually callback)
- Webhook for new account creation (prevents polling for new accounts)
- ZMQ pub support for incoming transactions and blocks (notifies of _any_ new transaction or block)
- Create Github Actions that run unit-tests and provide binaries
- Provide official LWS docker-image
- Provide official snap/flatpak/appimge (tbd one or all of those)
- Provide pre-built binaries
- (Unlikely) - reproducible builds so community members can verify+sign the binary hashes
More than 3 months listed there, priorities may change as community requests or issues arise.
## Who
Lee Clagett (vtnerd). I've had [three](https://ccs.getmonero.org/proposals/vtnerd-tor-tx-broadcasting.html) [CCS](https://ccs.getmonero.org/proposals/vtnerd-2020-q4.html) [proposals](https://ccs.getmonero.org/proposals/vtnerd-2021-q1.html). The [full list of my monero PRs since last CCS](https://github.com/monero-project/monero/pulls?q=is%3Apr+author%3Avtnerd+created%3A%3E2021-02-17). I've also written a [msgpack implementation](https://github.com/vtnerd/monero-lws/pull/63) for the new serialization system (in Monero-LWS), an [admin REST](https://github.com/vtnerd/monero-lws/pull/62) api to Monero-LWS, as well as [webhooks for incoming transactions](https://github.com/vtnerd/monero-lws/pull/66) (including a [zero-confirmation](https://github.com/vtnerd/monero-lws/pull/72) for webhooks) (instead of the previously proposed ZMQ-PUB). [Unit tests](https://github.com/vtnerd/monero-lws/pull/53) were also finally added to Monero-LWS.
## Proposal
Work on the various tasks outlined above for 40 hours/week over the next 3 months after potential funding. I already use time-tracking software for work; if the hours dip in a given month unexpectedly, the update/milestone will be at the completion of the hours listed above.
The funds were calculated with 55 USD/hour with ~158.13 USD/XMR which is the 14-day exponential moving average on Kraken through 2023/07/02.
---
layout: cp
title: vtnerd full-time 2024 q3
author: Lee Clagett (vtnerd)
date: July 11, 2024
amount: 208.12 XMR
milestones:
- name: Month 1 (160 hours)
funds: 69 XMR
done: 24 August 2024
status: finished
- name: Month 2 (320 hours)
funds: 69 XMR
done: 03 October 2024
status: unfinished
- name: Month 3 (480 hours)
funds: 70.12
done: 22 November 2024
status: finished
payouts:
- date: 4 September 2024
amount: 69
- date: 26 October 2024
amount: 69
- date: 6 December 2024
amount: 70.12
---
3-Months full-time software development on monero "core" components in 2024 q3.
## What
Work primarily on the `monerod`, `wallet`, and `monero-lws`. Some of the work to be attempted or investigated:
- Code reviews of monero core PRs
- Optimization work in monero core (work with the new stressnet team)
- Add socks5 support to wallet and monerod (which adds IPv6 support to proxies)
- Add support for [torspec/control-spec](https://github.com/torproject/torspec/blob/main/control-spec.txt). This is similar to the SAM proposal for I2P
- Get new serialization routine merged (continue work on piecemeal PRs for reviewers sake)
- Complete work necessary to merge [DANE/TLSA in wallet2/epee](https://github.com/vtnerd/monero/tree/improve/dane_tlsa).
- Adding trust-on-first-use support to wallet2
- Add msgpack support to monerod-ZMQ (requires merging of new serialization system)
- `monero-lws` work:
- Complete LWS frontend (using `wallet_api.h` as interface) so that wallets can begin using LWS API easily. This is separate from woodser et al working on LWS API within `wallet2` which may be deprecated.
- Perform apache-benchmark test on REST api to determine effects of blocking ZMQ calls
- Cache some ZMQ calls performed during REST api responses to reduce burden on `monerod` and improve REST throughput
- Add concurrency to REST API responses - remove blocking ZMQ calls which starve valuable REST thread resources
- A switchover to boost asio/beast/azmq from epee/zmq to handle async http responses will be needed
- `get_random_outs` endpoint has blocking ZMQ calls that cannot be cached, thus the potential need for async-zmq
- Add a "scale" factor to remote scanning load balancing - send more accounts to systems with faster single thread performance
- Add 64-bit ed25519 code for faster arm64 scanning
- Provide official LWS docker-image
- Provide pre-built binaries
- (Unlikely) - reproducible builds so community members can verify+sign the binary hashes
There is intentionally more work than time allows - to ensure there is always something to work on in the proposal.
## Who
Lee Clagett (vtnerd). I've had [four](https://ccs.getmonero.org/proposals/vtnerd-tor-tx-broadcasting.html) [CCS](https://ccs.getmonero.org/proposals/vtnerd-2020-q4.html) [proposals](https://ccs.getmonero.org/proposals/vtnerd-2021-q1.html) ([last one](https://ccs.getmonero.org/proposals/vtnerd-2023-q3.html)), and [one Magic Grant](https://monerofund.org/projects/Q1Q2_2024_dev_vtnerd).
Some of my biggest features in monero core repo are [Dandelion++](https://github.com/monero-project/monero/pull/6314), [adding supercop ASM speedups to wallet code](https://github.com/monero-project/monero/pull/6337), [ZeroMQ Pub Support for new blocks and transactions](https://github.com/monero-project/monero/pull/6418), and [SSL support to p2p](https://github.com/monero-project/monero/pull/8996).
I've also made a functional LWS wallet scanner under CCS/Magic - which now has a MyMonero compatible REST API, admin REST API, LMDB storage, subaddress support, webhook/zmq/rmq publishing (new receives, spends, and accounts), multi-machine scanning with (primitive) load-balancing, and an untrusted daemon mode that verifies PoW is valid (whereas normal wallets trust `monerod` responses entirely).
## Proposal
Work on the various tasks outlined above for 40 hours/week over the next 3 months after potential funding. I already use time-tracking software for work; if the hours dip in a given month unexpectedly, the update/milestone will be at the completion of the hours listed above.
The funds were calculated with 65 USD/hour with ~157.41 USD/XMR which is the 9-day exponential moving average on Kraken through 2024/07/11. The rate is up a bit: (1) inflation, (2) volatility protection, and (3) closer in hourly compensation to 2 other contributors.
\ No newline at end of file
---
layout: wip
title: vtnerd full-time 2025 q1/q2
author: Lee Clagett (vtnerd)
date: February 21, 2025
amount: 134.37 XMR
milestones:
- name: Month 1 (160 hours)
funds: 44.79 XMR
done:
status: unfinished
- name: Month 2 (320 hours)
funds: 44.79 XMR
done:
status: unfinished
- name: Month 3 (480 hours)
funds: 44.79
done:
status: unfinished
payouts:
- date:
amount:
- date:
amount:
- date:
amount:
---
3-Months full-time software development on monero "core" components in 2025 q1/q2.
## What
Work primarily on `monerod`, `wallet`, and `monero-lws`. Some of the work to be attempted or investigated:
- Code reviews of monero core PRs
- monerod/monero-lws bug fixes and HackerOne mitigations as they arrive
- Keep existing PRs up-to-date:
- New Serialization routine
- Change from raw pointers to weak_ptrs in levin code
- Socks v5
- P2P SSL Support
- Updating levin callbacks to C++14 moves
- Embargo timeout fix
- Find (possible) memory leak in weak_ptr PR
- Complete work necessary to merge [DANE/TLSA in wallet2/epee](https://github.com/vtnerd/monero/tree/improve/dane_tlsa).
- Adding trust-on-first-use support to wallet2
- Add msgpack support to monerod-ZMQ (requires merging of new serialization system)
- `monero-lws` work:
- Determine a “push” interface for LWS clients (instead of existing poll interface)
- Complete LWS frontend (using `wallet_api.h` as interface) so that wallets can begin using LWS API easily. This is separate from woodser et al working on LWS API within `wallet2` which may be deprecated.
- Add a new utility (to LWS-frontend) that accepts a spend key to report balance+spent transactions of wallet (requested via Github Issues). This will help verify accuracy of LWS endpoints
- Update LWS spec and implementation to support new "carrot" features (view-balance key, etc)
- Update LWS backend to work with fcmp++ experimental branch
- Add a "scale" factor to remote scanning load balancing - send more accounts to systems with faster single thread performance
- Add 64-bit ed25519 code for faster arm64 scanning
- Provide official LWS docker-image
- Provide pre-built binaries
- (Unlikely) - reproducible builds so community members can verify+sign the binary hashes
There is intentionally more work than time allows - to ensure there is always something to work on in the proposal.
## Who
Lee Clagett (vtnerd). I've [had](https://ccs.getmonero.org/proposals/vtnerd-tor-tx-broadcasting.html) [five](https://ccs.getmonero.org/proposals/vtnerd-2020-q4.html) [CCS](https://ccs.getmonero.org/proposals/vtnerd-2021-q1.html), [proposals](https://ccs.getmonero.org/proposals/vtnerd-2023-q3.html) ([last one](https://ccs.getmonero.org/proposals/vtnerd-2024-q3.html)), and [one Magic Grant](https://monerofund.org/projects/Q1Q2_2024_dev_vtnerd).
Some of my biggest features in monero core repo are [Dandelion++](https://github.com/monero-project/monero/pull/6314), [adding supercop ASM speedups to wallet code](https://github.com/monero-project/monero/pull/6337), [ZeroMQ Pub Support for new blocks and transactions](https://github.com/monero-project/monero/pull/6418), and [SSL support to p2p](https://github.com/monero-project/monero/pull/8996).
I've also made a functional LWS wallet scanner under CCS/Magic - which now has a MyMonero compatible REST API (now fully non-blocking to support more responses per thread), admin REST API, LMDB storage, subaddress support, webhook/zmq/rmq publishing (new receives, spends, and accounts), multi-machine scanning with (primitive) load-balancing, and an untrusted daemon mode that verifies PoW is valid (whereas normal wallets trust `monerod` responses entirely).
## Proposal
Work on the various tasks outlined above for 40 hours/week over the next 3 months after potential funding. I already use time-tracking software for work; if the hours dip in a given month unexpectedly, the update/milestone will be at the completion of the hours listed above.
The funds were calculated with 65 USD/hour with ~232.20 USD/XMR which is the 14-day exponential moving average on Kraken through 2025/02/21.
---
layout: wip
layout: cp
title: Broadcast Transactions over Tor Hidden Service
author: Lee Clagett (vtnerd)
date: November 13, 2018
date: 13 November 2018
amount: 142.00 XMR
milestones:
- name: Socks v4a
funds: 60.00 XMR
done: January 28, 2019
done: 28 January 2019
status: finished
- name: Timing Analysis Mitigations
funds: 80.00 XMR
done:
status: unfinished
done: 09 August 2020
status: finished
- name: Tor Hidden Service Seed Nodes
funds: 2.00 XMR
done:
status: unfinished
done: 29 November 2020
status: finished
payouts:
- date:
amount:
- date:
amount:
- date:
amount:
- date: 25 June 2019
amount: 60
- date: 24 December 2020
amount: 82
---
## What
......
---
layout: cp
title: German translation of Monero Means Money (subtitles) and Sound Money, Safe Mode (subtitles)
author: Wobole
date: June 27, 2021
amount: 9.9
milestones:
- name: Translation of the subtitles of “Monero Means Money”
funds: 4.9
done:
status: unfinished
- name: Continued translation of the subtitles of “Sound Money, Safe Mode”
funds: 5
done:
status: unfinished
payouts:
- date:
amount:
- date:
amount:
---
## Proposal Update 2024/09/05
- Wobole completed this proposal Jan 22, 2022 as confirmed independantly by 2, native german, community members.
- A partial address was posted in [this payout request](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/237#note_21125).
- The full address was never shared with Luigi or the acting CCS Coordinator at that time.
- Wobole has 1 year from now, to attempt to claim these funds by pasting a _new_ payout address from the same Gitlab account.
- After 2025-09-05 the entire balance (9.9 XMR) will be returned to the General Fund.
---
Hello everybody, this is Wobole again :)
## What and Why
I’m proposing to translate the subtitles of “Monero Means Money” and “Sound Money, Safe Mode” via Weblate.
As I wrote in my last [proposal](https://ccs.getmonero.org/proposals/Translation-getmonero-german.html), I feel a thorough localization of the (often pretty complex) world around Monero to be extremely useful, both for intermediates as well as potential future users who are just diving into the matter but are also keen to understand the technical and economic advantages and complexities Monero comprises. And frankly, it would simply be a pity having such high-quality educational and factful contents around which are accessible, but not understandable for many people. I’d really enjoy to change that.
## Who
I have translated a lot of strings and am one of the most active translators and suggestors on the [Monero Weblate platform](https://translate.getmonero.org/stats/). Feel free to take a look at [my Weblate profile](https://translate.getmonero.org/user/Wobole/) for an impression of my activities. After having translated a significant amount of the GUI wallet, some parts of the CLI wallet and most of the website (all as a volunteer) I was happy to be funded by the community for translating the User Guides and the Moneropedia entries on getmonero.org (and to be able to push for some consistency within the German localization :)). See the related [proposal](https://ccs.getmonero.org/proposals/Translation-getmonero-german.html) in the CCS.
## Proposal and milestones
This proposal includes the following two milestones:
1. Translation of the subtitles of “Monero Means Money”
2. Continued translation of the subtitles of “Sound Money, Safe Mode”
The “Monero Means Money” subtitles comprise 11,689 words, the subtitles of “Sound Money, Safe Mode” 12,405 words. 62 strings of the latter have been translated already; averaging a string with roughly 6,25 words multiplied by 62 makes almost 390 already translated words. For the 1st milestone this equals 4.9 XMR and for the 2nd 5 XMR, totalling up to 9.9 XMR.
As with the last paid translations and of course the voluntary ones I’m looking forward to delivering high-quality translations to help making Monero more and more used and adopted internationally. If this proposal gets funded, I am going to start working on the translations immediately, and I believe to finish both milestones within a maximum of two months.
Thanks a lot for reading!
---
layout: cp
title: xiphon full-time coding (3 months)
author: xiphon
date: 6 Feb 2021
amount: 181
milestones:
- name: Mar
funds: 33% (60 XMR)
done: 18 April 2021
status: finished
- name: Apr
funds: 33% (60 XMR)
done:
status: unfinished
- name: May
funds: 33% (61 XMR)
done:
status: unfinished
payouts:
- date: 18 April 2021
amount: 60
- date:
amount:
- date:
amount:
---
### Proposal closed
The remaining funds (121XMR) have been donated to the general fund.
- Xiphon has not been seen/heard of for >2 years.
- This proposal has been abandonned.
- Xiphons total earnings from the CCS (year/xmr/price on day of payout(s))
- 2019: 190, $12533.36 USD
- 2020: 1051, $86310.75 USD
- 2021: 222.0, $56598.92 USD
- Should they re-appear they are welcome to create a fresh proposal.
# What
Would love to prolong my Monero coding for another 3 months and dedicate 40h/week, i.e. to work full-time.
There are some specific tasks i would like to work on first.
* CORE: Integrate **@tevador**'s 14-word seed (with wallet restore height encoded) library (related discussion https://github.com/monero-project/monero/issues/6639, PoC https://github.com/tevador/monero-seed)
* GUI: Tooltips implementation
* GUI: Restoring wallet from seed - next word prediction/suggestion
* GUI: Remote node mode - multiple remote nodes support
As usual will be working on Monero Core and Monero GUI code:
* Inspecting and implementing ongoing feature requests
* Submitting bug fixes
* New functionality
* Code review
* Putting my efforts where it is appropriate
# Who
I'm Xiphon, active contributor to Monero Core and Monero GUI since July 2018.
My previous CCS proposals:
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/99
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/55
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/122
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/139
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/157
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/179
During the recent 30h/week proposal i implemented:
* GUI: Reproducible Windows builds (docker)
https://github.com/monero-project/monero-gui/#building-reproducible-windows-static-binaries-with-docker-any-os
* GUI: Docker Windows static build: Qt 5.15 support
* GUI: Send to multiple addresses
https://github.com/monero-project/monero-gui/pull/3332
* CLI: Auto-updater. Updates downloading and verification functionality *Work In Progress*
in order to not clutter the proposal i'm not listing all the related pull requests. I strongly encourage you to visit the following Github links to see the amount of work done by me, its quality and importance for the Monero Project.
Please check the following links to inspect my Monero-related activity:
- Monero Core - https://github.com/monero-project/monero/pulls?q=is%3Apr+author%3Axiphon
- Monero GUI - https://github.com/monero-project/monero-gui/pulls?q=is%3Apr+author%3Axiphon
# Proposal
Looking forward to coding and accomplishing mentioned and ongoing tasks and issues. Implementing new code/functionality that will be needed. Investigating bug reports and submitting bug fixes, fixing build and compilations errors/warnings/etc. Would like to inspect and complete/fix/address issues and feature requests that are reasonably desired and/or worth to spend time on. Improving GUI, fixing UI/UX issues, implementing design changes.
Dedicate 40 hours per week to Monero Project, at 55 USD/hour rate for a total of 181 XMR. XMR/USD rate is based on the 14-day moving average exponential on Kraken from 5 Feb 2021, which is approximately 146.17 XMR/USD.
---
layout: wip
layout: cp
title: xiphon part time coding (3 months)
author: xiphon
date: 15 Oct 2019
......@@ -7,23 +7,21 @@ amount: 237
milestones:
- 1st-month:
funds: 33% (79 XMR)
done:
status: unfinished
done: 11 November 2019
status: finished
- 2nd-month:
funds: 33% (79 XMR)
done:
status: unfinished
done: 31 December 2019
status: finished
- 3rd-month:
funds: 33% (79 XMR)
done:
status: unfinished
done: 31 January 2020
status: finished
payouts:
- date:
amount:
- date:
amount:
- date:
amount:
- date: 9 December 2019
amount: 79
- date: 3 February 2020
amount: 158
---
# What
......
---
layout: cp
title: xiphon part-time coding (3 months)
author: xiphon
date: 30 Jan 2020
amount: 307
milestones:
- name: February
funds: 33% (102 XMR)
done: 29 February 2020
status: finished
- name: March
funds: 33% (102 XMR)
done: 31 March 2020
status: finished
- name: April
funds: 34% (103 XMR)
done: 30 April 2020
status: finished
payouts:
- date: 5 May 2020
amount: 307
---
# What
Would love to prolong my part time Monero coding for another 3 months.
There are a couple of specific tasks i would like to work on first.
* Improve automatic public node selection algorithm used in `Simple mode` (`---bootstrap-daemon-address auto`).
Currently we use first iteration of the algo and according to the users' reports there is a room for improvement.
* Implement update downloading and verification functionality in Monero GUI.
There is standalone [monero-update](https://github.com/moneromooo-monero/monero-update) tool already.
Integrating the tool into Monero GUI is the next logical step forward, i.e. downloading and verification new update binaries just in one click.
* Focus on Monero daemon performance and stability.
I plan to do monerod cpu/memory profiling to investigate possible bottlenecks/weak places, implement appropriate optimizations/fixes based on the profiling results.
As usual will be working on Monero Core and Monero GUI code:
* Inspecting and implementing outstanding feature requests
* Submitting bug fixes
* New functinality
* Addressing ongoing issues
* Code review
* Putting my efforts where it is appropriate
# Who
I'm Xiphon, active contributor to Monero Core and Monero GUI since July 2018.
My previously completed CCS proposals:
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/99
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/55
During the recent 20h/week proposal i focused on fixing ongoing issues, sumbitted numerous bug fixes and improvements to both Monero GUI and Monero Core repositories.
I strongly encourage you to visit the following Github links to see the amount of work done by me, its quality and importabnce for the Monero Project.
Please check the following links to inspect my Monero-related activity:
- Monero Core - https://github.com/monero-project/monero/pulls?q=is%3Apr+author%3Axiphon
- Monero GUI - https://github.com/monero-project/monero-gui/pulls?q=is%3Apr+author%3Axiphon
# Proposal
Looking forward to coding and accomplishing mentioned and ongoing tasks and issues. Implementing new code/functionality that will be needed. Investigating bug reports and submitting bug fixes, fixing build and compilations errors/warnings/etc. Would like to inspect and complete/fix/address issues and feature requests that are reasonably desired and/or worth to spend time on. Improving GUI, fixing UI/UX issues, implementing design changes.
Dedicate 30 hours per week to Monero Project, at 55 USD/hour rate for a total of 307 XMR. XMR/USD rate is based on the 14-day moving average exponential on Kraken from 29 Jan 2020, which is approximately 64.43 XMR/USD.
---
layout: cp
title: xiphon part-time coding (3 months)
author: xiphon
date: 16 Apr 2020
amount: 371
milestones:
- name: May
funds: 33% (123 XMR)
done: 31 May 2020
status: finished
- name: June
funds: 33% (123 XMR)
done: 30 June 2020
status: finished
- name: July
funds: 33% (125 XMR)
done: 31 July 2020
status: finished
payouts:
- date: 6 July 2020
amount: 246
- date: 21 August 2020
amount: 125
---
# What
Would love to prolong my part time Monero coding for another 3 months.
There are some specific tasks i would like to work on first.
* Add Socks5 support in Monero GUI Advanced mode (remote node only).
Tails, Whonix or any system with restricted network access (through socks proxy).
* Portable mode for Monero GUI.
USB stick with Monero GUI. Right now there is no way to quickly access your monero on another PC except manually copying the wallet files and installing Monero GUI there.
Use Monero GUI without leaving a trace on the PC.
* Docker Monero GUI Linux static build. Includes finishing CMake integration first.
Provides an easy way (it's literally a one step process) to build Monero GUI from sources.
Also might be used for Monero GUI reproducible builds in the future.
As usual will be working on Monero Core and Monero GUI code:
* Inspecting and implementing ongoing feature requests
* Submitting bug fixes
* New functionality
* Code review
* Putting my efforts where it is appropriate
# Who
I'm Xiphon, active contributor to Monero Core and Monero GUI since July 2018.
My previous CCS proposals:
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/99
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/55
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/122
During the recent 30h/week proposal i implemented:
* Improved automatic public node selection algorithm used in Simple mode (`---bootstrap-daemon-address auto`)
https://github.com/monero-project/monero/pull/6357
Introduced a scoring system for automatically discovered public nodes, penalizing failing nodes and prioritizing the stable ones.
Please see the linked Github pull request for technical details.
* Monero GUI one-click update downloading and verification
https://github.com/monero-project/monero-gui/pull/2832
https://github.com/monero-project/monero-gui/pull/2824
https://github.com/monero-project/monero-gui/pull/2819
Verifies update binary using `shasum`-compatible (SHA256 algo) output signed by two maintainers.
Downloads both required files from getmonero.org:
* `hashes.txt` - signed `shasum` output generated by a maintainer
* `hashes.txt.sig` - detached signature of `hashes.txt` generated by another maintainer
Hardcoded @binaryFate, @fluffypony, @luigi1111 public keys.
Update verification requires using any 2 of them.
* Reduced Monero daemon startup time *(Work in progress)*
https://github.com/monero-project/monero/pull/6443
https://github.com/monero-project/monero/pull/6468
It takes quite a long time to just start the daemon, sometimes it takes up to ~90 seconds on my test machines.
Plan to significantly reduce the daemon startup time.
Submitted numerous bug fixes and improvements to both Monero GUI and Monero Core repositories.
I strongly encourage you to visit the following Github links to see the amount of work done by me, its quality and importance for the Monero Project.
Please check the following links to inspect my Monero-related activity:
- Monero Core - https://github.com/monero-project/monero/pulls?q=is%3Apr+author%3Axiphon
- Monero GUI - https://github.com/monero-project/monero-gui/pulls?q=is%3Apr+author%3Axiphon
# Proposal
Looking forward to coding and accomplishing mentioned and ongoing tasks and issues. Implementing new code/functionality that will be needed. Investigating bug reports and submitting bug fixes, fixing build and compilations errors/warnings/etc. Would like to inspect and complete/fix/address issues and feature requests that are reasonably desired and/or worth to spend time on. Improving GUI, fixing UI/UX issues, implementing design changes.
Dedicate 30 hours per week to Monero Project, at 55 USD/hour rate for a total of 371 XMR. XMR/USD rate is based on the 14-day moving average exponential on Kraken from 15 Apr 2020, which is approximately 53.40 XMR/USD.
---
layout: cp
title: xiphon part-time coding (3 months)
author: xiphon
date: 20 Jul 2020
amount: 215
milestones:
- name: Sep
funds: 33% (71 XMR)
done: 30 September 2020
status: finished
- name: Oct
funds: 33% (71 XMR)
done: 31 October 2020
status: finished
- name: Nov
funds: 33% (73 XMR)
done: 30 November 2020
status: finished
payouts:
- date: 15 October 2020
amount: 71
- date: 4 November 2020
amount: 71
- date: 11 December 2020
amount: 73
---
# What
Would love to prolong my part time Monero coding for another 3 months.
There are some specific tasks i would like to work on first.
* Monero GUI Windows static build.
Plan to utilize cross-compilation using recently implemented Docker Monero GUI Linux static build environment.
If there will be any unresolvable issue, we can use Windows native Docker container (based on Windows Server image), but the approach will require using Windows as a host system.
* Investigate (and implement if possible) Monero GUI MacOS bundle build environment.
* Reproducible Monero GUI Linux build.
Depending on the first task, might also implement Windows reproducible builds, this is unclear at the moment.
* Explore Windows GUI binaries signing with a Microsoft certificate.
Could help us to mitigate AV related issues on Windows.
Figure out the procedure and the requirements.
Signing doesn't play well with reproducibility. Think this could be resolved by using/implementing some custom software or a script that will verify signed binary contents skipping the signature. Want to investigate this.
As usual will be working on Monero Core and Monero GUI code:
* Inspecting and implementing ongoing feature requests
* Submitting bug fixes
* New functionality
* Code review
* Putting my efforts where it is appropriate
# Who
I'm Xiphon, active contributor to Monero Core and Monero GUI since July 2018.
My previous CCS proposals:
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/99
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/55
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/122
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/139
During the recent 30h/week proposal i implemented:
* Docker Monero GUI Linux static build. CMake integration.
`release` build target support (Linux, Windows, MacOS).
`release-static` build target support (Linux and Windows).
CMake continuous integration (Github Workflows) support on Linux, Windows, MacOS hosts.
A user can now run just a couple of commands to build Monero GUI Linux static binary:
https://github.com/monero-project/monero-gui/#building-linux-static-binaries-with-docker-any-os
* Socks5 support in Monero GUI Advanced mode (remote node only) *(Work in progress)*
Runtime proxy configuration support in Monero Core Wallet API.
Integrating Socks5 proxy support into the GUI right now.
* Portable mode for Monero GUI
https://github.com/monero-project/monero-gui/pull/3026
in order to not clutter the proposal i'm not listing all the related pull requests this time. I strongly encourage you to visit the following Github links to see the amount of work done by me, its quality and importance for the Monero Project.
Please check the following links to inspect my Monero-related activity:
- Monero Core - https://github.com/monero-project/monero/pulls?q=is%3Apr+author%3Axiphon
- Monero GUI - https://github.com/monero-project/monero-gui/pulls?q=is%3Apr+author%3Axiphon
# Proposal
Looking forward to coding and accomplishing mentioned and ongoing tasks and issues. Implementing new code/functionality that will be needed. Investigating bug reports and submitting bug fixes, fixing build and compilations errors/warnings/etc. Would like to inspect and complete/fix/address issues and feature requests that are reasonably desired and/or worth to spend time on. Improving GUI, fixing UI/UX issues, implementing design changes.
Dedicate 30 hours per week to Monero Project, at 55 USD/hour rate for a total of 215 XMR. XMR/USD rate is based on the 14-day moving average exponential on Kraken from 20 Aug 2020, which is approximately 92.16 XMR/USD.
---
layout: cp
title: xiphon part-time coding (3 months)
author: xiphon
date: 1 Nov 2020
amount: 162
milestones:
- name: Dec
funds: 33% (54 XMR)
done: 31 December 2020
status: finished
- name: Jan
funds: 33% (54 XMR)
done: 31 January 2021
status: finished
- name: Feb
funds: 33% (54 XMR)
done: 29 March 2021
status: finished
payouts:
- date: 25 January 2021
amount: 54
- date: 18 February 2021
amount: 54
- date: 30 March 2021
amount: 54
---
# What
Would love to prolong my part time Monero coding for another 3 months.
There are some specific tasks i would like to work on first.
* CLI: Auto-updater. Updates downloading and verification functionality (will verify gitian signatures additionally to the GUI auto-updater features https://www.reddit.com/r/Monero/comments/jfanxi/gui_v01711_oxygen_orion_is_now_available_via_the/)
* GUI: Docker Windows static build: Qt 5.15 support
* GUI: Reproducible Windows builds (docker)
* GUI: Send to multiple addresses (related discussion https://github.com/monero-project/monero-gui/issues/740)
As usual will be working on Monero Core and Monero GUI code:
* Inspecting and implementing ongoing feature requests
* Submitting bug fixes
* New functionality
* Code review
* Putting my efforts where it is appropriate
# Who
I'm Xiphon, active contributor to Monero Core and Monero GUI since July 2018.
My previous CCS proposals:
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/99
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/55
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/122
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/139
* https://repo.getmonero.org/monero-project/ccs-proposals/merge_requests/157
During the recent 30h/week proposal i implemented:
* Docker Monero GUI Windows static build.
A user can now run just a couple of commands to build Monero GUI Windows static binary:
https://github.com/monero-project/monero-gui/#building-windows-static-binaries-with-docker-any-os
* Finished CMake integration: using CMake for all Monero GUI build targets now.
* Docker Monero GUI Linux static builds - implemented Qt 5.15 support.
* Docker Monero GUI Android build - updated to Qt 5.15, CMake support.
https://github.com/monero-project/monero-gui/#building-android-apk-with-docker-any-os-experimental
* Reproducible Monero GUI Linux builds *Work In Progress*
in order to not clutter the proposal i'm not listing all the related pull requests. I strongly encourage you to visit the following Github links to see the amount of work done by me, its quality and importance for the Monero Project.
Please check the following links to inspect my Monero-related activity:
- Monero Core - https://github.com/monero-project/monero/pulls?q=is%3Apr+author%3Axiphon
- Monero GUI - https://github.com/monero-project/monero-gui/pulls?q=is%3Apr+author%3Axiphon
# Proposal
Looking forward to coding and accomplishing mentioned and ongoing tasks and issues. Implementing new code/functionality that will be needed. Investigating bug reports and submitting bug fixes, fixing build and compilations errors/warnings/etc. Would like to inspect and complete/fix/address issues and feature requests that are reasonably desired and/or worth to spend time on. Improving GUI, fixing UI/UX issues, implementing design changes.
Dedicate 30 hours per week to Monero Project, at 55 USD/hour rate for a total of 164 XMR. XMR/USD rate is based on the 14-day moving average exponential on Kraken from 8 Nov 2020, which is approximately 120.95 XMR/USD.
---
layout: wip
title: XMRChat - a service for content creators to receive messages and tips in Monero.
author: FiatDemise
date: December 8, 2024
amount: 114
milestones:
- name: Milestone 1 - MVP (minimum viable product) using LWS
funds: 40
done: August 4, 2024
status: finished
- name: Milestone 2 - video display of xmrchats with Streamyard and OBS, find creator page, private xmrchats, making repo open source
funds: 30.56
done: November 20, 2024
status: finished
- name: Milestone 3 - creator specific minimum tip amount, links to more creator content + new tab UI for that and other settings, audio tip received notification, How To section in FAQ, old xmrchats expiration, admin page, site monitoring.
funds: 17
done:
status: unfinished
- name: Milestone 4 - on screen special effects and notifications based on tip tier, moderator / cohost page, feature currently live streams, fee system
funds: 27
done:
status: unfinished
payouts:
- date: 19 March 2025
amount: 70.56
- date:
amount:
- date:
amount:
- date:
amount:
---
_Note: 70.56XMR has been awarded to XMRChat from [TipXMR](https://ccs.getmonero.org/proposals/tipxmr.live.html)_
Who?
Douglas Tuman - Host of popular YouTube show, Monero Talk. Host of weekly show Monerotopia livestreamed in multiple platforms. Creator of Monerotopia annual conference - monerotopia.com. Creator of the Copamonero annual Monero-sponsored soccer tournament - copamonero.com. Sets up booth/tent at Libertarian party conventions and Porcfest to spread Monero awareness. Creator of gratuitas.org coffee beans business (and coffee brewer/bartender at XMR meetups/conventions. Founder of xmrbazaar.com online, p2p marketplace. Founder of plug-n-play XMR node implementation, the Nodo - moneronodo.com. X handle @DouglasTuman.
FiatDemise - Guy with project management experience that joined the Monero community in 2020. Helped save Kuno (kuno.anne.media) and volunteers time there as a moderator. Contributed to testing and provided feature feedback for xmrbazaar. Created a Monero for All brochure that is available in several languages and was distributed at Porcfest 2024. X handle @FiatDemise.
Saeed - Front-end web developer found via Monero Jobs & Proposals Telegram group, GitHub https://github.com/sa8ab. Developed dex alcor.exchange, github.com/avral/alcor-ui. Created raceroms.com. Has a network of other front and back end developers he partners with.
What?
XMRChat is website that provides content creators with a service, allowing them a way to receive messages and tips in Monero. We launched https://xmrchat.com/ on 8/4/2024, using it for the first time in MoneroTopia episode 177, where Doug interviewed Saeed, going over the project and what the site is capable of. https://www.youtube.com/watch?v=f1sy8ICsgBQ. We are looking to raise a total amount of 114 XMR at this time, split in 4 milestones as seen above.
Website: https://xmrchat.com/
X Account: https://x.com/xmr_chat
Code: https://github.com/sa8ab/xmrchat
How we got started?
In early 2024, FiatDemise was watching a streamer, one that accepts tips from viewers and reads their messages as part of their show. They accept fiat using YouTube Superchats, Rumble Rants, and Streamlabs. They publicly stated they’d like to accept crypto too. FiatDemise started a conversation with their staff to try to get them to use Luke Smith’s Shadowchat. FiatDemise volunteered to pay for a company to install and configure it too. After some promising back and forth, FiatDemise got a response saying the team’s web dev / admin was too busy with current projects and they didn’t want to devote any time towards installing or managing Shadowchat. FiatDemise learned that the market wanted a very simple solution that doesn’t require any installation, hosting, or technical knowledge.
At the time, FiatDemise was volunteering as a tester for xmrbazaar and raised the idea of a simple, hosted superchat solution in that Matrix group. Doug supported it right away, and we began working on requirements and giving shape to the vision with a Balsamiq wireframe. We worked with one developer to create a rough proof of concept. Then we found Saeed, a talented developer who could take the project to the next level. We saw the limitation of RPC, only being able to monitor incoming tips for one wallet, which wouldn’t work with the goal of hosting a solution for many content creators. After research, trial and error, and consultations with VTNerd and Radanne, we got LWS to work. After several more updates, the MVP was launched.
---
layout: wip
layout: cp
title: Monero Outreach Round 3
author: xmrhaelan
date: May 22, 2019
date: 22 May 2019
amount: 110
milestones:
- name: Milestone 1
funds: 36.38
done:
status: unfinished
funds: 36.66
done: 4 May 2020
status: finished
- name: Milestone 2
funds: 36.68
done:
status: unfinished
funds: 36.67
done: 1 November 2020
status: finished
- name: Milestone 3
funds: 36.68
funds: 36.67
done:
status: unfinished
payouts:
- date: TBD
amount: 36.68
- date: TBD
amount: 36.68
- date: TBD
amount: 36.68
- date: 4 May 2020
amount: 36.66
- date: 23 November 2020
amount: 36.67
- date:
amount: 36.67
---
### Proposal closure/repurposed
_All remaining funds (36.67 XMR) have been transferred to [Monerotopia 2024 marketing and publicity](https://ccs.getmonero.org/proposals/monerotopia2024publicity.html)_
A big thanks again to everyone who supported Round 2 of funding for Monero Outreach! Final report can be found [here](https://www.reddit.com/r/Monero/comments/bonpt3/monero_outreach_round_2_ccs_final_report_see_what/).
We have made significant progress in our ability to support and enhance the outreach efforts of the Monero Community, and are beginning to receive requests for support from various areas of the Monero ecosystem. We are honored to be able to support Monero in this way, and we look forward even more to what is ahead!
......
---
layout: cp
title: xmrSale Payment Processor Development
author: xmrsale
date: 10 August, 2021
amount: 85
milestones:
- name: Functioning Monero payment processor with docker image install and woocommerce store
funds: 25
done: 2 October 2021
status: finished
- name: Text tutorial docs and website with woocommerce demo store
funds: 10
done: 1 November 2021
status: finished
- name: Zeronode mode viewkeys
funds: 20
done: 10 March 2021
status: finished
- name: RPC via tor hidden service
funds: 10
done:
status: unfinished
- name: Another webstore plugin
funds: 20
done:
status: unfinished
payouts:
- date: 18 October 2021
amount: 25
- date: 22 November 2021
amount: 10
- date: 17 March 2022
amount: 20
- date:
amount:
- date:
amount:
---
### Proposal closed
The remaining funds (30XMR) have been absorbed by https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/374
# What
[xmrSale](https://github.com/xmrsale/xmrSale) is a lightweight Monero payment processor that connects to your own Monero node, striving to be modular and lightweight. xmrSale has an accessible API written in python that talks to your own Monero node, uses RPC to generate new addresses, and monitors payment success with your own copy of the Monero blockchain.
xmrSale will make it easy to embed Monero donation buttons into your website with an HTML iframe tag, accepting donations from your supporters and community. Through an xmrSale Woocommerce plugin, we are going to allow anyone to self-host their own Monero accepting online store. Monero has been thriving in the "host your own tools" niche of the internet, and self-custody payments are crucial in this mission. Existing Monero eccommerce processors are custodial, sacrificing the privacy of you and your customers.
You can explore a demo of xmrSale here: [https://try.xmrsale.org](https://try.xmrsale.org)
** Please do not donate using the demo, please donate via the CCS **
# Who
As an anonymous developer, to prove my intention and dedication I have already put significant work into establishing the project to a working state (experimental!), and am somewhat close to achieving the first milestone.
# Milestones
With your support, I will continually work to ensure that xmrSale remains up-to-date with the SatSale project (from which we are based on), and also build above and beyond Monero specific features as listed below.
**Functioning Monero payment processor with node connection and docker image** (September)
* Get the project into a functioning state, where anyone running a Monero node could clone the repository, edit the config, and run xmrSale themself.
* Docker image installation option
* Instant payments
* Functioning xmrSale woocommerce plugin
**Text tutorial docs and website** (September)
* Write coherent and easy to follow installation instructions, aligned to various node configurations.
* Multiple example configs. Tor & HTTPS configurations. Nginx
* A functioning wordpress Monero store, with a demo store hosted 24/7
* Text tutorial
* Basic HTML and CSS website
**Zeronode mode viewkeys** (December)
* A mode that does not require a node to run, uses block explorers and viewkeys to check payments.
**RPC via tor hidden service** (December)
* Rather than use SSH to bridge to node, add option for Tor hidden services.
**Build a plugin for another ecommerce site** (Q1)
* Community can decide! Perhaps shopify? Let us know!
# Further development and research (not current milestones)
* Improved user interface
* More consistent price feeds (preload price too)
* Single click install container that deploys to a VPS with a node
* Any developments in the monero payment protocol. Including any layer 2.
* Security analysis
* Stress test under concurrent payments
* Improved user experience with payment timeouts
* Video installation tutorials
I will take community desire very seriously to guide this project, so if there is something you want but don't see here then please let us know! This proposal will expire 1 March, 2022.
cheers,
xmrsale dev
xmrsale@protonmail.com