Ця репозиторія містить вихідний код розподіленого клієнта валідатора Charon (вимовляється як "харон") - HTTP-клієнта проміжного програмного забезпечення для стейкінга Ethereum, який дозволяє безпечно запускати один валідатор на групі незалежних вузлів.
Charon супроводжується веб-додатком під назвою Distributed Validator Launchpad для розподіленого створення ключів валідаторів.
Charon використовується стейкерами для розподілу відповідальності за запуск валідаторів Ethereum між різними екземплярами і клієнтськими реалізаціями.
Розподілений кластер валідаторів, який використовує клієнт Charon для хеджування ризиків відмов клієнта та обладнання
Найпростіший спосіб протестувати Charon - це за допомогою charon-distributed-validator-cluster репозиторій який містить налаштування docker compose для запуску повного кластера charon на вашому локальному комп'ютері.
Веб-сайт [Obol Docs] (https://docs.obol.tech/) - найкраще місце для початку роботи. Важливими розділами є [вступ] (https://docs.obol.tech/docs/intro), [ключові поняття] (https://docs.obol.tech/docs/int/key-concepts) та [charon] (https://docs.obol.tech/docs/dv/introducing-charon).
Детальна документація по цьому репо знаходиться в папці docs:
- Конфігурація: Налаштування вузла charon
- Архітектура: Огляд архітектури кластерів та вузлів charon
- Структура проекту: Структура теки проекту
- Модель розгалужень та релізів: Модель розгалуження та релізів у Git
- Настанови щодо переходу: Настанови та принципи, що стосуються розробки на основі go
- Внесок: Як зробити внесок у charon; githooks, шаблони PR тощо.
Завжди є charon godocs для документації з вихідного коду.
Charon інтегрується в стек консенсусу Ethereum в якості проміжного програмного забезпечення між клієнтом валідатора і вузлом-маяком через офіційний [Eth Beacon Node REST API] (https://ethereum.github.io/beacon-APIs/#/). Charon підтримує будь-який висхідний вузол-маяк, який обслуговує Beacon API. Charon прагне підтримувати будь-який наступний автономний клієнт валідатора, який використовує Beacon API.
Клієнт | Маяковий вузол | Клієнт валідатора | Примітки |
---|---|---|---|
Teku | ✅ | ✅ | Повністю підтримується |
Lighthouse | ✅ | ✅ | Повністю підтримується |
Lodestar | ✅ | *️⃣ | Проблема сумісності з DVT |
Vouch | *️⃣ | ✅ | Надається тільки клієнт валідатора |
Prysm | ✅ | 🛑 | Клієнту валідатора потрібен gRPC API |
Nimbus | ✅ | ✅ | Незабаром буде підтримуватися |
Мережа Obol ще тільки починає свою діяльність і знаходиться в стадії активного розвитку. Ми рухаємося швидко, тому регулярно заглядайте до нас, щоб відслідковувати прогрес.
Charon є розподіленим валідатором, тому його основним обов'язком є виконання обов'язків валідації. У наступній таблиці показано, які клієнти створили певні обов'язки у загальнодоступній тестовій мережі, а які все ще перебувають на стадії розробки (🚧 )
Duty \ Client | Teku | Lighthouse | Lodestar | Nimbus | Vouch | Prysm |
---|---|---|---|---|---|---|
Attestation | ✅ | ✅ | 🚧 | 🚧 | ✅ | 🚧 |
Attestation Aggregation | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
Block Proposal | ✅ | ✅ | 🚧 | 🚧 | 🚧 | 🚧 |
Blinded Block Proposal (mev-boost) | ✅ | ✅ | 🚧 | 🚧 | 🚧 | 🚧 |
Sync Committee Message | ✅ | ✅ | 🚧 | 🚧 | 🚧 | 🚧 |
Sync Committee Contribution | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |