Is there a standard way to package the source code of a smart contract and publish it on a public repository? In such a way to enable structured reuse, with versioning and easy ways to update an component. Similar to what search.maven.org for Java, bower and npm for JavaScript or PyPI for Python offers.

There's a repository of sample contracts on https://github.com/ethereum/dapp-bin and various blog posts and sites containing sample code of smart contracts. However, this doesn't solve the problem of copy&paste code and versioning.

  • 1
    Sounds like a good dApp idea ;-P
    – HodlDwon
    Jan 31, 2016 at 5:49
  • @HodlDwon that already exists as dapp, see my answer.
    – q9f
    Feb 3, 2016 at 10:22

3 Answers 3


There is no single standard for smart contract code sharing, but Dapple is taking a swing at being Ethereum's npm. (Full disclosure: I get paid to work on Dapple.)


Package management via npm is available in Truffle beta: http://truffleframework.com/tutorials/package-management

A larger package standard beyond npm is in the works, which will hopefully be a collaboration between the major tool authors and the Ethereum Foundation. More details to come.


There is the DApp-Store. I'm currently at the Berlin Ethereum meetup and it's discussed to be included some day into the mist browser.

Try the live frontier demo. Or the morden testnet demo.

Screenshot on Morden

How to use:

  • Download Mist 0.3.6 here: that's the only "browser" version.
  • Sync the blockchain with your network of your choice.
  • Create an account if you don't have one already, and transfer some Ether to it.
  • Navigate to one of the above URLs within Mist, depending on what chain you're on.
  • 2
    Author of the dapp store here. Unfortunately the dapp store has been discontinued for now. It will likely be revived in the future. Sep 28, 2016 at 18:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.