coffeeclubnfts / nft-gateway

Proof of concept of a decentralized application with certain areas or functionalities restricted to NFT ownership. React + NodeJS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NFT Gateway POC

This webapp is meant to demonstrate how possession of an NFT can be used to grant access to a part of a website.

The web3.js library is used to get the user's ethereum address, and they are asked to sign a message to verify their ownership.

A request with the signed message is sent to the API which checks the balance of the wallet before issuing an access token to the client.

Building Locally

Setting up

If you do no have node.js installed, get it on their site.

You will need an RPC URL for the backend to access the ethereum network. You can get free access at Infura. Your link will look like this:

https://mainnet.infura.io/v3/YOUR_API_KEY_HERE

You will need to use this to replace the dummy link in backend/index.js.

Starting the backend

Navigate to backend/ and install dependencies:

npm install

Then run the start script:

npm start

Starting the frontend

Do this in a new terminal while the backend is running.

Navigate to frontend/ and install dependencies:

npm install

Then run the start script:

npm start

Accessing the app

Navigate to localhost:3000 in the browser.

About

Proof of concept of a decentralized application with certain areas or functionalities restricted to NFT ownership. React + NodeJS


Languages

Language:JavaScript 81.0%Language:CSS 13.1%Language:HTML 5.9%