openzeppelin

Solid

Expert usage of OpenZeppelin Contracts library for secure smart contract development. Covers access control, token standards, governance, upgrades, and security utilities.

AI & Automation 814 stars 53 forks Updated today MIT

Install

View on GitHub

Quality Score: 95/100

Stars 20%
97
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# OpenZeppelin Contracts Skill Expert usage of OpenZeppelin Contracts, the standard library for secure smart contract development. ## Capabilities - **Access Control**: Ownable, AccessControl, Governor patterns - **Upgradeable Contracts**: UUPS and Transparent Proxy plugins - **Token Standards**: ERC-20, ERC-721, ERC-1155 implementations - **Security Utilities**: ReentrancyGuard, Pausable, SafeERC20 - **Governance**: Governor and TimelockController - **Metatransactions**: ERC-2771 support - **Cryptographic Utilities**: ECDSA, MerkleProof, EIP712 ## Installation ```bash # Standard contracts npm install @openzeppelin/contracts # Upgradeable contracts npm install @openzeppelin/contracts-upgradeable # Hardhat upgrades plugin npm install @openzeppelin/hardhat-upgrades ``` ## Access Control ### Ownable ```solidity // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; import "@openzeppelin/contracts/access/Ownable.sol"; contract MyContract is Ownable { constructor(address initialOwner) Ownable(initialOwner) {} function protectedFunction() external onlyOwner { // Only owner can call } } ``` ### AccessControl (Role-Based) ```solidity import "@openzeppelin/contracts/access/AccessControl.sol"; contract MyContract is AccessControl { bytes32 public constant ADMIN_ROLE = keccak256("ADMIN_ROLE"); bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE"); constructor()...

Details

Author
a5c-ai
Repository
a5c-ai/babysitter
Created
4 months ago
Last Updated
today
Language
JavaScript
License
MIT

Integrates with

Related Skills