Общее описание
В текущий момент проект находится в сложной ситуации. Основная команда вынужденно прекратила работу над Tornado после санкций OFAC 8 августа 2022 года, а предыдущий комьюнити-разработчик Gozzy ушёл со скандалом после отклонения proposal 18. Я не планирую давать оценку его работе, однако на текущий момент чаты проекта не модерируются и захвачены скамерами, а сайты Tornado в клирнете недоступны.
Поскольку за время с ухода Gozzy никто не выразил желание продолжить восстановление и развитие проекта, а новой команды разработчиков нет и не предвидится, я принял решение предложить DAO рассмотреть мою кандидатуру на должность разработчика проекта.
Заявленные обязанности
Я, как разработчик, обязуюсь:
- Каждый день (за исключением форсмажоров) появляться в сети, отвечать на возникшие вопросы пользователей в чате (русскоязычном или новосозданном англоязычном), на этих двух языках. В два выходных каждую неделю буду помогать лишь с проблемами критической важности, ответы на все остальные уже в понедельник. Важно - на все вопросы, не связанные с приватными данными, буду отвечать исключительно в чате, чтобы в будущем я мог дать ссылку пользователю с таким же вопросом;
- Поддерживать документацию в актуальном состоянии и работоспособность основных внешних сервисов проекта (classic-ui, classic-relayer, nova-ui, tornado-cli, forum, git), а также развивать проект в направлении большей независимости, безопасности и скорости работы;
- Рассматривать и обсуждать глобальные предложения пользователей на форуме, а также давать ответ на issue и pull requests комьюнити-контрибьюторов на git.tornado.ws. Все баги, улучшения сервисов и прочее гарантирую принимать во внимание только там, поскольку в чате или личных сообщениях, которых у меня даже сейчас много, я всё увидеть и запомнить не могу;
- Продвигать проект в соцсетях, пытаться осуществлять связь с менеджерами крупных платформ (CoinMarketCap, CoinGecko) для актуализации информации о проекте (нужные контакты уже получены) и повышать его доступность для новых пользователей;
- Модерировать англоязычный чат, когда он будет создан, держать его открытым;
- Поддерживать реальную свободу дискуссии - никого не блокировать в личных сообщениях и чатах, за исключением, разумеется, спамеров, скамеров и неадекватных личностей, допускающих оскорбления.
Планы развития и поддержки сервисов проекта
- Создание новой инфраструктуры сервисов проекта - основной сайт, nova, документация, форум, гит;
- Решение проблемы с цензурирующими RPC - поднятие собственных RPC для обеспечения быстроты выводов без сложностей для пользователей на основных сетях проекта (как минимум, mainnet и bsc);
- Фикс программного обеспечения для релееров - сборка валидного билда для sidechains, автоматический скрипт для debian-дестрибутивов линукса, который будет запускать релеера с минимальными действиями со стороны пользователя;
- Упрощение работы с CLI, добавление автоматического выбора релеера без указания пользователем по корректной формуле, описанной здесь;
- Актуализация документации, смена ссылок и перевод её на другие языки для удобства пользователей протокола - я лично займусь переводом на русский, поскольку русскоговорящее комьюнити весьма велико, и попрошу администратора китайского чата DorisMM заняться переводом на свой язык (разумеется, не бесплатно);
- [подлежит обсуждению] внос актуальных ссылок на комьюнити-чаты и сайты в блокчейн-записи tornadocash.eth - чтобы новые пользователи могли легко находить сервисы проекта или устанавливать контакт с разработчиками или другими пользователями.
Мой опыт
- Почти десять лет разработки на NodeJS (на нём написан tornado-cli и многие библиотеки Tornado, такие как websnark, circomlib и так далее)
- более пяти лет профессионального использования TypeScript в web-разработке и всех сопутствующих инструментов, в том числе фреймворков для создания веб-приложений (Gatsby, Next.js и в том числе Nuxt, на котором написан classic-ui, nova-ui и relayers-network)
- Несколько лет фрагментарного опыта разработки на Solidity
- Высшее математическое образование, понимание ZK-SNARK и алгоритмов, использующихся в работе Tornado
Оплата
Ввиду моих высоких навыков, возлагаемых на меня непростых обязанностей и учитывая сложность и ненормированность работы, а также юридические риски, считаю справедливым следующее:
Основная зарплата: 30 000$ в квартал (91 день)
Компенсация за расходы на поддержку сервисов проекта: 6 000$ в квартал (хостинги, домены, аренда мощных серверов для RPC - один такой, с 128 GB RAM, 16 TB SSD и скоростью интернета 1Gbit/sec стоит более 1 000$ в месяц)
Также, обсуждаемо с комьюнити (прошу описать в теме, что вас больше устраивает):
Как вы думаете, имеет смысл сделать квартальные выплаты и пересоздавать каждый квартал или создать сразу на год?
Разница:
При создании на год сумма выплат в TORN фиксируется на момент создания proposal, соответственно, разработчик более мотивирован развивать протокол - он получит больше денег в пересчёте на стейблкоины, если цена токена вырастет за время его работы, и меньше, если цена токена упадёт. При пересоздании proposal раз в квартал сумма выплат за квартал пересчитывается в TORN на момент создания нового proposal, соответственно, разработчик менее привязан к колебаниям цены токена проекта.
Вопрос безопасности:
Выплаты проходят при помощи контракта Sablier v1.1, который отправляет токены разработчику в равных долях в течение всего указанного периода. Всю сумму сразу разработчик получить не может никак, разумеется, и в случае неудовлетворенности комьюнити работой разработчика выплаты всегда можно отменить новым proposal’ом, вызвав функцию cancelStream из контракта Sablier v1.1. Проверить корректность вышенаписанного можно заглянув в код контракта по ссылке выше.
Поскольку я верю в возможность развития проекта и рост токена, мне более импонирует годовой вариант, и я буду рад выслушать мнение комьюнити по этому поводу.
Код предложения будет выложен позже, после обсуждения варианта оплаты (квартальный/годовой) с комьюнити.