Модули: Голосование

Начиная с 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.

Совершить

Стадия фиксации используется для голосов, которые требуют схем фиксации-раскрытия. На этом этапе все участники представляют обязательства. После фазы фиксации все участники должны раскрыться.

Голосование

Этап голосования удваивается как этап раскрытия, когда голосование использует схему подтверждения-раскрытия, и просто общественное голосование в противном случае.

Завершенный

Завершенный этап знаменует окончание голосования, что означает, что дальнейшие голоса не будут учитываться при подсчете.