Recursion
Generally speaking, the maximum size of an inscription is 400kb (~4MB if you work with a miner), which can be prohibitive in putting many forms of data on-chain in a single inscription. Enter recursion, where inscriptions can access the contents of other inscriptions. Recursive inscriptions work by creating a "chain" of inscriptions with new "links" referencing data from the prior inscription in said chain.
This allows for inscribing of data that can be arbitrarily large, as each inscription can point to other inscriptions and access their data. Recursion allows for more flexibility and size-efficiency in how data/files are inscribed directly to the Bitcoin blockchain.
Recursion is also a native way for artists to create editions. Works only need to be inscribed once and then collectors can mint their print of that edition which is simply an inscription that references the inscribed work.
Endpoints
Endpoints are protocol-native ways of accessing inscription and/or chain-level data. To access the content of other inscriptions you would use the /content/<INSCRIPTION_ID>
endpoint. For generative art as an example, this can be used to access libraries inscribed on-chain such as p5.js and three.js.
The other recursive endpoints include:
/r/blockhash/
: block hash at given block height./r/blockhash
: latest block hash./r/blockheight
: latest block height./r/blockinfo/<QUERY>
: block info.<QUERY>
may be a block height or block hash./r/blocktime
: UNIX time stamp of latest block./r/children/<INSCRIPTION_ID>
: the first 100 child inscription ids./r/children/<INSCRIPTION_ID>/<PAGE>
: the set of 100 child inscription ids on<PAGE>
./r/metadata/<INSCRIPTION_ID>
: JSON string containing the hex-encoded CBOR metadata./r/sat/<SAT_NUMBER>
: the first 100 inscription ids on a sat./r/sat/<SAT_NUMBER>/<PAGE>
: the set of 100 inscription ids on ./r/sat/<SAT_NUMBER>/at/<INDEX>
: the inscription ID at<INDEX>
of all inscriptions on a sat.<INDEX>
may be a negative number to index from the back. 0 being the first and -1 being the most recent for example.
/r/blockinfo/<QUERY>
in particular returns a host of information that can be accessed by inscriptions including blockheight/blockhash, difficulty, timestamp, number of transactions, number of confirmations, previous and next blockhash, and more.
Last updated