GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - unlock-protocol/unlock: Ʉnlock is a protocol for memberships built on a blockchain.

BranchesTags
Open more actions menu

Latest commit

 

History

12,778 Commits
12,778 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
.husky
.husky
 
 
.yarn
.yarn
 
 
airdrops
airdrops
 
 
design
design
 
 
docker
docker
 
 
docs
docs
 
 
governance-app
governance-app
 
 
governance
governance
 
 
graph-service
graph-service
 
 
locksmith
locksmith
 
 
packages
packages
 
 
paywall-app
paywall-app
 
 
provider
provider
 
 
scripts
scripts
 
 
smart-contracts
smart-contracts
 
 
subgraph
subgraph
 
 
tests
tests
 
 
unlock-app
unlock-app
 
 
unlock-protocol-com
unlock-protocol-com
 
 
wedlocks
wedlocks
 
 
.clabot
.clabot
 
 
.dockerignore
.dockerignore
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.huskyrc.js
.huskyrc.js
 
 
.prettierignore
.prettierignore
 
 
.prettierrc
.prettierrc
 
 
.railwayignore
.railwayignore
 
 
.unlock-protocol.config.json
.unlock-protocol.config.json
 
 
.yarnrc.yml
.yarnrc.yml
 
 
CLA.txt
CLA.txt
 
 
CLAUDE.md
CLAUDE.md
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
README.es.md
README.es.md
 
 
README.md
README.md
 
 
SECURITY.md
SECURITY.md
 
 
funding.json
funding.json
 
 
mkdocs.yml
mkdocs.yml
 
 
package.json
package.json
 
 
railway.json
railway.json
 
 
renovate.json
renovate.json
 
 
tea.yaml
tea.yaml
 
 
yarn.lock
yarn.lock
 
 

Repository files navigation

Unlock Unlock


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

Unlock is a membership 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

Demo

You can try Unlock using the Ethereum blockchain on our homepage.

We are building this in the open, which means you can also run the code locally (see instructions below). You can try out the staging version - which runs the latest, in-progress code, but against the Goerli test network.

Contributing

Thanks for your interest in contributing to Unlock! We're excited you're here. There are a variety of ways to contribute to the project. Please read more about contributing in our contributor guide. Please also check our code of conduct for all participants in our community.

Getting started

The code

Unlock uses a monorepo which includes all the services and applications we develop.


# get the code
git clone https://github.com/unlock-protocol/unlock
cd unlock

You'll need yarn installed globally.

yarn
# install all dependencies (...may take a while)

Build all packages:

yarn build

Next, to execute commands inside the repo, we use the pattern yarn workspace <workspace name> <command>

# build the contracts only
yarn workspace @unlock-protocol/smart-contracts build

# validate lint for paywall
yarn workspace @unlock-protocol/paywall lint

# etc.

Protocol Health check

Anyone can run a full protocol check from their command line (please follow the steps above to install the dependencies and build the packages first!)

yarn workspace @unlock-protocol/networks check:verify

The protocol

You can run a local version of the protocol using Docker.

cd docker && docker compose up --build

This will create the required infrastructure (database, local ethereum test network, subgraph...) and start core services such as the Locksmith API and a Wedlocks mailing service for debug purposes.

NB: config is defined in both docker-compose.yml and docker-compose.override.yml.

Deploy and provision the contracts

The following script will deploy the contracts, create some dummy locks and send you some local tokens for development.

cd docker
docker compose exec eth-node yarn provision

Run one of the apps

The main dashboard lives in the unlock-app folder of this repo.

To launch it locally:

# install deps
yarn

# start Unlock main app
yarn workspace @unlock-protocol/unlock-app start

This will start

  • http://localhost:3000 to start using the application and deploy locks locally.
  • http://localhost:3002 our static landing page site.

Secrets

Secrets are stored in the Unlock Labs 1Password account in the API & Services Vault. They can be loaded in our Github Actions through the use of dedicated actions.

Here is an example:

steps:
  - name: Load secrets from 1Password
    uses: 1Password/[email protected]
    with:
      export-env: true
    env:
      OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
      USERNAME: op://secrets/test-api/username
      CREDENTIAL: op://secrets/test-api/credential
  ... more steps that require USERNAME and CREDENTIAL to be set

These reference URIs have the following syntax: op://<vault>/<item>[/<section>]/<field> So for example, the reference URI op://app-cicd/aws/secret-access-key would be interpreted as: Vault: app-cicd Item: aws Field: secret-access-key

Thank you

BrowserStack Logo

Thanks to BrowserStack for providing the infrastructure that allows us to test in real browsers.

Thank you to all the Members of our lock as well! You can easily join this list by clicking on the ❤️ Sponsor button (it's free!) at the top of this page too.

Members

About

Ʉnlock is a protocol for memberships built on a blockchain.

unlock-protocol.com

Topics

blockchainethereuminfrastructurejavascriptmembershipsnftprotocolsolidityunlock

Resources

Readme
MIT license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

887 stars

Watchers

31 watching

Forks

316 forks
Report repository

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.