A working blockchain experiment

Onchain Video
Use Case Example

The video itself lives in a Koinos smart contract. Load its pieces directly from testnet, verify the file, and watch it here.

15 sec
Video + audio
994 kB
Complete MP4
61
On-chain chunks

No wallet or transaction needed to watch.

Ready to read from testnet

0 / 61

Each segment lights up after its chunk passes verification.

How this example works
THE ON-CHAIN VIDEO00:15 / MP4
Koinos

Your browser will assemble this video from the blockchain.

61 pieces. One complete video.
Awaiting retrievalSHA-256

01 / THE PROCESS

From stored bytes
to a playable video.

A video file is a sequence of bytes. This example stores those bytes in numbered chunks, then lets your browser put them back together.

01

Read the record

The player checks the testnet identity and reads the video’s size, format, chunk count, and file fingerprint from its smart contract.

02

Retrieve the pieces

The browser requests all 61 chunks from a Koinos node. Each chunk is checked against its expected SHA-256 fingerprint.

03

Verify, then play

The chunks are joined in order. The complete file is checked again before the browser creates a local video URL and enables playback.

Stored on Koinos

The complete MP4, including audio, the file metadata and hashes, and the storage contract’s code. There is no external MP4 URL in this player.

Provided by your browser and this website

This HTML page, the explanation, and the playback interface. A node’s RPC service supplies blockchain data; your device reconstructs and decodes the video.

02 / WHY IT MATTERS

The website is a viewer.
The chain holds the video.

The same stored file can be retrieved by another compatible viewer using the network identity and contract address below.

Recoverable beyond this domain

If this website disappears, someone can build another reader or run this HTML elsewhere. Recovery still needs access to a node that preserves and serves the contract’s data.

A file you can check

The expected hash is included in this page and committed by the contract. The player refuses bytes that do not match. This verifies file integrity; the browser does not independently validate blockchain consensus.

Locked after upload

Chunks are accepted only when their content matches the contract’s committed hashes. Stored chunks cannot be replaced, and the contract rejects code upgrades. The final seal closes uploads.

Feeless still uses resources

Writing the video consumed testnet Mana for storage, bandwidth, and computation. Reading uses a node’s infrastructure and can be rate limited. Larger videos increase both upload and retrieval demands.

03 / INSPECT THE EXAMPLE

Follow the bytes.

The file has 994,458 bytes: 60 full 16 KiB chunks and one final 11,418-byte chunk. The browser checks the exact byte count and hash before playback.

Contract, file fingerprint, and connection details
Network
Koinos Harbinger testnet
Contract address
15fEBCFEY3z7koxR1kPPCdnFdQC1mKBeVn
SHA-256 fingerprint
3f8dcd5f00aab2df944f9f7cec60c7759bcf9e79048f977a574c270a381cfdb3
Chain identity
EiAIKVvm6-V2qmsmUvPJy09vCCLbtn9lHFpwrJbcTIEWRQ==
Video format
MP4 · H.264 video · AAC audio · 720 × 1280 · 30 fps
Read entry points
get_manifest: 0x21f169eb
get_chunk: 0x92b1fc90
Read method
chain.read_contract
Deployment record
Uploaded and sealed. Independently read back and checked on 2026-10-02 UTC.
Deployment transaction: 0x1220ceb11e95bda8f31dc11c0f692817d01b252c684d72cb51ffcbf51098c4cc1477
Session verification
Not yet retrieved in this browser session.

You can use another HTTPS endpoint for this same testnet. It must allow browser requests. The player always checks the pinned chain identity and file hash.