This repository includes all the code 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.
We recorded a screencast to show how Unlock works for a paywall.
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.
- Check out the code from this repository
git clone https://github.com/unlock-protocol/unlock
cd unlock
- 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
- Run the app (this should also compile and deploy the smart contract to a local truffle node)
cd unlock-app && npm run dev
Includes the code for smart contracts: Lock and Unlock.
A static site for unlock-protocol.com. Will eventually be deprecated in favor of code deployed from unlock-app.
The code for the React app which interfaces with the deployed smart contracts.
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