NFog is a descentralized application which gives you the power of creating you own secret foggy NFT. When you create an NFog the text content is encrypted and only the owner is able to desencrypt and then view it. Once the NFog was desencrypted it is marked as open
. As buyer the main value is to buy something that is not open, even you can buy some NFog close and then to sell it without opening.
For creating, see opening info and decrypt/view content go to NFog web
For trading the marketplace available is OpenSea
Address of the author: 0x2f947703b818B44A0d657f7435a2865454BE7D21
- Getting started
- UX decisions
- Dapp
- NFT Metadata
- Avoiding common attacks
- Design pattern desicions
- Deployed address
├── client # Frontend react client application
├── contracts # Contracts solidity code
├── deploy # Scripts for deploying to blockchain
├── deployments # Network deployments information
├── docs # Docs related to design decisions
│ ├── avoiding_common_attacks.md
│ ├── design_pattern_decisions.md
└── test # Solidity testing files
Go to client
folder and run npm ci
and then npm start
. You will need to have configured the following .env file:
REACT_APP_PINATA_API_KEY=
REACT_APP_PINATA_SECRET_API_KEY=
REACT_APP_PINATA_URL=https://api.pinata.cloud/pinning/
REACT_APP_MUMBAI_KEY=
REACT_APP_RINKEBY_KEY=
Go to root project folder and run npm ci
and then npm run test
Go to root project folder and run npm ci
and then npm run compile
It is desirable that a user can visit the app and visualize what exists even though he or she can't interact with the dapp. For that reason the UX was designed so you can see the NFog created and if they are open or not, also you can go to the market place and see its movements.
First you need to have you metamask wallet connected to the dapp. There is two networks available (rinkeby and mumbai), this means that is needed to be in the correct network to be able to use the dapp: create a NFog, open it...
Being in the correct network you will be able to open yours NFog. Each NFog shows in which network was created. The lock shows if it has been already open.
After opening the NFog you will be able to view it, since this moment the NFog is not to be closed anymore
NFog metadata it is upload to IPFS following this format:
{
"name": "<string>",
"description": "<string>",
"image": "https://ipfs.io/ipfs/<cid>",
"content": "https://ipfs.io/ipfs/<cid>"
}
image
: result of uploading to ipfs a color (hexadecimal format) that depends on encrypted contentcontent
: content encrypted
Notice that if you encrypt the same data the obtained color is the same, like a hash function
hash(encrypted_content) = color
In this way we can see if the same secret is duplicated