From 94dde1f45e1002b82f673ea149dc2438720a4a7f Mon Sep 17 00:00:00 2001 From: Boog 900 Date: Fri, 28 Jun 2024 14:39:23 +0000 Subject: [PATCH] Add boog_3_months_cuprate_2 --- boog_3_months_cuprate_2.md | 87 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 boog_3_months_cuprate_2.md diff --git a/boog_3_months_cuprate_2.md b/boog_3_months_cuprate_2.md new file mode 100644 index 0000000..7e046db --- /dev/null +++ b/boog_3_months_cuprate_2.md @@ -0,0 +1,87 @@ +--- +layout: fr +title: Boog900 full time work on Cuprate (3 months) +author: Boog900 +date: June 28, 2024 +amount: 215 +milestones: + - name: Month 1 + funds: 71 XMR + done: + status: unfinished + - name: Month 2 + funds: 72 XMR + done: + status: unfinished + - name: Month 3 + funds: 72 XMR + done: + status: unfinished +payouts: + - date: + amount: + - date: + amount: + - date: + amount: +--- + +This proposal is to continue my work on [Cuprate](https://github.com/Cuprate/cuprate). + +# Who + +I am [Boog900](https://github.com/Boog900), you can see my last CCS [here](https://ccs.getmonero.org/proposals/boog_3_months_cuprate.html). + +# What + +Cuprate is very close to having an alpha binary ready. During my last CCS I created a test binary with the components +we currently have to test a full sync, a full sync with this binary wasn't achieved due to a few issues discovered, which have since +been fixed, however timings up to the height (~2,300,000) we did reach are promising for Cuprate's performance. + +This proposal will be for 3 months work on Cuprate while continuing coordination of the Cuprate project and also being an active maintainer +for monero-rs. + +My main plan is to work towards what is needed to achieve a working alpha binary that can sync, stay synchronized, handle reorgs and +participate in transaction propagation. + +This will include: + +### Blockchain service + +The blockchain service is what will keep the blockchain's state, handle incoming blocks, decide when to re-org, etc. It will use +the consensus and database services created in previous CCS proposals (https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/405 & https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/422). + +### Tx Pool + +The transactions in the txpool will be stored in a separate database from where the blockchain is stored, using the same database abstraction. +I will work on the txpool tables and the service that will handle txpool requests from other parts of Cuprate. + +Hinto, as apart of their CCS, has already began work here. Although Hinto's CCS includes a small note about completing the persistent transaction +pool: `The persistent transaction pool will be finished within this CCS`, I will be taking over from where hinto has left off as the exact +transactions pool tables are yet to be decided and the transaction pool service is heavily tied in to other areas I will be working on. + +### Peer Protocol Request Handler + +The peer protocol request handler is what is given to `cuprate-p2p`, it is used to handle requests for blocks/transactions and other chain data. +In our test binary I created a mock request handler that just doesn't respond to requests, this lead to pretty unstable connections, with the other +components here though I will be able to create a working request handler. + +### Other Tasks + +There are other smaller things that need to be worked on for Cuprate to be ready for an alpha binary, mainly bug fixes and leftover TODOs. + +# Milestones + +Unlike my previous CCS proposals, I am basing milestones on hours worked instead of completed work. + +There are a few reasons for this. The exact work needed is likely to change as we get closer to an alpha binary, for example, bugs that need +fixing may come up. It also brings the proposal closer to the average full-time developer proposal. + +Although doing milestones based on time requires more trust, we are doing weekly [Cuprate meetings](https://github.com/monero-project/meta/issues/1028) +where I am, and will be reporting progress. + +# Funding + +I am asking for $55/hr for 50 hrs/week for 3 months at $166/XMR. This gives 215 XMR. + +This is a raise over my last CCS ($45 -> $55), I believe this is justified given my past work.