1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/t940783074-Prophet

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.en.md 7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 15:35 206e9f6

Prophet (пророк)

Посетите проект на GitHub | Посетите проект Gitee.

中文 | English.

Платформа прогнозирования голосования на основе технологии смарт-контрактов блокчейна Ethereum и фреймворка Vue

В условиях ограниченных затрат общие результаты голосования имеют хорошую справочную ценность для прогнозирования будущих тенденций событий. В то же время технология блокчейн используется для того, чтобы избежать возможности вмешательства разработчиков в данные, обеспечить безопасность и надёжность данных голосования, а также повысить доверие к платформе.

Из-за международных сетевых ограничений невозможно напрямую использовать Infura для доступа к Dapp Ethereum, поэтому полный опыт платформы использует решение установки браузера MetaMask.

Функции и оптимизация

  • Подключение блокчейна.
  • Создание пользователя.
  • Отображение личной информации.
  • Отображение события голосования.
  • Создание события.
  • Голосование за событие.
  • Отчётность о событии.
  • Подача заявки на вознаграждение.
  • Различные цвета показывают статус события.
  • Показать пользователю все записи операций.
  • Другое.

Структура данных смарт-контракта

//Полный код см. в src/Solidity

contract Ballot{
    struct Event{
        uint ID;//ID события
        address Sponsor;//Инициатор
        string Content;//Содержание события
        string[] Option;//Варианты события
        address Reporter;//Отчётчик
        uint StartDate;//Дата начала
        uint Deadline;//Крайний срок
        address [] Voters;//Участники голосования
        uint PrizePool;//Призовой фонд
        bool Report;//Статус отчёта по умолчанию false
        uint Result;//Результат события, соответствующий индексу варианта по умолчанию 99
    }

    struct Player{
        address Uesr;//Адрес пользователя
        uint Balance;//Баланс пользователя
        uint[] Created;//Созданные ID
        uint[] Selected;//Выбранные ID
        uint[] Report;//Требуемые отчёты ID
        mapping(uint=>Option) OptionInfo;//Информация о каждом выбранном варианте события
    }

    struct Option{
        bool Voted;//Состояние голосования за событие
        uint Time; //Время голосования
        uint Option;//Вариант события
        uint Finance;//Сумма события
        bool Reward;//Статус вознаграждения  
    }

    struct Finance{
        mapping(uint=>uint) Finance;//Соответствие суммы и варианта
    }

    struct Log{
        uint Time;
        uint ID;
        string action;
        int Change;
        uint Balance;
    }


    Event[] Events;//Все события
    mapping(uint=>Finance) EventFinance;//Соответствие событий и сумм
    address[] ExistPlayers;//Все пользователи
    mapping(address=>Player) Players;//Информация о пользователях
    mapping(address=>Log[]) PlayerLogs;
}

Используемые технологии

Примечание: в VueCli 2.x публичные файлы размещаются в папке static, а в версиях VueCli 3.x их следует помещать в папку public, иначе Axios не сможет найти файлы. Проект использует VueCli 3.x.

Краткое описание проекта

  • Классифицированное отображение событий.
  • Индикаторы выполнения и цвета представляют события с разной продолжительностью действия.
  • Кнопка просмотра деталей. .
  • Отображение статуса события, текущей информации о голосовании и всех записей голосования пользователей и т. д. .
  • Классифицированный список событий.
  • Напоминание об иконке отчёта о событии. .
  • Проверка формы.
  • Быстрый выбор даты. .
  • Создание пользователя.
  • Отображение информации о блокчейне. .
  • Привлекающий внимание баланс личного токена платформы.
  • Запись личных операций. .
  • Некоторые мелкие детали (просмотрите демо, чтобы узнать больше). , .

Настройка проекта

npm install

Компиляция и горячая перезагрузка для разработки

npm run serve

Компилирует и минимизирует для производства

npm run build

Настраиваемая конфигурация

См. Справочник по конфигурации.

Открытый исходный код. Пожалуйста, соблюдайте соглашение об открытом исходном коде от автора MIT.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/t940783074-Prophet.git
git@api.gitlife.ru:oschina-mirror/t940783074-Prophet.git
oschina-mirror
t940783074-Prophet
t940783074-Prophet
master