再帰
An important exception to sandboxing is recursion. Recursive endpoints are whitelisted endpoints that allow access to on-chain data, including the content of other inscriptions.
Since changes to recursive endpoints might break inscriptions that rely on them, recursive endpoints have backwards-compatibility guarantees not shared by ord server
's other endpoints. In particular:
- Recursive endpoints will not be removed
- Object fields returned by recursive endpoints will not be renamed or change types
However, additional object fields may be added or reordered, so inscriptions must handle additional, unexpected fields, and must not expect fields to be returned in a specific order.
Recursion has a number of interesting use-cases:
-
既存の銘文の内容を再混合します。
-
コード、イメージ、オーディオ、またはスタイルシートフラグメントを共通の共有アセットとしてパブリッシュします。
-
アルゴリズムがJava Scriptを使用して刻印され、ユニークなシードを持つ複数の銘文からインスタンス化されたアートコレクションを生成します。
-
アクセサリーやプロパティを含むプロファイル画像セットを生成し、個別の画像として書き込むか、共有テクスチャマップセットに書き込み、の組み合わせ、コラージュスタイル、複数の銘文の中で独特の組み合わせで。
The recursive endpoints are:
/content/<INSCRIPTION_ID>
: the content of the inscription with<INSCRIPTION_ID>
/r/blockhash/<HEIGHT>
: 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/children/<INSCRIPTION_ID>/inscriptions
: details of the first 100 child inscriptions./r/children/<INSCRIPTION_ID>/inscriptions/<PAGE>
: details of the set of 100 child inscriptions on<PAGE>
./r/inscription/<INSCRIPTION_ID>
: information about an inscription/r/metadata/<INSCRIPTION_ID>
: JSON string containing the hex-encoded CBOR metadata./r/parents/<INSCRIPTION_ID>
: the first 100 parent inscription ids./r/parents/<INSCRIPTION_ID>/<PAGE>
: the set of 100 parent inscription ids on<PAGE>
./r/sat/<SAT_NUMBER>
: the first 100 inscription ids on a sat./r/sat/<SAT_NUMBER>/<PAGE>
: the set of 100 inscription ids on<PAGE>
./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.
Note: <SAT_NUMBER>
only allows the actual number of a sat no other sat notations like degree, percentile or decimal. We may expand to allow those in the future.
Responses from the above recursive endpoints are JSON. For backwards compatibility additional endpoints are supported, some of which return plain-text responses.
/blockheight
:最新のブロック高度。/blockhash
:最新のブロックハッシュ。/blockhash/<HEIGHT>
:指定されたブロック高さのブロックハッシュ。/blocktime
:最新のブロックのUNIXタイムスタンプ。
Examples
/r/blockhash/0
:
"000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f"
/r/blockheight
:
777000
/r/blockinfo/0
:
Note: feerate_percentiles
are feerates at the 10th, 25th, 50th, 75th, and 90th percentile in sats/vB.
{
"average_fee": 0,
"average_fee_rate": 0,
"bits": 486604799,
"chainwork": "0000000000000000000000000000000000000000000000000000000100010001",
"confirmations": 0,
"difficulty": 0.0,
"hash": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",
"feerate_percentiles": [0, 0, 0, 0, 0],
"height": 0,
"max_fee": 0,
"max_fee_rate": 0,
"max_tx_size": 0,
"median_fee": 0,
"median_time": 1231006505,
"merkle_root": "0000000000000000000000000000000000000000000000000000000000000000",
"min_fee": 0,
"min_fee_rate": 0,
"next_block": null,
"nonce": 0,
"previous_block": null,
"subsidy": 5000000000,
"target": "00000000ffff0000000000000000000000000000000000000000000000000000",
"timestamp": 1231006505,
"total_fee": 0,
"total_size": 0,
"total_weight": 0,
"transaction_count": 1,
"version": 1
}
/r/blocktime
:
1700770905
/r/children/60bcf821240064a9c55225c4f01711b0ebbcab39aa3fafeefe4299ab158536fai0/49
:
{
"ids":[
"7cd66b8e3a63dcd2fada917119830286bca0637267709d6df1ca78d98a1b4487i4900",
"7cd66b8e3a63dcd2fada917119830286bca0637267709d6df1ca78d98a1b4487i4901",
...
"7cd66b8e3a63dcd2fada917119830286bca0637267709d6df1ca78d98a1b4487i4935",
"7cd66b8e3a63dcd2fada917119830286bca0637267709d6df1ca78d98a1b4487i4936"
],
"more":false,
"page":49
}
/r/children/60bcf821240064a9c55225c4f01711b0ebbcab39aa3fafeefe4299ab158536fai0/inscriptions/49
:
{
"children": [
{
"charms": [
"cursed"
],
"fee": 44,
"height": 813929,
"id": "7cd66b8e3a63dcd2fada917119830286bca0637267709d6df1ca78d98a1b4487i4900",
"number": -223695,
"output": "dcaaeacf58faea0927468ea5a93f33b7d7447841e66f75db5a655d735510c518:0",
"sat": 1897135510683785,
"satpoint": "dcaaeacf58faea0927468ea5a93f33b7d7447841e66f75db5a655d735510c518:0:74188588",
"timestamp": 1698326262
},
...
{
"charms": [
"cursed"
],
"fee": 44,
"height": 813929,
"id": "7cd66b8e3a63dcd2fada917119830286bca0637267709d6df1ca78d98a1b4487i4936",
"number": -223731,
"output": "dcaaeacf58faea0927468ea5a93f33b7d7447841e66f75db5a655d735510c518:0",
"sat": 1897135510683821,
"satpoint": "dcaaeacf58faea0927468ea5a93f33b7d7447841e66f75db5a655d735510c518:0:74188624",
"timestamp": 1698326262
}
],
"more": false,
"page": 49
}
/r/inscription/3bd72a7ef68776c9429961e43043ff65efa7fb2d8bb407386a9e3b19f149bc36i0
{
"charms": [],
"content_type": "image/png",
"content_length": 144037,
"delegate": null,
"fee": 36352,
"height": 209,
"id": "3bd72a7ef68776c9429961e43043ff65efa7fb2d8bb407386a9e3b19f149bc36i0",
"number": 2,
"output": "3bd72a7ef68776c9429961e43043ff65efa7fb2d8bb407386a9e3b19f149bc36:0",
"sat": null,
"satpoint": "3bd72a7ef68776c9429961e43043ff65efa7fb2d8bb407386a9e3b19f149bc36:0:0",
"timestamp": 1708312562,
"value": 10000,
"address": "bc1pz4kvfpurqc2hwgrq0nwtfve2lfxvdpfcdpzc6ujchyr3ztj6gd9sfr6ayf"
}
/r/metadata/35b66389b44535861c44b2b18ed602997ee11db9a30d384ae89630c9fc6f011fi3
:
"a2657469746c65664d656d6f727966617574686f726e79656c6c6f775f6f72645f626f74"
/r/sat/1023795949035695
:
{
"ids":[
"17541f6adf6eb160d52bc6eb0a3546c7c1d2adfe607b1a3cddc72cc0619526adi0"
],
"more":false,
"page":0
}
/r/sat/1023795949035695/at/-1
:
{
"id":"17541f6adf6eb160d52bc6eb0a3546c7c1d2adfe607b1a3cddc72cc0619526adi0"
}
See examples for on-chain examples of inscriptions that feature this functionality.