verificatorrus / example_eip721_eip712

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EIP-721 Example with EIP-712 Vaucher

This project uses React.js, ethers and Fastify.

For NFT metadata storage, useed https://jsonbin.io

Smart contract was created with https://remix.ethereum.org

Sepolia test net, for example, is used.

You need to have Metamask installed and mannualy set network to sepolia test net!

⛔️ Do not use this code AS IS in production.

All private keys and API keys were hardcoded!

For more security, use AWS private key storage for the backend signer (named minter in smart contracts).

For API keys, use environment variables. Also, it can help with service scaling.

Available Scripts

In the project directory, you can run:

npm run full

Build React app run backend based on fastify
Open http://localhost:3001 to view it in your browser.

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.

The page will reload when you make changes.
You may also see any lint errors in the console.

npm run server

Run backend based on fastify
Backend http://localhost:3001

🛤 Scaling in production

Backends use ECDSA for user verification, and signatures can be delivered to any backend instance without any problems.
It can be deployed in multiple independent instances for high availability issues.
For example:

Digital Ocaen

Floating IP

Cloudflare

Load Balancing

AWS

Elastic Load Balancing

Google cloud

Cloud Load Balancing

About


Languages

Language:JavaScript 68.9%Language:Solidity 13.9%Language:HTML 11.1%Language:CSS 6.0%