How openaudio/go-openaudio works
Open Audio Protocol is a validator-oriented decentralized audio network node. A client or operator reaches the node through HTTP/RPC, which dispatches blockchain transactions, content-storage operations, diagnostics, and queries. Core services validate and commit state through CometBFT and PostgreSQL; Mediorum stores and serves media; ETL materializes blockchain data for faster reads; Console and Explorer present results. Ethereum integrations support registry, staking, and rewards. The sampled source confirms route wiring and storage diagnostics, while some subsystem links are inferred only from documented capabilities.
Components 19
Core Network
- HTTP RPC Host
cmd/openaudio/main.go - Core API
pkg/api/core/v1/service.pb.go - Core Server
pkg/core/server/server.go - CometBFT Network
- Core PostgreSQL
pkg/core/db/db.go
Media Storage
- Mediorum Storage
pkg/mediorum/server/server.go - Storage API
pkg/api/storage/v1/service.pb.go - Media Blob Store
pkg/mediorum/server/local_disk.go - Storage Metrics
pkg/mediorum/server/storage_metrics.go
Indexing and Views
- ETL Service
pkg/etlserver/server.go - Blockchain Indexer
pkg/etl/indexer.go - ETL PostgreSQL
pkg/etl/db/db.go - Block Explorer
pkg/explorer/explorer.go - Node Console
pkg/core/console/routes.go
Ethereum Integration
- Ethereum Service
pkg/eth/eth.go - Protocol Contracts
pkg/eth/contracts/contracts.go
Operations
- Genesis Writer
cmd/genesis-writer/main.go
Other components
- Client or Operator
- Ethereum Network
Connections 21
- Client or Operator → HTTP RPC Host: requests
- HTTP RPC Host → Core API: dispatches
- HTTP RPC Host → Storage API: dispatches
- HTTP RPC Host → ETL Service: dispatches
- HTTP RPC Host → Node Console: serves
- HTTP RPC Host → Block Explorer: serves
- Core API → Core Server: calls
- Core Server → CometBFT Network: commits state
- Core Server → Core PostgreSQL: reads writes
- Storage API → Mediorum Storage: calls
- Mediorum Storage → Media Blob Store: stores blobs
- Mediorum Storage → Storage Metrics: records metrics
- Node Console → Storage API: gets diagnostics
- ETL Service → Blockchain Indexer: runs indexer
- Blockchain Indexer → ETL PostgreSQL: materializes data
- Block Explorer → ETL PostgreSQL: queries data
- Core Server → Ethereum Service: uses chain
- Ethereum Service → Protocol Contracts: binds contracts
- Protocol Contracts → Ethereum Network: calls contracts
- Genesis Writer → Core PostgreSQL: writes history
- Genesis Writer → CometBFT Network: primes state