Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Openzeppelin Contracts | 22,386 | 51 | 1,033 | a day ago | 63 | September 07, 2022 | 218 | mit | JavaScript | |
OpenZeppelin Contracts is a library for secure smart contract development. | ||||||||||
Solidity | 20,285 | 21 hours ago | 430 | gpl-3.0 | C++ | |||||
Solidity, the Smart Contract Programming Language | ||||||||||
Ethereumbook | 17,803 | a month ago | 95 | other | JavaScript | |||||
Mastering Ethereum, by Andreas M. Antonopoulos, Gavin Wood | ||||||||||
Sismo Badges | 16,036 | 5 days ago | 5 | mit | TypeScript | |||||
Contracts of the Sismo Badge Minting Protocol | ||||||||||
Truffle | 13,935 | 2,442 | 1,321 | a day ago | 466 | September 22, 2022 | 529 | mit | TypeScript | |
A tool for developing smart contracts. Crafted with the finest cacaos. | ||||||||||
Full Blockchain Solidity Course Py | 9,725 | 2 months ago | 212 | mit | ||||||
Ultimate Solidity, Blockchain, and Smart Contract - Beginner to Expert Full Course | Python Edition | ||||||||||
Full Blockchain Solidity Course Js | 8,660 | a month ago | 45 | |||||||
Learn Blockchain, Solidity, and Full Stack Web3 Development with Javascript | ||||||||||
Defi Developer Road Map | 8,598 | 13 days ago | 1 | other | JavaScript | |||||
DeFi Developer roadmap is a curated Developer handbook which includes a list of the best tools for DApps development, resources and references! | ||||||||||
Wtf Solidity | 7,360 | a day ago | 6 | other | Solidity | |||||
我最近在重新学solidity,巩固一下细节,也写一个“WTF Solidity极简入门”,供小白们使用,每周更新1-3讲。官网: https://wtf.academy | ||||||||||
Smart Contract Best Practices | 6,703 | 3 months ago | 22 | |||||||
A guide to smart contract security best practices |
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 itcore/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 registrycore/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 attestationsHydraS1AccountboundAttester.sol
: Accountbound version of the Simple Hydra S1 Simple Attester. (Users can update at will where the attestation is stored)A complete overview of the protocol is available in our documentation
Deployed contracts can be found here
yarn
Compile contracts using hardhat
yarn compile
Launch all tests
yarn test
yarn storage-layout
Terminal tab 1
yarn chain
Terminal tab 2
yarn deploy:local
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 userbuildAttestations(request, proofData)
: You must build the attestations that will be recorded from a verified user requestOther 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
!
Distributed under the MIT License.
Please, feel free to open issues, PRs or simply provide feedback!