As increasingly environmental and socially conscious consumers demand more transparency, there is a need to build confidence with consumers. An opportunity exists to trace each material used in the final product across increasingly complex supply chains and regulatory requirements in an effective and inexpensive way.

What it does

Registering goods on the blockchain to collect data about the journey they undergo to become a product.

How TRACE is different:

1) Using the public Blockchain 2) Using a non-fungible token ERC 721 to track goods in a supply chain 3) Introducing Lots to transfer batches


  • Increase traceability of material supply chain to ensure corporate standards are met
  • Improve visibility and compliance over outsourced contract manufacturing
  • Lower losses from counterfeit/gray market trading
  • Reduce paperwork and administrative costs

How we built it

Using Zeppelin’s ERC721 reference implementation as a base we override where possible and crudely re-implement methods to give us LOT based functionality.

Truffle for testing and of course ganache because y u no internet?

Challenges we ran into

Inheritance and private variables do not place nice in Solidity.

Accomplishments that we're proud of

We believe we have introduce as much needed extension to the ERC721 standard in introducing the concept of LOTs. This extension means ERC721 can be used for a wider variety of real world applications. Great networking and getting to know the team as well as chatting with other team about their experience in the category.

What we learned

The ERC721 token standard and Zeppelin’s reference implementation in great detail.

Private state variables are a pain when using inheritance. (Had to copy and paste instead of overriding methods to get the functionality we need.)

How to do do markdown headers (##)

What's next for TRACE


  • Actually Test
  • Burn and mint in a single transaction
  • Separate contract for player permissions

Additional Revenue Stream

  • By-product material on a private marketplace

Built With

Share this project: