Skip to content

thank-me-later/authenticity-proof

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

authenticity-proof

Components

  • Ethereum Smart Contracts
    • CollectionDomainRegistry (1 instance)
      • here we store all ENS-domains of CollectionRegistry instances in a comma separated list
    • CollectionRegistry (∞ instances)
      • contains an array of items that belong to this collection
      • new (unique) items can be added until maxLimit is reached
  • Management UI
    • list existing collections by ENS-domain
      • ENS-lookup
    • deploy new CollectionRegistry instances
    • register ENS-subdomain for the new instance
    • add items to existing collections
  • Mobile APP
    • NFC communication
    • ENS-lookup for collections
    • verification of items
      • check if items exist in collection
      • generate random msg
      • verify signed random msg
  • Arduino (prototype for NFC+SecureElement)
    • NFC communication
    • sign message

Disclaimer

  • due to the limitations of the arduino hardware it wasn't possible to generate an ethereum keypair and sign messages on the hardware.
  • the final product would be a minuscule device that combines NFC with a secure element and is able to generate keypairs and sign messages

Flows

Contracts (deployed on ropsten testnet)

CollectionDomainRegistry

A registry that holds all ENS-domains of CollectionRegistry contracts that were verified and registered through the service provided by thank me later!.

CollectionRegistry

This is a contract that can be deployed by a creators or manufacturers for general collections or special limited collections.

The contract is open-source and can be used be everyone.

thank me later! verifies the identity of creators or manufacturers and registers a subdomain of thankmelater.test for each of their collections.

  • Address
    • dynamic for each collection
    • can be registered through thank me later! and obtain a unique subdomain
  • Example (crew-collection)

deprecated (not needed in this project)

docker

  1. switch to folder docker
  2. run docker build -f Dockerfile.ropsten -t geth_ropsten_ens .
  3. run docker run -d geth_ropsten_ens

geth