Full lesson
fridon-ai
What it does
From the project README:
FridonAI is an open-source project dedicated to providing AI-powered tools and services for cryptocurrency analysis, blockchain operations, and more. Our mission is to simplify complex blockchain interactions and offer insightful analytics through an intuitive chat interface.
- Original
- FridonAI/fridon-ai
- SuperStack fork
- Blockchains/fridon-ai @
b7b9988 - Stars
- 76
- Last push (original)
- 2025-05-28
- Languages
- Python, TypeScript, HCL, Dockerfile, HTML, JavaScript
- Detected stack
- Metaplexweb3.js
- Categories
- AI & Agents
- Licence
- MIT
Architecture
247 source files. By extension: .py ×125, .ts ×120, .js ×2.
| Top-level directory | Source files |
|---|---|
apps | 134 |
libs | 112 |
(root) | 1 |
Dapp: deploying
This fork is queued for its own live dapp on Sol.College, with a Devnet/Mainnet switch. It appears here, at /dapps/fridon-ai/, once it is deployed and checked on devnet. Until then, run it locally with the commands below.
Key code, explained
Excerpts chosen automatically where the code uses the most Solana concepts, pinned to the fork's commit.
apps/fridon_backend/src/blockchain/factories/transaction-factory.ts L25–48 @ b7b9988 · MIT · original}; export type TransactionData = { message: TransactionMessage; signers: (Keypair | Signer)[]; addressLookupTable: AddressLookupTableAccount[];}; @Injectable()export class TransactionFactory { constructor( private readonly connection: Connection, private readonly transactionListenerService: TransactionListenerService, ) {} async sendTransaction(ix: TransactionInstruction, keypairs: Keypair) { const tx = new Transaction(); tx.add(ix); const blockHashResponse = await this.connection.getLatestBlockhash(); tx.recentBlockhash = blockHashResponse.blockhash; tx.feePayer = keypairs.publicKey;- Line 40
async sendTransaction(ix: TransactionInstruction, keypairs: Keypair) {: Submits the signed transaction to the cluster. - Line 45
const blockHashResponse = await this.connection.getLatestBlockhash();: Fetches a recent blockhash. Transactions expire if it gets too old.
How to run, build and test
These commands come from the repo's own manifests (package.json scripts, Anchor.toml, Cargo, go.mod, Makefile). Check the README for prerequisites and environment variables.
| Directory | Command | Runs |
|---|---|---|
apps/fridon_backend | npm run start | nest start |
apps/fridon_backend | npm run build | nest build |
apps/fridon_backend | npm run test | jest |
apps/fridon_backend | npm run lint | eslint "{src,apps,libs,test}/**/*.ts" --fix |
What you could build from it
- Fork the SuperStack copy and extend it within the AI & Agents gaps listed on the idea page.
- Learn the pattern first: AI agents on Solana
- Learn the pattern first: Building and sending transactions from a client
- Learn the pattern first: Blinks and Solana Actions