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 5c228805ad
Update issue templates (#1376)
6 years ago
.github Update issue templates (#1376) 6 years ago
audit
contracts Prevents Bounty from being claimed twice (#1374) 6 years ago
migrations Clean up npm package (#904) 7 years ago
scripts ci: trigger docs update on tag (#1186) 7 years ago
test Prevents Bounty from being claimed twice (#1374) 6 years ago
.editorconfig Add EditorConfig (#1119) 7 years ago
.env.example feat: allow configuration of ropsten and ganache with env variables 7 years ago
.eslintrc Dangling commas are now required. (#1359) 6 years ago
.gitattributes feat: add solidity syntax highlighting directive, fixes #671 7 years ago
.gitignore ignore truffle generated file (#1019) 7 years ago
.node-version
.solcover.js Re-enable solidity coverage 7 years ago
.soliumignore
.soliumrc.json Turn off blank-lines Solium rule (#1284) 6 years ago
.travis.yml ci: trigger docs update on tag (#1186) 7 years ago
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md (#1061) 7 years ago
CODE_STYLE.md Use prefix underscore for state variables and no underscore for parameters (#1282) 6 years ago
CONTRIBUTING.md included command to add upstream (#959) 7 years ago
LICENSE
README.md Fix README snippet typo 6 years ago
RELEASING.md Add some detail to releasing steps (#1190) 7 years ago
ethpm.json Roles now emit events in construction and when renouncing. (#1329) 6 years ago
logo.png Improve README (#1309) 6 years ago
package-lock.json Roles now emit events in construction and when renouncing. (#1329) 6 years ago
package.json Roles now emit events in construction and when renouncing. (#1329) 6 years ago
truffle-config.js Remove Babel (#1074) 7 years ago

README.md

OpenZeppelin

NPM Package Build Status Coverage Status

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

If you're interested in trying out a preview of OpenZeppelin 2.0, install openzeppelin-solidity@next, check out the release notes, and let us know what you think!

Usage

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

pragma solidity ^0.4.24;

import 'openzeppelin-solidity/contracts/token/ERC721/ERC721Full.sol';
import 'openzeppelin-solidity/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 or Embark.

On our site you will find a few guides to learn about the diferent 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 Slack.

Security

OpenZeppelin the project is maintained by Zeppelin the company, 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.

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.