Sismo Badges

Contracts of the Sismo Badge Minting Protocol
Alternatives To Sismo Badges
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Openzeppelin Contracts22,386511,033a day ago63September 07, 2022218mitJavaScript
OpenZeppelin Contracts is a library for secure smart contract development.
Solidity20,285
21 hours ago430gpl-3.0C++
Solidity, the Smart Contract Programming Language
Ethereumbook17,803
a month ago95otherJavaScript
Mastering Ethereum, by Andreas M. Antonopoulos, Gavin Wood
Sismo Badges16,036
5 days ago5mitTypeScript
Contracts of the Sismo Badge Minting Protocol
Truffle13,9352,4421,321a day ago466September 22, 2022529mitTypeScript
A tool for developing smart contracts. Crafted with the finest cacaos.
Full Blockchain Solidity Course Py9,725
2 months ago212mit
Ultimate Solidity, Blockchain, and Smart Contract - Beginner to Expert Full Course | Python Edition
Full Blockchain Solidity Course Js8,660
a month ago45
Learn Blockchain, Solidity, and Full Stack Web3 Development with Javascript
Defi Developer Road Map8,598
13 days ago1otherJavaScript
DeFi Developer roadmap is a curated Developer handbook which includes a list of the best tools for DApps development, resources and references!
Wtf Solidity7,360
a day ago6otherSolidity
我最近在重新学solidity,巩固一下细节,也写一个“WTF Solidity极简入门”,供小白们使用,每周更新1-3讲。官网: https://wtf.academy
Smart Contract Best Practices6,703
3 months ago22
A guide to smart contract security best practices
Alternatives To Sismo Badges
Select To Compare


Alternative Project Comparisons
Readme

Logo

Sismo Protocol Contracts

Made by Sismo


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 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

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:

  • _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 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
Popular Ethereum Projects
Popular Smart Contracts Projects
Popular Blockchain Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Typescript
Ethereum
Smart Contracts