mirror of openzeppelin-contracts
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Francisco Giordano 4f4d305784 Fix the GSNBouncerERC20Fee token decimals to 18 (#1929) 5 years ago
.circleci Disable Travis in favor of Circle (#1866) 6 years ago
.github
audit
contracts Fix the GSNBouncerERC20Fee token decimals to 18 (#1929) 5 years ago
docs Fix the GSNBouncerERC20Fee token decimals to 18 (#1929) 5 years ago
migrations
scripts Merge branch 'master' into release-v2.4.0 6 years ago
test Fix the GSNBouncerERC20Fee token decimals to 18 (#1929) 5 years ago
.codecov.yml Disable Travis in favor of Circle (#1866) 6 years ago
.editorconfig Update .editorconfig 6 years ago
.eslintrc
.gitattributes
.gitignore
.solcover.js
.solhint.json
CHANGELOG.md remove release date 6 years ago
CODE_OF_CONDUCT.md
CODE_STYLE.md
CONTRIBUTING.md Fixing instructions by correcting instruction to (#1877) 6 years ago
DOCUMENTATION.md rename docsite script to docs and update docs setup description 6 years ago
GUIDELINES.md
LICENSE
README.md Fix codecov badge 6 years ago
RELEASING.md
ethpm.json 2.4.0-beta.2 6 years ago
logo.png
netlify.toml rename docsite script to docs and update docs setup description 6 years ago
package-lock.json 2.4.0-beta.2 6 years ago
package.json 2.4.0-beta.2 6 years ago
truffle-config.js Initial GSN support (beta) (#1844) 6 years ago

README.md

OpenZeppelin

NPM Package Build Status Coverage Status

OpenZeppelin Contracts is a library for secure smart contract development. It provides implementations of standards like ERC20 and ERC721 which you can deploy as-is or extend to suit your needs, as well as Solidity components to build custom contracts and more complex decentralized systems.

Install

npm install @openzeppelin/contracts

OpenZeppelin Contracts features a stable API, which means your contracts won't break unexpectedly when upgrading to a newer minor version. You can read ṫhe details in our API Stability document.

Usage

To write your custom contracts, import ours and extend them through inheritance.

pragma solidity ^0.5.0;

import "@openzeppelin/contracts/token/ERC721/ERC721Full.sol";
import "@openzeppelin/contracts/token/ERC721/ERC721Mintable.sol";

contract MyNFT is ERC721Full, ERC721Mintable {
  constructor() ERC721Full("MyNFT", "MNFT") public {
  }
}

You need an ethereum development framework for the above import statements to work! Check out these guides for Truffle, Embark or Buidler.

On our site you will find a few guides to learn about the different parts of OpenZeppelin, as well as documentation for the API. Keep in mind that the API docs are work in progress, and don’t hesitate to ask questions in our forum.

Security

This project is maintained by OpenZeppelin, and developed following our high standards for code quality and security. OpenZeppelin is meant to provide tested and community-audited code, but please use common sense when doing anything that deals with real money! We take no responsibility for your implementation decisions and any security problems you might experience.

The core development principles and strategies that OpenZeppelin is based on include: security in depth, simple and modular code, clarity-driven naming conventions, comprehensive unit testing, pre-and-post-condition sanity checks, code consistency, and regular audits.

The latest audit was done on October 2018 on version 2.0.0.

Please report any security issues you find to security@openzeppelin.org.

Contribute

OpenZeppelin exists thanks to its contributors. There are many ways you can participate and help build high quality software. Check out the contribution guide!

License

OpenZeppelin is released under the MIT License.