Skip to content

onflow/flowkit

Folders and files

NameName
Last commit message
Last commit date
May 3, 2024
Dec 9, 2024
Oct 22, 2024
Feb 3, 2024
Sep 5, 2024
Aug 22, 2024
Jul 25, 2024
Apr 18, 2023
Oct 22, 2024
Oct 22, 2024
Oct 22, 2024
Feb 1, 2024
Apr 24, 2023
Jan 21, 2025
Feb 13, 2024
Feb 13, 2024
Apr 30, 2024
Feb 13, 2024
Apr 18, 2023
Feb 13, 2024
Feb 1, 2024
May 2, 2024
Feb 2, 2024
Aug 22, 2024
Jul 17, 2024
Feb 1, 2025
Feb 1, 2025
May 3, 2024
Jul 17, 2024
May 14, 2024
Feb 13, 2024

Flowkit Package Design

Flowkit is a core package used by the CLI commands. It features APIs for interacting with the Flow network in the context of flow.json configuration values. Flowkit is defined by the interface here.

Flowkit contains multiple subpackages, the most important ones are:

  • config: parsing and storing of flow.json values, as well as validation,
  • gateway: implementation of Flow AN methods, uses emulator as well as Go SDK to communicate with ANs,
  • project: stateful operations on top of flow.json, which allows resolving imports in contracts used in deployments

It is important we define clear boundaries between flowkit and other CLI packages. If we are in doubt where certain methods should be implemented we must ask ourselves if the method provides value for any other consumers of the pacakge or only provides utility for CLI usage, if it's only providing utility for CLI then it should be added inside the internal package, instead of flowkit. If in doubt better to add things to internal package and then move to flowkit if such need is identified.