node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


Distense Smart Contracts

codecov standard-readme compliant Build Status Distense logo

Table of Contents

What is Distense?

Distense is a decentralized code cooperative: a company without executives, offices, meetings and bosses. Every contributor to Distense earns DID, an Ethereum token. There's no ICO, but code contributors may invest small amounts, initially. Hodlers of DID govern Distense on a one-vote-per-DID basis.


  • clone this repo
  • install npm if you don't have it
  • npm i


  • the primary way we interact with our smart contracts is by testing, so when developing we make changes to our contracts, test, then interact in the UI
  • to test run npm test (if this fails make sure you don't have another testrpc shell running)

Once you get past the initial code->testing phase and want to view your changes in the UI

  • Install ganache, an application that is a local Ethereum testnet: Download the appropriate version from here:
  • run ganache
  • Then you need to compile and deploy your updated version of the contracts: npm run migrateLocal
  • Once your contracts are migrated you can install and run the distense-ui client to interact with them:
    • git clone
    • cd distense-ui
    • npm install
  • What we normally do at this point is remove the npm published version of our contracts from the distense-ui node_modules: rm -r node_modules/distense-contracts.
  • Then you can symlink your version of our contracts into the proper location in the client:
    • sudo ln ~/distense-contracts ~/distense-ui/node_modules
  • Then you can run the distense-ui with npm run start
  • You can interact with your version of the contracts at this point and modify the distense-ui if you want


  • By contributing to this repo you will earn DID an Ethereum token that gives you governance and economic rights to Distense
    • See instructions on how to submit your work there


All Rights Reserved © 2018 Distense