Skip to content

hackbg/fadroma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

393 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌹 🇧🇬 🚜 🇪🇺
https://hack.bg presents:

Fadroma

Fadroma

Cross-chain application framework with a vengeance.


Installation

Fadroma v3 is not yet available in package repositories.

You can, nonetheless, easily add it to your project - putting you in a better position to explore and contribute to the Fadroma codebase:

Install as Git submodule

mkdir project # Create project 
cd project    # Enter project
git init      # Make it a repo

# Add Fadroma submodule:
git submodule add https://github.com/hackbg/fadroma

# Fetch the rest:
cd fadroma
git submodule update --init --recursive

Install as Git subtree

mkdir project                # Create project 
cd project                   # Enter project
git init                     # Make it a repo
touch README.md              # Make it non-empty
git commit -m "tabula rasa"  # Initial commit

# Add Fadroma subtree:
git subtree add --prefix=fadroma https://github.com/hackbg/fadroma v3-alpha

# Fetch the rest:
cd fadroma
git submodule update --init --recursive

platform/: Integration Modules

Bitcoin, Liquid, Elements

import { Bitcoin } from 'fadroma';
const localnet = await Bitcoin.ElementsRegtest();
const testnet  = await Bitcoin.LiquidTestnet(); // TODO
// TODO others

SimplicityHL

import { SimplicityHL } from 'fadroma';
const program  = await SimplicityHL("fn main () { assert!(true) }");
const commitTx = await program.commit({ ... });
const redeem   = await program.redeem({ ... });

Solana

import { Solana } from 'fadroma';

Cosmos, Tendermint, CometBFT

import { Tendermint } from 'fadroma';

Namada

import { Namada } from 'fadroma';

CosmWasm

import { CosmWasm } from 'fadroma';

Secret Network

import { SecretNetwork } from 'fadroma';

library/: Core Capabilities

Control flow

Fn, Pipe, Async

import { Fn } from 'fadroma';

Error

Test DSL

import { Test } from 'fadroma';

Data types

Number, Bit, Byte, Hash

Time

String

Object

Stream

Network

Port, Tcp

Http

import { Http } from 'fadroma';

Fs

Run, Spawn

Oci

Log

Ansi

Tui

Dom, Html, Svg

Watcher

Typechecker

Test runner