Trust but verify, the cornerstone of modern cybersecurity, also applies in many areas of life outside of technology. The 'marketplace' economy has grown exponentially with the advent of the internet as we know it, and yet so has the fraud economy as well. Counterfeit items have become increasingly more like the originals—and are sold at identical premiums—causing many unassuming consumers horrible heartbreak when they find their collectible is not so authentic.
In comes Provenir, our solution to verifying the authenticity and provenance of an item.
Using the revolutionary ERC-721 token standard, we are implementing NFTs as a representation of physical assets. A digital warranty card and certificate of ownership. From a collection of luxury unique items to retro collectibles, this implementation uses a unique serial number and description of an item from the original factory to verify its authenticity at every point of sale.
Protect your next purchase: Prove with Provenir.
For the main NFT contract we used Open Zeppelin and additional git resources to build an ERC721 compliant solidity script on remix online IDE. Then we built a general NFT project using brownie bake and tweaked the .env variables, deployment scripts, contracts, etc. We uploaded all of the images to IPFS using nft.storage and then Piñata. We also uploaded the JSON metadata to IPFS the same way. Then we uploaded our contract to Ropsten testnet using the script at the link: https://github.com/Hochen97/provenir/blob/main/provenir_contract_code/luxury_brand_contract/scripts/lv/deploy_lb_prods.py and minted the tokens using the script at the link: https://github.com/Hochen97/provenir/blob/main/provenir_contract_code/luxury_brand_contract/scripts/lv/create_lb_prods.py Then we went to the testnet links and manually edited things like the collections display image and background image.
For our front end we chose svelte as our primary technology. Not only does this provide a much simpler approach than the more popular frameworks like angular or react, but also provides baked in static page generation, allowing us to deploy to a decentralized platform such as IPFS. The data is requested from opensea's assets and events apis, pulling information about the NFT in question for display to the user. This information is the core of our product--the provenance of the item, and the current proof of ownership. We provide sign-in via any ethers.js compatible wallet; most notably metamask and coinbase wallet.