Анінс!!! :: hinto-janai повна зайнятість над Cuprate | (3 місяці)

hinto-janai повна зайнятість над Cuprate (3 місяці)

ccs.getmonero.org
5 травня 2024 р

Що

Cuprate — це альтернативна реалізація вузла Monero, над якою зараз працюємо я та Boog900 .

Наступний великий розділ, який потребує доопрацювання, це сервер RPC. Інший учасник, yamabiiko , також зацікавлений у роботі над сервером RPC, хоча наразі вони мають обмежений час, тому я поки що почну з цього окремо (за великої допомоги від Boog900).

ВООЗ

Я гінто-джанай .

Попередні CCS: https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/422.

сервер RPC

yamabiiko розпочав обговорення дизайну сервера RPC тут , а Boog900 запропонував деякі зміни.

Час першого етапу буде витрачено на:

  • Конкретизація поточної пропозиції або потенційний пошук кращих альтернатив
  • Підготовка початкового проектного документа, подібного доdatabase/

Поточний дизайн бази даних було розподілено на кілька місяців, хоча дизайн сервера RPC мав би займати набагато менше часу.

Після встановлення дизайну друга/третя віха розпочнеться в бібліотеці інтерфейсу RPC – терміни для цього – до кінця цього CCS. Це включає тестування, документацію тощо. Поточний план полягає в тому, щоб відокремити інтерфейс від внутрішнього обробника RPC. Після завершення інтерфейсу внутрішній обробник(и) буде завершено в іншому CCS (потенційно розділеному між учасниками).

До кінця цього CCS початковий проектний документ буде відшліфовано, щоб відобразити реалізацію, подібно до цього , а документація користувача також буде завершена (знову, як database/).

Отриманий проектний документ буде додано до книги архітектури Cuprate (див. нижче).

Інша робота

Є також інша робота, яку, на мою думку, було б корисно розпочати раніше, ніж пізніше.

Вони будуть розпочаті під час цього CCS:

  • Книга про архітектуру Купрата
  • Постійний пул транзакцій
  • monero-coreRPC PRs
  • Пакет бенчмаркінгу
  • Проектні ворсинки

Постійний пул транзакцій буде завершено в рамках цього CCS, решта буде зростати разом із проектом.

Книга про архітектуру Купрата

Ця книга схожа на книгу протоколів Cuprate , хоча вона призначена для реалізації Cuprate. Проект RPC буде задокументований у цій книзі (разом із усіма іншими компонентами) у міру їх реалізації. Поточний документ бази даних також буде перенесено до книги.

Поточний приблизний проект: https://hinto-janai.github.io/cuprate-architecture

Очікувані включені елементи:

  • Реляційна карта компонентів (RPC, DB, завантажувач блоків, верифікатор тощо)
  • Компонентні конструкції
  • Модель потоку (коли/де/скільки потоків створюється? з якою метою?)
  • Модель ресурсів (файли, сокети, використання пам'яті)
  • Інструменти (реєстрація, методи збору даних)
  • Відомі неефективності/компроміси, їх обґрунтування

Постійний пул транзакцій

Враховуючи, що реалізація RPC займе деякий час, бажано реалізувати постійний пул транзакцій раніше, ніж пізніше; Інший варіант, який має Cuprate, — це створити пул транзакцій лише в пам’яті, хоча це було б лише тимчасовим проміжком і потребувало б більше роботи в довгостроковій перспективі, тому цю роботу буде виконано зараз.

monero-coreRPC PRs

Оскільки я переглядаю всі monerodметоди/об’єкти RPC і getmonero.orgдокументацію, я відкрию PR monero-coreабо створю проблему, якщо помічу будь-які невідповідності.

Пакет бенчмаркінгу

Створення пакету порівняльного аналізу для компонентів Cuprate дозволить збирати та зберігати інформацію про час виконання коду. Ці дані можна використовувати пізніше для виявлення регресії продуктивності, а також для оптимізації вимірювання.

Створення індивідуального інструменту порівняльного аналізу було б окремим проектом, тому Cuprate планує використовувати проект Criterion .

Проектні ворсинки

Лінти призводять до того, що попередження компілятора стають серйозними помилками, блокуючи компіляцію. Приклад: serai-dex.

CI Cuprate вже не відповідає попередженням (серед інших педантичних речей), хоча є багато додаткових дрібниць, які ми могли б додати. Вибір лінтів, які мають сенс для Cuprate, встановлює вищі стандарти коду для проекту. Налаштування цього та виправлення поточного коду не потребує надто багато зусиль, але з часом це затягнеться.

Фінансування

Я прошу ставку, ближчу до ринкової, прочитайте тут .

Я прошу $65 + 0,05 XMR на годину протягом 480 годин за $130/XMR. Це дає 264 XMR.

Останні дії показали, що monerod він погано справляється з навантаженням. Крім того, документації на системному рівні мало; зміни, необхідні для вирішення подібних проблем, є складнішими, ніж необхідні. Я не вірю, що це має повторюватися.

Я вважаю, що це справедлива ставка для створення добре задокументованої та зручної для обслуговування інфраструктури. Я також прошу менше годин, ніж раніше, оскільки я не вірю, що зможу довго продовжувати працювати в поточному темпі.

Коментарі

Популярні дописи з цього блогу

«Люди в блакитному» частина 2. Встановили агентів російських спецслужб у залі «Крокус».

«Вилаят Хорасан», подробности биографий подозреваемых и версии теракта

"Men in Blue" part 2 We have identified agents of the Russian secret services in the "Crocus" hall Our editorial staff continues to analyze photos and videos of the terrorist