==== EIP 190: Ethereum Smart Contract Packaging Standard ====
[[dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip| Return to Ethereum ERCs ]]
: **Note**: The following is an excerpt from the official Ethereum site. It is provided here as a convenience and is not authoritative. Refer to the original document as the authoritative reference.
Data sheet for Ethereum [[dido:public:ra:xapend:xapend.a_glossary:s:smart_contract|Smart Contract]] Packaging Standard
| Title | Ethereum Smart Contract Packaging Standard |
| Author | Piper Merriam, Tim Coulter, Denis Erfurt, RJ Catalano, Iuri Matias |
| Status | Final |
| Created | 2017-01-10 |
| Description | [[http://eips.ethereum.org/EIPS/eip-190]] |
| Specification | [[http://eips.ethereum.org/EIPS/eip-190#Specification]] |
| Category | ERC |
=== Abstract ===
//This ERC proposes a specification for Ethereum smart contract packages.//
//The specification was collaboratively developed by the following Ethereum development framework maintainers.//
* //Tim Coulter (Truffle)//
* //Denis Erfurt (Dapple)//
* //Piper Merriam (Populus)//
* //RJ Catalano (Eris PM)//
* //Iuri Matias (Embark)//
=== Motivation ===
//Packaging is a core piece of modern software development which is missing from the Ethereum ecosystem. The lack of packaging limits the ability for developers to reuse code which negatively affects productivity and [[dido:public:ra:xapend:xapend.a_glossary:a:applicationsecurity|security]].//
//A key example of this is the [[dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_0020| ERC20]] standard. There are a few well audited reusable token contracts available but most developers end up writing their own because of the difficulty in finding and reusing existing code.//
//A packaging standard should have the following positive effects on the ecosystem://
* //Greater overall productivity caused by the ability to reuse existing code.//
* //Increased security caused by the ability to reuse existing well audited implementations of common patterns (ERC20, crowdfunding, etc).//
//Smart contract packaging should also have a direct positive effect on the end user. [[dido:public:ra:xapend:xapend.a_glossary:w:wallet|Wallet]] software will be able to consume a released package and generate an [[dido:public:ra:xapend:xapend.a_glossary:i:interface|interface]] for interacting with any deployed contracts included within that package. With the advent of ENS all of the pieces will be in place for a wallet to take a human readable name and present the user with an interface for interacting with the underlying [[dido:public:ra:xapend:xapend.a_glossary:a:application|application]].//