Decentralized provenance verification for physical art.
Artist register themselves to the contract. (TODO) Next they register their artwork on the ethereum block chain. When they sell their art, ownership is transferred and they receive royalties . Buyers never have to wonder about the authenticity of the work.
Hosted at: https://pensive-tesla-2256e2.netlify.app
Making transaction
Transaction success

Directory Structure
Frontend is a React app located under the /client . Hardhat is the ethereum development environment and is located under /tools.
project
|___client/
| |____package.json
| |____src/
| |____artifacts/ //contract builds
| |____App.js
|___tools/
| |____contracts/
| |____test/
| |____hardhat.config.js
| |____sample.env
| |____package.json
Workflow
- Connect to metamask.
- Artist registers to contract. NOTE: An address can only register once.
- UI displays registered artist.
TODO:
- Artist mints nft for artwork with a url that links to metadata about the work.
- Artist sells artwork and transfers ownership.
- No more questions of, "is this legit?"
- node.js
- MetaMask Chrome extension
- npm install ethers hardhat @nomiclabs/hardhat-waffle ethereum-waffle chai @nomiclabs/hardhat-ethers
- npm install in
/tools - yarn install in
/client
- Frontend:
yarn startin/client - Uncomment hardhat network in hardhat.config.js
- Deploy contracts:
npx hardhat run scripts/deploy.js --network localhost - Update Provenance contract address in App.js
- Start local network:
npx hardhat node - Import test address into metamask
- Add desired network in
hardhat.config.jsundermodule.exports. - Copy
sample.envand rename to.env. Add private key toACCOUNTS.
In tools/ run npx hardhat test
Public Ethereum Account: 0x3A4dCEC49e3085dA16c0B49411BfF8352908883e