Dapp’s package management feature allows you to both download and publish smart contracts for the purposes of code reuse and discovery. Recently, a new standard was created called the Ethereum Smart Contract Packaging Specification, or EthPM for short. It uses IPFS addresses to identify and distribute smart contract code in a decentralized manner.

In the near future, a registry contract will be deployed to the Ethereum blockchain for easy lookup of package addresses by unique human-friendly names. This will allow for a user experience identical to other package managers you might be more familiar with (e.g. npminstallmy-cool-package). In the meantime, dapp uses git submodules to mimic the experience of installing EthPM packages.

Dapp will install a git submodule for you based on the github path you specify. If you don’t specify a github user, dapp will choose dapphub as the default. Thus both of these commands will install code in your lib folder: