Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
openzeppelin-solidity
Advanced tools
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.
npm install openzeppelin-solidity
To write your custom contracts, import ours and extend them through inheritance.
pragma solidity ^0.5.0;
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 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 Slack.
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.
The latest audit was done on October 2018 on version 2.0.0.
Please report any security issues you find to security@openzeppelin.org.
OpenZeppelin exists thanks to its contributors. There are many ways you can participate and help build high quality software. Check out the contribution guide!
OpenZeppelin is released under the MIT License.
2.2.0 (2019-03-14)
ERC20Snapshot
: create snapshots on demand of the token balances and total supply, to later retrieve and e.g. calculate dividends at a past time. (#1617)SafeERC20
: ERC20
contracts with no return value (i.e. that revert on failure) are now supported. (#1655)ERC20
: added internal _approve(address owner, address spender, uint256 value)
, allowing derived contracts to set the allowance of arbitrary accounts. (#1609)ERC20Metadata
: added internal _setTokenURI(string memory tokenURI)
. (#1618)TimedCrowdsale
: added internal _extendTime(uint256 newClosingTime)
as well as TimedCrowdsaleExtended(uint256 prevClosingTime, uint256 newClosingTime)
event allowing to extend the crowdsale, as long as it hasn't already closed.ECDSA
: recover
no longer accepts malleable signatures (those using upper-range values for s
, or 0/1 for v
). (#1622)ERC721
's transfers are now more gas efficient due to removal of unnecessary SafeMath
calls. (#1610)SafeERC20
: safeApprove
wasn't properly checking for a zero allowance when attempting to set a non-zero allowance. (#1647)FAQs
Secure Smart Contract library for Solidity
The npm package openzeppelin-solidity receives a total of 19,208 weekly downloads. As such, openzeppelin-solidity popularity was classified as popular.
We found that openzeppelin-solidity demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.