Sol.College

Structure lesson (licence does not allow quoting code)

autohero

Original
FerumFlex/autohero
SuperStack fork
Blockchains/autohero @ be6376b
Stars
0
Last push (original)
2025-05-16
Languages
TypeScript, Python, Rust, JavaScript, CSS, Makefile
Detected stack
Anchorsolana-pyweb3.js
Categories
Other
Licence
none detected: code not quoted on Sol.College

Architecture

149 source files. By extension: .tsx ×71, .py ×45, .ts ×25, .rs ×6, .js ×2.

Top-level directorySource files
web85
app45
anchor19

On-chain programs: anchor/programs/autohero

How it works: instructions and accounts

Each instruction handler and the accounts struct it validates, found by reading the Rust source. Links go to the exact line at the pinned commit.

InstructionAccountsSource
infoInfoContextanchor/programs/autohero/src/lib.rs:37
initializeInitializeContextanchor/programs/autohero/src/lib.rs:50
add_eventAddEventContextanchor/programs/autohero/src/lib.rs:120
apply_eventApplyEventContextanchor/programs/autohero/src/lib.rs:135

Where the Solana code lives

Source files that import a Solana SDK, ranked by how many Solana APIs they use, with the APIs each one calls. Read them in this order to see how the app talks to the chain.

FileSolana APIs used
anchor/programs/autohero/src/lib.rsseeds, Program, CpiContext, init_if_needed, Pubkey, transfer
web/src/components/story/StorySection.tsxuseConnection, Program, AnchorProvider, PublicKey, SystemProgram, Transaction
web/src/pages/CharacterCreationPage.tsxuseConnection, Program, AnchorProvider, getAssociatedTokenAddressSync, WalletMultiButton, Keypair
anchor/tests/utils.tsProgram, AnchorProvider, Keypair
web/src/store/Hero.tsPublicKey, Program, AnchorProvider, findProgramAddressSync
web/src/constants.tsxPublicKey, findProgramAddressSync, SystemProgram
anchor/scripts/apply_event.tsPublicKey, getAssociatedTokenAddressSync, AnchorProvider, Program, Keypair, findProgramAddressSync
anchor/scripts/storage.tsPublicKey, Program, findProgramAddressSync, AnchorProvider
anchor/scripts/mint.tsPublicKey, Program, AnchorProvider, findProgramAddressSync
web/src/components/layout/Header.tsxWalletMultiButton, useWallet
anchor/scripts/events.tsPublicKey, AnchorProvider, Program, findProgramAddressSync
anchor/tests/autohero.tsProgram, Keypair, AnchorProvider

Dapp: devnet deploy pending

⏳ Devnet deploy pending — goes live when the devnet wallet is topped up. This fork's own dapp is not deployed yet, so there is no program address or transaction to show. It is queued in dapp-queue.txt; once devnet SOL is available it is deployed, exercised with real devnet transactions, and this section switches to the live dapp at /dapps/autohero/. Until then, the lesson and step-by-step guide below are complete, and you can run it locally with the commands below.

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.

DirectoryCommandRuns
webnpm run dev
webnpm run build
webnpm run lint
anchornpm run lint
anchoranchor build
anchoranchor test
anchoranchor run test
anchoranchor run storage
anchoranchor run add_event
anchoranchor run events
anchoranchor run apply_event
anchoranchor run info
anchoranchor run mint

What you could build from it