/unlock

Unlock is the web's new business model

Primary LanguageJavaScriptMIT LicenseMIT

Unlock


This repository is includes all the code deployed deployed by Unlock, including smart contracts and the web app running at https://unlock-protocol.com.

Unlock is an access control protocol built on a blockchain. It enables creators to monetize their content or software without relying on a middleman. It lets consumers manage all of their subscriptions in a consistent way, as well as earn discounts when they share the best content and applications they use.

Read more about why we're building Unlock.

License: MIT Build Status

Demo

We recorded a screencast to show how Unlock works for a paywall.

Demo Unlock

Contributing

We strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.

Getting started

  1. Checkout the code from this repository
git clone https://github.com/unlock-protocol/unlock
  1. Install all deps

First, install ganach-cli which is a "mock" blockchain node. We are using the latest dev version.

$ npm install -g ganache-cli@trufflesuite/ganache-cli#develop
$ npm run install-deps
  1. Run the app (this should also compile and deploy the smart contract to a local truffle node)
cd unlock-app && npm start

Code

Smart Contract

Includes the code for smart contracts: Lock and Unlock.

unlock-protocol.com

A static site for unlock-protocol.com. Will eventually be deprecated un favor of code deployed from unlock-app.

unlock-app

The code for the React app which interfaces with the deployed smart contracts.

Running tests/ci

We deploy with docker/docker-compose:

docker-compose -f docker/docker-compose.ci.yml build
docker-compose -f docker/docker-compose.ci.yml up --abort-on-container-exit