This is a marketplace where users can create NFT tokens with a unique check that defines the purchase. The project provides a tool for creating a secure and transparent token economy or e-commerce platform using NFTs.
- Backend: Golang
- Frontend: React
- Database: PostgreSQL
- Decentralized Storage: IPFS node
- Blockchain: Ethereum
- Smart contract: Solidity
- Deployment: Docker and AWS
- How to set up backend part
- How to set up frontend part
- How to set up your own smart contract and manage it
To make this application fully functional, you need to have the Golang backend service. Additional information can be found here.
To make this application fully functional, you need to run React App. Additional information can be found here.
To make this application fully functional, you need to have your own public IPFS node for saving NFTs metadata. Additional information can be found here. Also feel free to use someone else public node.
How to install it can be found here.
To create your own smart contract and manage it, you need to have a personal crypto wallet. You can learn how to create one here.
You can use any provider that supports the Ethereum blockchain, such as Infura, Alchemy, etc.
This is a tool for deploying, verifying, accessing your smart contract functions, and more. You can learn how to create an account here.
You to install docker and docker compose to build images and run containers. Docker Compose using ERC-721-Checks/docker-compose.yml
file for running all 4 app containers with one command.
- To build app via docker compose run this command inside root folder. Ensure that you are using your env variables in
ERC-721-Checks/docker-compose.yml
file.
docker compose up -d
check docker compose documentation for running this command with different params like
-d
for starting app in background. Then you can check running containers withdocker ps
command.
- To use admin and eventlistener cli run these commands
docker exec -it <YOUR_GO_CLI_CONTAINER_ID> /bin/bash
ls
./admin or ./eventlistener
To deploy this application on Amazon AWS follow this guide.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.