Я начинающий разработчик Solidity и пытаюсь разработать приложение для голосования на Эфириуме.
Требования к заявке -
1) Должна быть регистрационная форма кандидата и избирателя.
2) Избиратель должен иметь возможность войти в систему, используя какой-либо механизм аутентификации, такой как имя пользователя, пароль.
3) Каждый избиратель должен иметь возможность проголосовать только один раз.
4) Результат голосования должен быть виден всем
Вещи, которые я пробовал -
Я разработал смарт-контракт для голосования в кандидатах и избирателях struct
типа, в котором хранятся соответствующие атрибуты кандидата и избирателя.
Данные кандидатов и избирателей хранятся в массиве структур. Функции прописаны в смарт-контракте для голосования, чтобы получить количество голосов. избирателей и кандидатов, вставить избирателя и кандидата и т. д.
Проблемы, с которыми я сталкиваюсь -
1) Как мне аутентифицировать избирателя и кандидата?
2) Должен ли я создать новую учетную запись с помощью personal.newAccount()
команды для каждого кандидата и избирателя?
3) Может ли один аккаунт иметь несколько адресов? чтобы я мог создать несколько адресов для разных избирателей и кандидатов?
4) В соответствии с ответом на этот вопрос message.sender()
должен использоваться для аутентификации пользователя. Я не могу понять, как у каждого пользователя будут разные адреса? Это адрес учетной записи, которую мы можем создать с помощью personal.newAccount()
команды?
5) Поскольку эфириум — это цепочка блоков без разрешений, как реализовать/имитировать аутентификацию и авторизацию, с помощью которых можно контролировать, кто может участвовать в частной сети цепочек блоков?
Недавно я создал небольшой проект, не связанный с голосованием, который может ответить на некоторые ваши вопросы. Проверьте папку «html» в zip-файле.
https://github.com/matheswarwan/capestoneEthILP/blob/master/Capestone_17%20April.zip
Сохам Лавар
Матешваран Канагараджан
Матешваран Канагараджан
Матешваран Канагараджан