Модули: Голосование
Начиная с testnet V0.4.0, эта страница устарела. Пожалуйста, обратитесь к коду для справки.
edge_voting
Этот модуль содержит логику голосования. Он использует модуль делегирования для подсчета голосов и должен также использоваться всеми другими модулями, которые хотят обрабатывать голосование. В настоящее время он поддерживает бинарные и многовариантные выборы с дополнительными схемами фиксации/раскрытия с использованием функции Blake2Hash в качестве алгоритма хеширования.
Настройка
Установите rust или обновитесь до последних версий.
curl https://sh.rustup.rs -sSf | sh
rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
rustup update stable
cargo install --git https://github.com/alexcrichton/wasm-gc
Вам также потребуется установить следующие пакеты:
Linux:
sudo apt install cmake pkg-config libssl-dev git clang libclang-dev
Mac:
brew install cmake pkg-config openssl git llvm
Жизненный цикл голосования
Голоса проходят через ряд этапов, зависящих от типа голосования. 1. Предварительное голосование 2. (Необязательно) Фиксация 3. Голосование 4. Завершено
Типы подсчета
- Один человек, один голос
- Одна монета, один голос
Типы голосования
- Бинарные голоса
- Многовариантное голосование
- Подтвердить-показать голоса
Предварительное голосование
Этап предварительного голосования знаменует собой создание голосования. Кроме того, на этом этапе нельзя проводить голосование. В настоящее время он используется модулем edge-governance.
Совершить
Стадия фиксации используется для голосов, которые требуют схем фиксации-раскрытия. На этом этапе все участники представляют обязательства. После фазы фиксации все участники должны раскрыться.
Голосование
Этап голосования удваивается как этап раскрытия, когда голосование использует схему подтверждения-раскрытия, и просто общественное голосование в противном случае.
Завершенный
Завершенный этап знаменует окончание голосования, что означает, что дальнейшие голоса не будут учитываться при подсчете.