sismo-badges README

The project's README from github.com/sismo-core/sismo-badges. As one markdown file: README.md.


Logo

Sismo Protocol Contracts

Made by Sismo


This repository contains the smart contracts of the Sismo Protocol.

There are three core contracts:

It also contains implementations of attester in attesters/:



Sismo protocol

A complete overview of the protocol is available in our documentation

Deployed contracts

Deployed contracts can be found here

Usage

Installation

yarn

Compile contracts

Compile contracts using hardhat

yarn compile

Test

Launch all tests

yarn test

Print storage layout

yarn storage-layout

Deploy on local chain

Terminal tab 1

yarn chain

Terminal tab 2

yarn deploy:local

Create a new Attester

To develop a new attester, you must inherit the core/Attester.sol abstract contract and implement the following functions:

Other optional hook functions that can be implemented:

The /attesters/hydra-s1/HydraS1SimpleAttester.sol is a good example of an attester implementing those functions.

A guide is offered in our documentation.

Feel free open a PR with your new attester in /attester!

License

Distributed under the MIT License.

Contribute

Please, feel free to open issues, PRs or simply provide feedback!

Contact

Prefer Discord or Twitter


bottom

sismo-badges (sismo-core/sismo-badges)

Searching Database…

Что это такое?Смарт-контракты протокола Sismo — протокола выпуска бейджей в сети Ethereum. Аттестации (утверждения об аккаунтах) записываются в реестр и отображаются в виде непередаваемых токенов Badge.
То есть бейдж — это обычный NFT, который можно торговать?Нет — Badges.sol — это не сохраняющий состояние, непередаваемый ERC1155 view: сама аттестация хранится в AttestationsRegistry, а токен лишь отражает её.
Как запустить контракты у себя локально?Склонируйте репозиторий, установите зависимости и используйте Hardhat: 'hardhat compile' собирает контракты, 'hardhat test' запускает тесты, а 'hardhat node' вместе со скриптом deploy:local даёт полноценное локальное развёртывание.
Что нужно на компьютере, чтобы компилировать и тестировать их?Настройка Node.js с Hardhat — все скрипты (compile, test, deploy, storage layout) идут через него. Контракты построены на OpenZeppelin, а в репозитории есть Docker-файлы для локального запуска.
Может ли любой контракт начать выпускать бейджи в реестр?Нет — AttestationsRegistry принадлежит governance, которая добавляет и убирает эмитентов, поэтому аттестатор должен быть авторизован, прежде чем его аттестации можно будет записывать.
Этот репозиторий для держателей бейджей или для разработчиков?Для разработчиков. Основное руководство в README — как создать собственный аттестатор: унаследовать базовый абстрактный контракт Attester и реализовать verifyRequest и buildAttestations.
Получение бейджа означает, что я отдаю свои личные данные?Выпуск работает через доказательства с нулевым разглашением: аттестаторы Hydra-S1 проверяют ZK-доказательство (с использованием nullifiers), которое вы отправляете вместе с запросом, а не ваши исходные данные.
Что я могу на законных основаниях делать с этим кодом?Он распространяется под лицензией MIT, поэтому его можно свободно использовать повторно, изменять и делать форки.
Что такое Hydra-S1?Схема доказательств с нулевым разглашением, которую используют аттестаторы, входящие в этот репозиторий. Пользователи отправляют доказательство Hydra-S1 вместе с запросом на бейдж, а nullifiers из этой схемы не позволяют дублировать аттестации между разными аккаунтами.
Чем отличаются два включённых аттестатора?HydraS1SimpleAttester — базовый ZK-аттестатор. HydraS1AccountboundAttester — его версия, привязанная к аккаунту, которая позволяет пользователям по своему желанию менять место хранения аттестации.
Как создать собственный аттестатор?Унаследуйте core/Attester.sol и реализуйте verifyRequest(request, proofData) и buildAttestations(request, proofData); хуки beforeRecordAttestations и afterRecordAttestations необязательны. HydraS1SimpleAttester — пример для ориентира, в документации есть руководство, а пул-реквесты с новыми аттестаторами приветствуются.
Creator
sismo-core
Size
4.6 MB
Stars
15.9K
Age
4y
Commits · 90 Days