An assignment stores the dataset bytes at the moment you create it, not a
query to re-run later. Every student downloads the same file, in week one and in
week nine, and so do you when marking.
This is deliberate: chain data is append-only but not immutable in practice:
decoding improves, reorgs get repaired, a pool’s history gets backfilled. An
assignment that re-queried would quietly hand different students different data
and make their results incomparable.
Running one
Two things can be pinned: one pool’s price series, or any dataset query.
For a price series:
- Find the pool on a chart page and copy its address.
- On the classroom page choose Pin a price series, pick the class
(an organization you admin), the bars and the window. - Share the join link. Opening it while signed in is the whole enrolment step.
For any other dataset (liquidations, health factors, absorptions, vaults,
bars for several pools, the event registry):
- Build the query on Data Downloads as you would for
an export: the protocols, the dates or blocks, the columns. The export does
not have to run. - On the request’s page choose Pin for the class, pick the class and a
title. - Share the join link.
Either way the assignment stores the canonical bytes of the query at that
moment (see citations for what canonical means) and takes
their citation hash. You can tick Name the class organization as a
creator to have the class listed beside the platform on the citation record.
Students see the assignment, the pinned data with its filters, block range and
columns, the dataset version it falls in, and its hash, which they should
quote in what they hand in. The download carries the hash in an
X-Checksum-SHA256 header, and sha256sum of the file must equal it.