Truffle DB - Proposal

This document serves to aid in discussion towards the goal of improving Truffle’s record-keeping of smart contracts. More specifically, this document presents a proposal for a new core component to manage a Truffle project’s persisted artifact files and to enable intuitive and robust querying thereof.

The primary goals for this component are:

  1. Don’t lose any relevant data about a project’s smart contracts or their deployed instances.
  2. Provide a flexible interface for reading and writing persisted information about smart contracts.
  3. Maintain backwards compatibility with Truffle’s existing record-keeping.

At its core, Truffle DB seeks to provide a GraphQL interface for accessing project smart contract information.

Indices and tables