Everything else in Hermes is a model. This isn't. The transaction below was assembled by the from-scratch code in this project, the same curve, signatures and serialization you've been watching. It was signed, then broadcast to the Bitcoin testnet. It's on a real blockchain, right now. Here it is, byte by byte.
A self-send: it spends one funded output and creates a new one back to the same address, minus the miner fee. Nothing here used a wallet library.
$ hermes.cli new → testnet address # fund it from a faucet $ hermes.cli info → 1 UTXO, 102807 sat $ hermes.cli send <addr> --broadcast → signed, relayed, accepted ✓
Keys from the address demo, the signature from Sign & Forge, the lock from Script, all assembled into bytes a real node accepted.
A transaction is a short, rigid byte string: version, inputs, outputs, locktime. No accounts, no balances; only outputs being spent into new outputs.
SIGHASH_ALL means the signature covers the whole transaction. Change any output by one satoshi and the signature, along with this txid, is instantly invalid.
We didn't ask anyone. A valid, fee-paying transaction is simply relayed and mined. That openness is the entire point of the system.