Baike.dev
All toolsTrendingOpen sourceNewsSubmit
Log in
< 返回工具列表
S

sismo-badges

> 编程语言
开源

Contracts of the Sismo Badge Minting Protocol

15.9K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

Contracts of the Sismo Badge Minting Protocol



This repository contains the smart contracts of the Sismo Protocol. There are three core contracts: - `core/AttestationsRegistry.sol`: The registry stores all attestations. It is owned by the governance that authorizes/unauthorize issuers to record in it - `core/Attester.sol` The standard abstract contract must be inherited by attesters. Attesters are issuers of attestations. They verify user requests and build attestations that will be recorded in the registry - `core/Badges.sol` Reads the registry. Stateless Non Transferable Token view of attestations (ERC1155) It also contains implementations of attester in `attesters/`: - `HydraS1SimpleAttester.sol`: ZK Attester using the [Hydra S1 Proving Scheme](https://hydra-s1.docs.sismo.io) and the notion of nullifiers. Users must provide a ZK Proof along with their request to generate attestations - `HydraS1AccountboundAttester.sol`: Accountbound version of the Simple Hydra S1 Simple Attester. (Users can update at will where the attestation is stored)

## Sismo protocol A complete overview of the protocol is available in our [documentation](https://protocol.docs.sismo.io) ## Deployed contracts Deployed contracts can be found [here](https://docs.sismo.io/sismo-docs/deployed-contract-addresses) ## 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: - `_verifyRequest(request, proofData)`: You must implement the user request verification against the proof provided by the user - `buildAttestations(request, proofData)`: You must build the attestations that will be recorded from a verified user request Other optional hook functions that can be implemented: - `_beforeRecordAttestations(request, proofData)` - `_afterRecordAttestations(request, proofData)` The `/attesters/hydra-s1/HydraS1SimpleAttester.sol` is a good example of an attester implementing those functions. A [guide](https://attesters.docs.sismo.io) 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](https://discord.gg/sismo) or [Twitter](https://twitter.com/sismo_eth)

核心特点

  • •core/AttestationsRegistry.sol: The registry stores all attestations. It is owned by the governance that authorizes/unauthorize issuers to record in it
  • •core/Badges.sol Reads the registry. Stateless Non Transferable Token view of attestations (ERC1155)
  • •HydraS1AccountboundAttester.sol: Accountbound version of the Simple Hydra S1 Simple Attester. (Users can update at will where the attestation is stored)
  • •_verifyRequest(request, proofData): You must implement the user request verification against the proof provided by the user
  • •buildAttestations(request, proofData): You must build the attestations that will be recorded from a verified user request
  • •_beforeRecordAttestations(request, proofData)
  • •_afterRecordAttestations(request, proofData)

> 标签

TypeScriptattestationsdidethereumsmart-contracts

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月9日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言
Baike.dev

baike.dev helps you discover great languages, frameworks, databases, DevOps and cloud-native tools.

Quick links

  • Home
  • All tools
  • Trending
  • Open source

About

  • About us
  • Community
  • News

Contribute

Found a great developer tool? Share it with the community.

Submit a tool
© 2026 baike.dev Developer EncyclopediaUpdated daily · Discover great developer tools