Green Proofs Software Stack

The following are the most important libraries in the core Green Proofs software development kit:

  • React: Used to build the user interface of our application. React allows us to create reusable components, manage state efficiently, and ensure fast updates with its virtual DOM.

  • Typescript: Used in every part of the Green Proofs stack. TypeScript enhances JavaScript with static type definitions, which helps catch errors early during development and improves code maintainability and readability.

  • Postgres: Used for the back-end database storage. Industry-standard relational SQL-compliant database that is used for most of the off-chain data.

  • Kysely: a type-safe and autocompletion-friendly typescript SQL query builder. Inspired by knex. Mainly developed for node.js but also runs on deno and in the browser. Used to query Postgres DB.

  • Nest.JS: Nest (NestJS) is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with and fully supports TypeScript (yet still enables developers to code in pure JavaScript) and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Reactive Programming). Under the hood, Nest makes use of robust HTTP Server frameworks like Express (the default) and optionally can be configured to use Fastify as well.

  • X-state: Used for managing the state of our application (both for UI and backend processes), allowing us to model the state logic using finite state machines and state charts. XState provides robust state management with clear and predictable state transitions, making complex state logic easier to understand, maintain, and test.

Last updated