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.
 
 
 
 
 
Nicolás Venturo 5651538045 Clarified the rationaly behind the mul branch test. (#970) 7 years ago
.github Update to Truffle 4.1.5 and Ganache 6.1.0 (#876) 7 years ago
audit
contracts Clarified the rationaly behind the mul branch test. (#970) 7 years ago
migrations Clean up npm package (#904) 7 years ago
scripts add version script to update ethpm.json (#906) 7 years ago
test Adding new Superuser contract with test (#952) 7 years ago
.babelrc
.env.example
.eslintrc
.gitattributes
.gitignore
.jshintrc
.node-version
.solcover.js
.soliumignore
.soliumrc.json style: use the max-len solidity rule (#944) 7 years ago
.travis.yml Add travis job to run test suite with solc nightly (#902) 7 years ago
CONTRIBUTING.md Merge branch 'rename-openzeppelin-solidity' 7 years ago
LICENSE
README.md Add Status Embark to README (#956) 7 years ago
ethpm.json 1.9.0 7 years ago
package-lock.json Fix Node 10 compatibility (#949) 7 years ago
package.json update constructor syntax for solidity 0.4.23 in numerous contracts (#921) 7 years ago
truffle-config.js rename truffle.js to truffle-config.js (#886) 7 years ago

README.md

OpenZeppelin Solidity

NPM Package Build Status Coverage Status

OpenZeppelin is a library for writing secure Smart Contracts on Ethereum.

With OpenZeppelin, you can build distributed applications, protocols and organizations:

NOTE: New to smart contract development? Check our introductory guide.

Getting Started

OpenZeppelin integrates with Truffle and Embark.

Truffle

To use with Truffle, first install it and initialize your project with truffle init.

npm install -g truffle
mkdir myproject && cd myproject
truffle init

Embark

To use with Embark, first install it and initialize your project with embark new MyApp.

npm install -g embark
embark new MyApp
cd MyApp

Installing OpenZeppelin

After installing either Framework, to install the OpenZeppelin library, run the following in your Solidity project root directory:

npm init -y
npm install -E openzeppelin-solidity

Note that OpenZeppelin does not currently follow semantic versioning. You may encounter breaking changes upon a minor version bump. We recommend pinning the version of OpenZeppelin you use, as done by the -E (--save-exact) option.

After that, you'll get all the library's contracts in the node_modules/openzeppelin-solidity/contracts folder. You can use the contracts in the library like so:

import 'openzeppelin-solidity/contracts/ownership/Ownable.sol';

contract MyContract is Ownable {
  ...
}

If you are using Embark, you can also import directly from github:

import "github.com/OpenZeppelin/openzeppelin-solidity/contracts/ownership/Ownable.sol#v1.9.0";

contract MyContract is Ownable {
  ...
}

Security

OpenZeppelin is meant to provide secure, 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 problem you might experience.

If you find a security issue, please email security@openzeppelin.org.

Developer Resources

Building a distributed application, protocol or organization with OpenZeppelin?

Interested in contributing to OpenZeppelin?

License

Code released under the MIT License.