openzeppelin-contracts
openzeppelin-contracts-upgradeable
Our great sponsors
openzeppelin-contracts | openzeppelin-contracts-upgradeable | |
---|---|---|
233 | 10 | |
24,109 | 938 | |
1.6% | 1.9% | |
9.5 | 9.4 | |
about 17 hours ago | 16 days ago | |
JavaScript | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
openzeppelin-contracts
-
Blockchain transactions decoding: making wallet activity understandable
Lets look the events of Open Zeppelin’s ERC20 token contract:
- Construir e implementar un VAULT (bóveda) ERC20 en Shardeum
-
Are ERC-777 Unsafe?
ERC-777 is difficult to implement properly, due to its susceptibility to different forms of attack(opens in a new tab). It is recommended to use ERC-20 instead. This page remains as a historical archive.
- OpenZeppelin is trying to avoid paying a bounty for a vulnerability that caused $1,1B worth of assets freeze
- Security improvements of the ERC20 token standard
- Ethereums most used token standard ERC20 requires security enhancements
- The most used Ethereums token standard (ERC20) requires a security patch.
-
Best Solidity Vertion
This depends if you're writing a contract from scratch or using existing code. If you're making something new, then yes (recommend not to use THE most recent available, always better to go with tried and tested). For existing projects, never try to override the solidity version. This may be a pain with "@" imports - ideally everyone should specify the library version (e.g. https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v2.5.1/contracts/token/ERC20/ERC20.sol).
openzeppelin-contracts-upgradeable
-
Solidity digest / mar 2023
v4.8.2 of OpenZeppelin contracts and contracts-upgradeable bug fix for ERC721Consecutive that could cause a balance overflow when _mintConsecutive was used for batches of size 1 breaking changes to ERC721: the internal function _beforeTokenTransfer will no longer update balances when batchSize is greater than 1
- Issue logging out certain state variables in Hardhat
-
Can a function that implements __Ownable_init by not with the initializable modifier be run more than once?
Yeah. That restriction is coming from a utility. There are options to modify the owner through transfer ownership on the `OwnableUpgradable` contract. You can also use the `reinitializer' modifier to create your own re-init logic.
- Contract inheritance is a reason Open Zeppelin plans to adopt Diamond Storage
-
Nuances of Using Upgradeable Smart Contracts
Most smart contracts developers have used Openzeppelin/contracts. Those developers dabbling in Upgradeable smart contracts use its sister project Openzeppelin/contracts-upgradeable. The two are the same albeit the constructor in the contract is replaced by the initializer.
-
Contract example with best practices?
Here’s a few references: - https://openzeppelin.com/contracts/ - https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable (highly recommended)
- Token
-
It costs $436 to deploy a smartcontract on Ethereum
https://github.com/OpenZeppelin/openzeppelin-contracts-upgra...
For KYC you'll need to implement your own ERC20 compatible token with some checks in the transfer functions. The CMTA is the Swiss contract reference and proposes one:
- https://np.reddit.com/r/solidity/comments/prlgj8/how_do_we_create_an_upgradeable_smart_contract/hdjnhnd/
- How do we create an upgradeable smart contract with a hardhat?
What are some alternatives?
solmate - Modern, opinionated, and gas optimized building blocks for smart contract development.
smart-contract-best-practices - A guide to smart contract security best practices
hardhat - Hardhat is a development environment to compile, deploy, test, and debug your Ethereum software.
cardano-node - The core component that is used to participate in a Cardano decentralised blockchain.
ERC721A - https://ERC721A.org
fe - Emerging smart contract language for the Ethereum blockchain.
Safemoon.sol - safemoon contract
l2beat - L2BEAT is an analytics and research website about Ethereum layer two (L2) scaling solutions.
solidity - Solidity, the Smart Contract Programming Language
openzeppelin-contracts-upgra
truffle - :warning: The Truffle Suite is being sunset. For information on ongoing support, migration options and FAQs, visit the Consensys blog. Thank you for all the support over the years.
CMTA20 - Smart contract to tokenize a Swiss corporation's shares on Ethereum