-
Notifications
You must be signed in to change notification settings - Fork 1
/
TODO.txt
47 lines (41 loc) · 1.64 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
TARGETS
Week - 1
{
1)NFT contract with like mint,metadata and transfer etc functions
NFT contract future functions idea ->
{
fractionalizeAsset: This allows an asset to be fractionalized among multiple shareholders.
Asset Locking: This allows locking assets to prevent transfers for a period of time.
Asset History: This keeps track of all transfers for each asset.
Asset Valuation Update: This allows updating the value of an asset over time.
Asset Details: This allows you to store and retrieve additional details about each tokenized asset.
}
2)unit test for the NFT contract
3)a function to send somekind of like data to verifier
4)a contract to store the the proof from nft
5)adding functionality to this contract like
ZKP idea -> {
1)IPFS Data Structure:
Let's assume the IPFS hash (e.g., newhash123) points to a JSON file with this structure:
{
"ownerAddress": "0x1234...",
"tokenId": "123",
"carNumber": "TN01EB2005",
"otherDetails": "..."
}
2)Backend Script:
-> Take input: buyer's address, tokenId, and search item (car number)
->Query the IPFS hash for the given address and tokenId
->Retrieve the data from IPFS
->Call the Zokrates prover function with the necessary data
}
3)Prover Workflow:
Your backend calls the Zokrates prover with:
-> Private inputs: ownerAddress, tokenId, carNumber (from buyer), and the data from IPFS
-> Public input: IPFS hash
--->Zokrates generates a proof
4)Verification Process:
-> The buyer receives the proof from your backend
-> They call the verifier contract with the proof and the public input (IPFS hash)
-> The verifier contract returns true if the proof is valid, false otherwise
}