Fadroma is a decentralized application framework maintained by Hack.bg.
Fadroma is free software, available to the public under the AGPLv3 license. This license protects user freedoms and encourages responsibility towards the digital commons. If this license doesn't work for your business case, email us at [hello at hack dot bg] to arrange for custom licensing options.
Presently, we support Secret Network, an open-source, permissionless blockchain, based on privacy research including Decentralizing Privacy.
Use attribute macros to abstract away the boilerplate. Compose smart contracts out of encapsulated components.
Perform production builds of your contracts in a Docker container.
Extend the @fadroma/agent
library to define the structure of your project,
export a client library for third-party integrations, and add support for new chains.
Manage hundreds of heterogeneous contracts using a declarative API.
Highly performant keyed, namepaced, and iterable data storage primitives. Conversion between human-readable Addr and storage-friendly CanonicalAddr on the struct level.
Fadroma implements 256-bit math for EVM/Cosmos interop, hashing, and randomness for contracts.
Interact with fungible and non-fungible distributed tokens.
Fadroma implements several common access control patterns and primitives.
Spawn local blockchain nodes for development and testing.
Test the interoperation of multiple smart contracts. Quickly execute smart contracts in a simulated local environment, without waiting for block validation. Test smart contracts for edge cases using auto-generated input data.
Fadroma runs builds and devnets in containers using Docker or Podman
Fadroma scripts are structured as ES/TS modules that export one or more commands.
You can configure the TypeScript subsystems of Fadroma using env vars and/or a .env file.
Fadroma is tested using the Ensuite documentation and testing harness for Markdown and TypeScript.