State of EVM Packages – End of 2018

Two months ago, we presented the EVM package standard as a means to securely share on-chain upgradeable smart contract code. Since then, we have had a great response from the community, and we wanted to share the best EVM packages that are now available.

 

Gnosis Safe

Available on mainnet, rinkeby, and kovan

The npm package is pending publication.

The Gnosis Safe provides all users with a convenient yet secure way to manage their funds and interact with decentralized applications on Ethereum. Built by the same team as the famous Gnosis Multisig wallet. Review the contracts that are part of the EVM package at gnosis/safe-contracts.

LevelK Registry Builder

Available on mainnet, ropsten, rinkeby, and kovan

The LevelK registry-builder is a readable and modular library for registries and token-curated registries (also known as TCRs). You can use these contracts to deploy your own TCR or as an extension onto your own personalized registry contract. Check out the code at levelkdev/registry-builder.

OpenZeppelin

Available on mainnet, ropsten, rinkeby, and kovan

OpenZeppelin is a library for secure smart contract development. It provides implementations of standards such as ERC20 and ERC721, which you can deploy as-is or extend to suit your needs, as well as Solidity components for building custom contracts and more complex decentralized systems. This EVM package provides ready-to-use, already-deployed ERC20 and ERC721 contracts, as well as a token vesting and a payment splitter implementation. It also offers all of the vanilla OpenZeppelin contracts ready to use as upgradeable contracts. Get started using the EVM package now at OpenZeppelin/openzeppelin-eth!

Transaction Permission Layer (TPL)

Available on mainnet, ropsten, rinkeby, and kovan

TPL is a method for assigning metadata (or “attributes”) to Ethereum addresses. These attributes then form the basis for designing systems that enforce permissions when performing certain transactions. For instance, using TPL, securities tokens can require that attributes be present and have an appropriate value every time a token is sent or received. This allows projects to remain compliant with regulations by validating every single exchange between participants, beyond just the initial offering. You can check out the code at TPL-protocol/tpl-contracts-eth.

LevelK Tidbit Oracles

Under development

A library for oracles in Solidity. Provides implementation of basic oracles, push oracles, and signed oracles. You can follow the repository at levelk/tidbit.

Livepeer Sorted Doubly Linked List

Under development

A sorted doubly linked list implementation in Solidity. The repository includes a fundraising leaderboard as a sample dapp. You can follow the development of the EVM package at livepeer/sorted-doubly-ll.

Build your own package!

These are the main EVM packages available today, but more are coming, and you can contribute too! Check out our guide for building and publishing your own EVM package using ZeppelinOS if you’re developing a useful smart contract module and want to share it with others. Alternatively, read more about how to use the packages available today. We’ll be posting regular updates on the EVM packages published by the community, so reach out to us if you’re working on a package of your own!