Get started with Fadroma
Licensing
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.
Supported platforms
Fadroma 1.0.0 supports Secret Network. During HackWasm Berlin 2023, work began on generic support for other CosmWasm chains, and OKP4 in particular.
Fadroma DSL
Use attribute macros to abstract away the boilerplate. Compose smart contracts out of encapsulated components.
Build reproducibly
Perform production builds of your contracts in a Docker container.
Export a rich API
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.
Deploy and operate
Manage hundreds of heterogeneous contracts using a declarative API.
Efficient storage
Highly performant keyed, namepaced, and iterable data storage primitives. Conversion between human-readable Addr and storage-friendly CanonicalAddr on the struct level.
Math primitives
Fadroma implements 256-bit math for EVM/Cosmos interop, hashing, and randomness for contracts.
Tokenomics
Interact with fungible and non-fungible distributed tokens.
Authorization
Fadroma implements several common access control patterns and primitives.
Local devnets
Spawn local blockchain nodes for development and testing.
Integration 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.
Docker integration
Fadroma runs builds and devnets in containers using Docker or Podman
Scripting
Fadroma scripts are structured as ES/TS modules that export one or more commands.
Configuration
You can configure the TypeScript subsystems of Fadroma using env vars and/or a .env file.
Literate programming
Fadroma is tested using the Ensuite documentation and testing harness for Markdown and TypeScript.