File: blk03969.txt

CjA=:r:thor1y22v89ucv9hdwu6xjl6c7x6q42znuy9lfagdad:284728285786:t:30
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcg1840000kmint_tickerhelectronh!
8Q%hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
hbitworkcg1840000kmint_tickerhelectronh!
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"piin","amt":"359995000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"tbci","amt":"1700000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"1500000000"}h!
b:Ihbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
LL{"p":"brc-20","op":"deploy","tick":"$SYM","max":"21000000","lim":"21000000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
kmint_tickerhelectronhbitworkcg1840000enonceh73657335dtime
)1Thbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh53311211dtime
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
msgid "In the case of a tie, where two submissions occur with the same frequency, the earlier submission shall be the winner."
#: src\bounty/3.md:66
msgid "Part 0: 200,000 sats"
#: src\bounty/3.md:67
msgid "Part 1: 200,000 sats"
#: src\bounty/3.md:68
msgid "Total: 400,000 sats"
#: src\bounty/3.md:73
msgid "[`17m5rvMpi78zG8RUpCRd6NWWMJtWmu65kg`](https://mempool.space/address/17m5rvMpi78zG8RUpCRd6NWWMJtWmu65kg)"
#: src\bounty/3.md:78
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
          .inscription_number,
  fn transaction_with_inscription_inside_zero_value_2nd_input_should_be_unbound_and_cursed() {
    for context in Context::configurations() {
      context.mine_blocks(1);
      // create zero value input
      context.rpc_server.broadcast_tx(TransactionTemplate {
        inputs: &[(1, 0, 0, Default::default())],
        fee: 50 * 100_000_000,
        ..Default::default()
      context.mine_bloM
      let witness = inscription("text/plain", "hello").to_witness();
      let txid = context.rpc_server.broadcast_tx(TransactionTemplate {
        inputs: &[(2, 0, 0, witness.clone()), (2, 1, 0, witness.clone())],
        ..Default::default()
      let second_inscription_id = InscriptionId { txid, index: 1 };
      context.mine_blocks(1);
      context.index.assert_inscription_location(
        second_inscription_id,
          outpoint: unbound_outpoint(),
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
    let inscription_id = InscriptionId { txid, index: 0 };
    server.mine_blocks(1);
    server.assert_response_regex(
      format!("/preview/{inscription_id}"),
      StatusCode::OK,
      format!(r".*<html lang=en data-inscription={inscription_id} data-language=javascript>.*"),
  fn content_response_no_content_type() {
    let (headers, body) = Server::content_response(
      Inscription::new(None, Some(Vec::new())),
      AcceptEncoding::default(),
      &PageConfig::default(),
    assert_eq!(headers["content-type"], "application/octet-stream");
    assert!(body.is_empty());
  fn content_response_bad_content_type() {
    let (headers, body) = Server::content_response(
      Inscription::new(Some("\n".as_bytes().to_vec()), Some(Vec::new())),
      AcceptEncoding::default(),
      &PageConfig::default(),
    assert_eq!(headers["content-type"], "application/octet-stream");
    assert!(body.is_empty());
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"mice","amt":"300000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
 "concurrent-queue",
 "futures-lite 1.13.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
 "event-listener 2.5.3",
source = "registry+https://github.com/rust-lang/crates.io-index"
 "dea8b3453dd7cc96711834b75400d671b73e3656975fa68d9f277163b7f7e316"
 "event-listener 4.0.0",
 "event-listener-strategy",
 "pin-project-lite",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0434b1ed18ce1cf5769b8ac540e33f01fa9471058b5e89da9e06f3c882a8c12f"
 "futures-lite 1.13.0",
source = "registry+https://github.com/rust-lan
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
    let unsigned_transaction = TransactionBuilder::new(
      unspent_outputs,
      locked_outputs,
      address.clone(),
      self.fee_rate,
    .build_transaction()?;
    let signed_tx = client
      .sign_raw_transaction_with_wallet(&unsigned_transaction, None, None)?
    let txid = client.send_raw_transaction(&signed_tx)?;
    Ok(Box::new(Output { transaction: txid }))
  fn lock_inscriptions(
    inscriptions: BTreeMap<SatPoint, InscriptionId>,
    unspent_outputs: BTreeMap<bitcoin::OutPoint, bitcoin::Amount>,
    let all_inscription_outputs = inscriptions
      .map(|satpoint| satpoint.outpoint)
      .collect::<HashSet<OutPoint>>();
    let wallet_inscription_outputs = unspent_outputs
      .filter(|utxo| all_inscription_outputs.contains(utxo))
      .collect::<Vec<OutPoint>>();
    if !client.lock_unspent(&wallet_inscription_outputs)? {
text/plain;charset=utf-8
name = "number_prefix"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
name = "oid-registry"
source = "registry+https://github.com/M
rust-lang/crates.io-index"
checksum = "38e20717fa0541f39bd146692035c37bedfa532b3e5071b35761082407546b2a"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "79a4c6c3a2b158f7f8f2a2fc5a969fa3a068df6fc9dbb4a43845436e3af7c80
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"piin","amt":"8000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
kmint_tickerhelectronhbitworkcg1840000enonceh79576790dtime
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"piin","amt":"5600000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"FCDP","amt":"1"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"GHSY","amt":"3000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"piin","amt":"6000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"GROK","amt":"20000"}h!
text/plain;charset=utf-8
msgid "How does ordinal theory work?"
"Ordinal numbers are assigned to satoshis in the ordM
er in which they are mined. The first satoshi in the first block has ordinal number 0, the second has "
"ordinal number 1, and the last satoshi of the first block has ordinal number 4,999,999,999."
"Satoshis live in outputs, but transactions destroy outputs and create new ones, so ordinal theory uses an algorithm to determine how satoshis hop from the "
"inputs of a transaction to its outputs."
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"piin","amt":"55555555"}h!
Dhbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
Bj@=:BNB.BNB:bnb16puq0faqy40rykarymsl4dsewhwu2cywg2k7u0:95875278::0
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"DRCR","amt":"9375000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"fish","amt":"15000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"cows","amt":"1"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"DFSN","amt":"140"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"saur","amt":"2000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh66941157dtime
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"RSK ","amt":"50000"}h!
text/plain;charset=utf-8
{"p": "tap","op": "dmt-mint","dep": "4d967af36dcacd7e6199c39bda855d7b1b37268f4c8031fed5403a99ac57fe67i0","tick": "nat","blk": "819104"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"DRAG","amt":"2000000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh22868126dtime
text/plain;charset=utf-8
{"p": "tap","op": "dmt-mint","dep": "4d967af36dcacd7e6199c39bda855d7b1b37268f4c8031fed5403a99ac57fe67i0","tick": "nat","blk": "819103"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"xbtc","amt":"10000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"MUBI","amt":"50000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh22401713dtime
text/plain;charset=utf-8
{"p": "tap","op": "dmt-mint","dep": "4d967af36dcacd7e6199c39bda855d7b1b37268f4c8031fed5403a99ac57fe67i0","tick": "nat","blk": "819102"}h!
33333333333333333333333333333333S
Aj?=:ETH.ETH:0xb5d4f1Dd4A2f09A3460822B1ff2b0711B74c2AC9:0/1/0:te:0
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
u@hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
Qhbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
Tdhbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
https://trustless.computer
<{"p":"tap","op":"token-transfer","tick":"benny","amt":"100"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"RSK ","amt":"50000"}h!
text/plain;charset=utf-8
  format!("{}i{n}", hex.repeat(64)).parse().unwrap()
pub(crate) fn envelope(payload: &[&[u8]]) -> Witness {
  let mut builder = script::Builder::new()
    .push_opcode(opcodes::OP_FALSE)
    .push_opcode(opcodes::all::OP_IF);
  for data in payload {
    let mut buf = PushBytesBuf::new();
    buf.extend_from_slice(data).unwrap();
    builder = builder.push_slice(buf);
  let script = builder.push_opcode(opcodes::all::OP_ENDIF).into_script();
  Witness::from_slice(&[script.into_bytes(), Ve
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ordi","amt":"50"}h!
text/plain;charset=utf-8
#: src/overview.md:164
 Not first block in difficulty adjustment period\n"
 Not first block in halving epoch\n"
#: src/overview.md:171
msgid "Rare Satoshi Supply"
#: src/overview.md:174
msgid "Total Supply"
#: src/overview.md:176
msgid "`common`: 2.1 quadrillion"
msgstr "`common`: 2.1
#: src/overview.md:177
msgid "`uncommon`: 6,929,9M
msgstr "`uncommon`: 6,929,999"
#: src/overview.md:178
msgid "`rare`: 3437"
msgstr "`rare`: 3437"
#: src/overview.md:179
#: src/overview.md:180
msgid "`legendary`: 5"
msgstr "`legendary`: 5"
#: src/overview.md:181 src/overview.md:190
text/plain;charset=utf-8
#: src/inscriptions/recursion.md:23
msgid "A few other endpoints that inscriptions may access are the following:"
msgstr "Algunos otros puntos finales a los que pueden acceder las inscripciones son los siguientes:"
#: src/inscriptions/recursion.md:25
msgid "`/blockheight`: latest block height."
msgstr "`/blockheight`: altura del bloque m
#: src/inscriptions/recursion.md:26
msgid "`/blockhash`: latest block hash."
msgstr "`/blockhash`: hash del bloque m
#: src/inscriptions/recursion.mM
msgid "`/blockhash/<HEIGHT>`: block hash at given block height."
msgstr "`/blockhash/<ALTURA>`: hash del bloque a la altura de bloque dada."
#: src/inscriptions/recursion.md:28
msgid "`/blocktime`: UNIX time stamp of latest block."
msgstr "`/blocktime`: marca de tiempo UNIX del bloque m
msgid "Ordinal Theory FAQ"
msgstr "Preguntas frecuentes sobre la teor
msgid "What is ordinal theory?"
text/plain;charset=utf-8
#[derive(Debug, Parser)]
pub(crate) struct Subsidy {
  #[arg(help = "List sats in subsidy at <HEIGHT>.")]
#[derive(Debug, PartialEq, Serialize, Deserialize)]
  pub(crate) fn run(self) -> SubcommandResult {
    let first = self.height.starting_sat();
    let subsidy = self.height.subsidy();
    if subsidy == 0 {
      bail!("block {} has no subsidy", self.height);
    Ok(Box::nLYew(Output {
      first: first.0,
      name: first.name(),
B{"p":"brc20-s","op":"deposit","amt":"50000","pid":"1ef1244341#ee"}h!
text/plain;charset=utf-8
#: src/guides/explorer.md:106
msgid "Which returns:"
#: src/guides/explorer.md:108
"  \"value\": 10000,\n"
"  \"script_pubkey\": \"OP_PUSHNUM_1 OP_PUSHBYTES_32 "
"156cc4878306157720607cdcb4b32afa4cc6853868458d7258b907112e5a434b\",\n"
"\"bc1pz4kvfpurqc2hwgrq0nwtfve2lfxvdpfcdpzc6ujchyr3ztj6gd9sfr6ayf\",\n"
"  \"transaction\": "
"\"bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed\",\n"
"  \"sat_ranges\": null,\n"
"    \"6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0\"\n"
#: src/guides/inscriptions.md:1
msgid "Ordinal Inscription Guide"
#: src/guides/inscriptions.md:4
"Individual sats can be inscribed with arbitrary content, creating Bitcoin-"
"native digital artifacts that can be held in a Bitcoin wallet and "
"transferred using Bitcoin transactions. Inscriptions are as durable, "
"immutable, secure, and decentralized as Bitcoin it
text/plain;charset=utf-8
      let coinbase_tx = context.mine_blocks(1)[0].txdata[0].txid();
      context.index.assert_inscription_location(
        inscription_id,
          outpoint: OutPoint {
            txid: coinbase_tx,
            vout: 0,
          offset: 50 * COIN_VALUE,
        Some(50 * COIN_VALUE),
  fn lost_inscriptions() {
    for context in Context::configurations() {
      context.mine_blocks(1);
      let txid = context.rpc_server.broadcast_tx(TM
ransactionTemplate {
        inputs: &[(1, 0, 0, inscription("text/plain", "hello").to_witness())],
        fee: 50 * COIN_VALUE,
        ..Default::default()
      let inscription_id = InscriptionId { txid, index: 0 };
      context.mine_blocks_with_subsidy(1, 0);
      context.index.assert_inscription_location(
        inscription_id,
          outpoint: OutPoint::null(),
          offset: 0,
        Some(50 * COIN_VALUE),
iptions_can_be_lost() {
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"xbtc","amt":"10000"}h!
text/plain;charset=utf-8
#: src/inscriptions/provenance.md:14
msgid "Specification"
#: src/inscriptions/provenance.md:16
msgid "To create a child inscription C with parent inscription P:"
#: src/inscriptions/provenance.md:18
gid "Create an inscribe transaction T as usual for C."
#: src/inscriptions/provenance.md:19
msgid "Spend the parent P in one of the inputs of T."
#: src/inscriptions/provenance.md:20
"Include tag `3`, i.e. `OP_PUSH 3`, in C, with the value of the serialized "
"binary inscription ID of P, serialized as the 32-byte `TXID`, followed by "
"the four-byte little-endian `INDEX`, with trailing zerM
#: src/inscriptions/provenance.md:24
"_NB_ The bytes of a bitcoin transaction ID are reversed in their text "
"representation, so the serialized transaction ID will be in the opposite "
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"piin","amt":"10000000"}h!
text/plain;charset=utf-8
    let sequence_number_to_satpoint = rtx.open_table(SEQUENCE_NUMBER_TO_SATPOINT).unwrap();
    let sequence_number = rtx
      .open_table(INSCRIPTION_ID_TO_SEQUENCE_NUMBER)
      .get(&inscription_id.store())
      satpoint_to_sequence_number.len().unwrap(),
      sequence_number_to_satpoint.len().unwrap(),
      SatPoint::load(
        *sequence_number_to_satpoint
          .get(sequence_nuM
    assert!(satpoint_to_sequence_number
      .get(&satpoint.store())
      .any(|result| result.unwrap().value() == sequence_number));
      Some(sat) => {
        if self.index_sats {
          // unbound inscriptions should not be assigned to a sat
          assert!(satpoint.outpoint != unbound_outpoint());
          assert!(rtx
            .open_multimap_table(SAT_TO_SEQUENCE_NUMBE
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"xbtc","amt":"10000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"piin","amt":"5000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"RDEX","amt":"2000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
enonceh19093734dtime
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":821,"sig":"G4ZlBF3CQmbuY2RaTQ7K+kupOr1UBUEH4Yn7rV7rluw5WvrzdXxi9V7+nHtAEY0if7nC6iKtWxp2PZp1AelYWOM="}hA
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":873,"sig":"G/ueUmF+cxp7ugr3dP68RM6e3wI9WlBSKe4wPBZMQj6ZaD9wl/pf75OlFICd1TFxsQqLY4I6SQAP3Ov32A2Nz50="}hA
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"piin","amt":"2000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"FRAM","amt":"23522"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"saur","amt":"2000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"stas","amt":"100"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
Neighborhood.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
chbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
]hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"atom","amt":"2100"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
 "tokio-native-tls",
name = "iana-time-zone"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
 "android_system_properties",
 "core-foundation-sys",
na-time-zone-haiku",
name = "iana-time-zone-haiku"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
text/plain;charset=utf-8
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
name = "strum_macros"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"5000000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"FRAM","amt":"100000"}h!
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":281,"sig":"G1Cvc9PMFpouuMuIHHTgp94IYV7hpHVHzBynjx2R60XyTCII8NoTmE2io/f0t+OL4w3ZYEQvA9F93KzKVtavKkI="}hA
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"2000000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"$bmp","amt":"25000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"$BMP","amt":"14000"}h!
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
FjDOUT:0C1BC23F713CFFCC52BF163C67AF7A4C717CDB970683FE5B4BF9FCA4B068C0E1
FjDOUT:C6244655B156BB91F9AD069FAD2F37D6EE280F6CCD690FD86E2E360254238BF6
FjDOUT:0E642DF483E234465A69D3738CFABB2C47DDA61531CFCD3B09E73778F55F3E2E
FjDOUT:AEF6806F16CB04699B8FD555A00C269BF49ED183B9FE235E588BBC6CFF894F0E
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piio","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piio","amt":"1396263400"}h!
text/plain;charset=utf-8
#[derive(Boilerplate)]
pub(crate) struct TransactionHtml {
  blockhash: Option<BlockHash>,
  etching: Option<Rune>,
  inscription: Option<InscriptionId>,
  transaction: Transaction,
impl TransactionHtml {
  pub(crate) fn new(
    transaction: Transaction,
    blockhash: Option<BlockHash>,
    inscription: Option<InscriptionId>,
    etching: Option<Rune>,
      txid: transaction.txid(),
impl PageContent for TransactionHtml {
  fn title(&self) -> String {
    format!("Transaction {}", self.txid)
    bitcoin::{blockdata::script, locktime::absolute::LockTime, TxOut},
    let transaction = Transaction {
      lock_time: LockTime::ZERO,
      input: vec![TxIn {
        sequence: Default::default(),
        previous_output: Default::default(),
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piio","amt":"1396263400"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh45580863dtime
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"tbci","amt":"30000"}h!
ZNhbitworkcg1840000kmint_tickerhelectronh!
text/plain;charset=utf-8
    .expected_stderr("error: find requires index created with `--index-sats` flag\n")
    .expected_exit_code(1)
    .run_and_extract_stdout();
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"6000000000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"rats","amt":"20000000"}h!
text/plain;charset=utf-8
LV{"p":"brc-20","op":"deploy","tick":"JITP","max":"21000000","lim":"21000000","amt":"0"}h!
text/plain;charset=utf-8
    blockdata::{opcodes, script, script::PushBytesBuf},
    ScriptBuf, Witness,
  pretty_assertions::assert_eq as pretty_assert_eq,
  test_bitcoincore_rpc::TransactionTemplate,
  unindent::Unindent,
macro_rules! assert_regex_match {
  ($value:expr, $pattern:expr $(,)?) => {
    let regex = Regex::new(&format!("^(?s){}$", $pattern)).unwrap();
    let string = $value.to_string();
    if !regex.is_match(string.as_ref()) {
did not match string:\n\n{}",
        regex, string
macro_rules! assert_matches {
  ($expression:expr, $( $pattern:pat_param )|+ $( if $guard:expr )? $(,)?) => {
    match $expression {
      $( $pattern )|+ $( if $guard )? => {}
      left => panic!(
        "assertion failed: (left ~= right)\n  left: `{:?}`\n right: `{}`",
        stringify!($($pattern)|+ $(if $guard)?)
pub(crate) fn blockhash(n: u64) -> BlockHash {
  let hex = format!("{n:x}");
text/plain;charset=utf-8
  rpc_server.mine_blocks(1);
  assert_eq!(rpc_server.descriptors().len(), 3);
  let parent_id = parent_output.inscriptions[0].id;
  let output = CommandBuilder::new("wallet inscribe --fee-rate 1 --batch batch.yaml")
    .write("inscription.txt", "Hello World")
    .write("tulip.png", [0; 555])
    .write("meow.wav", [0; 2048])
      format!("parent: {parent_id}\nmode: separate-outputs\npostage: 777\ninscriptions:\n- file: inscription.txt\n- file: tulip.png\n- file: meow.wav\n")
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Inscribe>();
  for inscription in &output.inscriptions {
    assert_eq!(inscription.location.offset, 0);
  let mut outpoints = output
    .map(|inscription| inscription.location.outpoint)
    .collect::<Vec<OutPoint>>();
  outpoints.dedup();
  assert_eq!(outpoints.len(), output.inscriptions.len());
  rpc_server.mine_blocks(1);
  let ord_server = TestServer::spawn_with_args(&rpc_server, &[]);
text/plain;charset=utf-8
text/plain;charset=utf-8
msgid "200,000 sats"
msgstr "200,000 sats"
#: src/bounty/1.md:22
msgid "[`145Z7PFHyVrwiMWwEcUmDgFbmUbQSU9aap`](https://mempool.space/address/145Z7PFHyVrwiMWwEcUmDgFbmUbQSU9aap)"
msgstr "[`145Z7PFHyVrwiMWwEcUmDgFbmUbQSU9aap`](https://mempool.space/address/145Z7PFHyVrwiMWwEcUmDgFbmUbQSU9aap)"
#: src/bounty/1.md:27
msgid "Claimed by [@ordinalsindex](https://twitter.com/rodarmor/status/1569883266508853251)!"
 [@ordinalsindex](https://twitter.com/rodarmor/status/1569883266508853251)!"
msgid "Ordinal Bounty 2"
#: src/bounty/2.md:7
#: src/bounty/2.md:7
#: src/bounty/2.md:7
msgid " sat to the submission address:"
#: src/bounty/2.md:9
: [347100000000000](https://ordinals.com/sat/347100000000000)"
: [347100000000000](https://ordinals.com/sat/347100000000000)"
#: src/bounty/2.md:11
: [6685000001337](https://ordinals.com/sat/6685000001337)"
text/plain;charset=utf-8
name = "diligent-date-parser"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6cf7fe294274a222363f84bcb63cdea762979a0443b4cf1f4f8fd17c86b1182"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh11987795dtime
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh36812925dtime
text/plain;charset=utf-8
text/plain;charset=utf-8
"in all respects, with the exception that in order to send individual sats, "
"transactions must control the order and value of inputs and outputs "
"according to ordinal theory."
"Esses sats inscritos podem ent
o ser transferidos usando transa
"enviados para endere
os de bitcoin e mantidos em UTXOs de bitcoin. Essas transa
os e UTXOS normais de bitcoin "
"em todos os aspectos, com a exce
o de que, para enviar sats individuaiM
es devem controlar tanto a ordem quanto o valor das entradas e das sa
"de acordo com a teoria ordinal."
#: src/inscriptions.md:15
"The inscription content model is that of the web. An inscription consists of "
"a content type, also known as a MIME type, and the content itself, which is "
"a byte string. This allows inscription content to be returned from a web "
"server, and for creating HTML inscriptions that use and remix the content of "
"other inscriptions."
 o da web. Uma inscri
text/plain;charset=utf-8
"the commit transaction, a taproot output committing to a script containing "
"the inscription content is created. Second, in the reveal transaction, the "
"output created by the commit transaction is spent, revealing the inscription "
"Como os gastos com script taproot s
 podem ser feitos a partir de sa
das taproot existentes, "
o feitas usando um procedimento de confirma
o de duas fases. Primeiro, na "
root confirmando um script contendo "
 criado. Depois, na transa
da criada pela transa
 gasta, revelando o conte
#: src/inscriptions.md:33
"Inscription content is serialized using data pushes within unexecuted "
"conditionals, called \"envelopes\". Envelopes consist of an `OP_FALSE OP_IF "
 OP_ENDIF` wrapping any number of data pushes. Because envelopes are "
"effectively no-ops, they do3 not change the semantics of the script in which "
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"8000000000"}h!
text/plain;charset=utf-8
#: src/guides/collecting/sparrow-wallet.md:81
msgid "For details on setting up Bitcoin Core and the `ord` wallet check out the [Inscriptions Guide](../inscriptions.md)"
](../inscriptions.md)"
#: src/guides/collecting/sparrow-wallet.md:83
"When setting up `ord`, instead of running `ord wallet create` to create a brand-new wallet, you can import your existinM
g wallet using `ord wallet restore "
"\"BIP39 SEED PHRASE\"` using the seed phrase you generated with Sparrow Wallet."
 `ord wallet create`
 `ord wallet restore \"BIP39 SEED PHRASE\"`,
#: src/guides/collecting/sparrow-wallet.md:85
"There is currently a [bug](https://github.com/ordinals/ord/issues/1589) which causes an imported wallet to not be automatically rescanned against the "
text/plain;charset=utf-8
    let reveal_address = recipient();
    let (_commit_tx, reveal_tx, _private_key, _) = Batch {
      parent_info: None,
      inscriptions: vec![inscription],
      destinations: vec![reveal_address],
      commit_fee_rate: FeeRate::try_from(1.0).unwrap(),
      reveal_fee_rate: FeeRate::try_from(1.0).unwrap(),
      no_limit: true,
      reinscribe: false,
      postage: TransactionBuilder::TARGET_POSTAGE,
      mode: Mode::SharedOutput,
      ..Default::default()
    .create_batch_inscripM
      BTreeMap::new(),
      Chain::Mainnet,
      BTreeSet::new(),
      utxos.into_iter().collect(),
      [commit_address, change(1)],
    assert!(reveal_tx.size() >= MAX_STANDARD_TX_WEIGHT as usize);
  fn cbor_and_json_metadata_flags_conflict() {
    assert_regex_match!(
      Arguments::try_parse_from([
        "--cbor-metadata",
        "--json-metadata",
text/plain;charset=utf-8
use {super::*, ord::subcommand::wallet::outputs::Output};
  let rpc_server = test_bitcoincore_rpc::spawn();
  create_wallet(&rpc_server);
  let coinbase_tx = &rpc_server.mine_blocks_with_subsidy(1, 1_000_000)[0].txdata[0];
  let outpoint = OutPoint::new(coinbase_tx.txid(), 0);
  let amount = coinbase_tx.output[0].value;
  let output = CommandBuilder::new("wallet outputs")
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Vec<Output>>();
  assert_eq!(output[0].output, outpointM
  assert_eq!(output[0].amount, amount);
fn outputs_includes_locked_outputs() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  create_wallet(&rpc_server);
  let coinbase_tx = &rpc_server.mine_blocks_with_subsidy(1, 1_000_000)[0].txdata[0];
  let outpoint = OutPoint::new(coinbase_tx.txid(), 0);
  let amount = coinbase_tx.output[0].value;
  rpc_server.lock(outpoint);
  let output = CommandBuilder::new("wallet outputs")
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Vec<Output>>();
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh30659935dtime
text/plain;charset=utf-8
fn target_as_block_hash(target: bitcoin::Target) -> BlockHash {
  BlockHash::from_raw_hash(Hash::from_byte_array(target.to_le_bytes()))
#[derive(Boilerplate)]
pub(crate) struct BlockHtml {
  target: BlockHash,
  best_height: Height,
  inscription_count: usize,
  featured_inscriptions: Vec<InscriptionId>,
  pub(crate) fn new(
    best_height: Height,
    inscription_count: usize,
red_inscriptions: Vec<InscriptionId>,
      hash: block.header.block_hash(),
      target: target_as_block_hash(block.header.target()),
      inscription_count,
      featured_inscriptions,
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub struct BlockJson {
  pub hash: BlockHash,
  pub target: BlockHash,
  pub best_height: u32,
  pub inscriptions: Vec<InscriptionId>,
  pub(crate) fn new(
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
hihe/Foundry USA Pool #dropgold/#
>j<+:BTC.BTC:thor1d339u5pszjj5z4zkmstnx4detrdu6fms7p6xav:wr:100Q
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
=j;+:BTC.BTC:thor1faa0m9w722ty72sxaxzre6tk70skvn4gn6zvqs:wr:30
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ordi","amt":"1"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"1ca1f7f02b1decd6e3588df008659074fbe6b81f868175a1072632496dea97c5","iid":"Summer Monkeys #15","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":0,"sig":"G03WZtyzjQDEkVAKHZtmmOGNtGbttUfilntUmvqqnqLlTPcuDC/2qtSrAG7VjgpFqcZYv3B8hrg8SIx+D4QpyGc="}hA
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":3558,"sig":"G9S3bYWRjr0w6pbqACM3JoUbGq1YlY8Sf6zPmlLQoBn3JgqmcC8rf29O+/cUz4Le53/8tjDa+C+xZ9WZTTj7bw8="}hA
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
    <title>NODESBITS</title>
        .container {
            width: 500px;
            height: 500px;
            margin: 20px auto;
            border: 1px solid #000;
            width: 10px;
            height: 10px;
            float: left;
            box-sizing: border-box;
            border: 1px solid #ddd;
<div id="container" class="container"></div>
    function createGrid() {
st container = document.getElementById('container');
        container.innerHTML = '';
        for (let i = 0; i < 2500; i++) { // Assuming 50x50 grid
            let pixel = document.createElement('div');
            pixel.className = 'pixel';
            container.appendChild(pixel);
    function simulateDefragmentation() {
        const pixels = document.querySelectorAll('.pixel');
        pixels.forEach(pixel => {
            setTimeout(() => {
                pixel.style.backgroundColor = getRM
            }, Math.random() * 5000); // Random timeout for each pixel
    function getRandomColor() {
        // You can adjust colors to simulate different data states
        const colors = ['#FF0000', '#00FF00', '#0000FF'];
        return colors[Math.floor(Math.random() * colors.length)];
    simulateDefragmentation();
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"274336e28ac0a76d941d8323084a7d21f2ef79345080910957bb200734f41548","iid":"NODESBITS","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":4,"sig":"HDkfJGmR5HDOrLzw1D5UPRQQ3LuhVw+KL5WYzuFTFwb0DtrmHV1J9FYsCXI4vFwsp7knau1kHFjgVCPk7bbkU0g="}hA
text/plain; charset=utf-8
Genesis 1:11 - And God said, Let the earth bring forth grass, the herb yielding seed, and the fruit tree yielding fruit after his kind, whose seed is in itself, on the earth: and it was so.h
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"7765d5da65cbb355f111fe391b309476fbeeb2ca72e340e2026db87912bcee55","iid":"The Book Of Genesis","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":7,"sig":"G5BB9S8XgbxkLxCsUjd9f/R3/ZBZPTwXbLgAfgcgVgUgWbTl5Ty1A93HnAcOyHmM35nouzn79ZC4I6PX3gqOUUU="}hA
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":499,"sig":"HAaStAJn/YH+GuB28UAu0ZXOyVO5CZdoWTL94qwcQxMvJ9OsJvEq+zvxThFUrr7gL885sYs238Nar6Vqf0Daz5U="}hA
viTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c145 79.163499, 2018/08/13-16:40:22        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginM
alDocumentID="xmp.did:2a208043-1367-5d45-82ef-001941732b36" xmpMM:DocumentID="xmp.did:6ED2FBD964F611EE86A5D7DDEF2E0E7B" xmpMM:InstanceID="xmp.iid:6ED2FBD864F611EE86A5D7DDEF2E0E7B" xmp:CreatorTool="Adobe Photoshop CC 2019 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:b304e028-62dd-c841-b64a-6f5c3de58cca" stRef:documentID="xmp.did:2a208043-1367-5d45-82ef-001941732b36"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>b0
text/plain;charset=utf-8
    let acme_cache = if let Some(acme_cache) = acme_cache {
      acme_cache.clone()
      options.data_dir()?.join("acme-cache")
  fn acme_domains(&self) -> Result<Vec<String>> {
    if !self.acme_domain.is_empty() {
      Ok(self.acme_domain.clone())
      Ok(vec![System::new()
        .host_name()
        .ok_or(anyhow!("no hostname found"))?])
  fn http_port(&self) -> Option<u16> {
    if self.http || self.http_port.is_some() || (self.https_poM
rt.is_none() && !self.https) {
      Some(self.http_port.unwrap_or(80))
  fn https_port(&self) -> Option<u16> {
    if self.https || self.https_port.is_some() {
      Some(self.https_port.unwrap_or(443))
  fn acceptor(&self, options: &Options) -> Result<AxumAcceptor> {
    let config = AcmeConfig::new(self.acme_domains()?)
      .contact(&self.acme_contact)
      .cache_option(Some(DirCache::new(Self::acme_cache(
        self.acme_cache.as_ref(),
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":730,"sig":"HGRkbhLAUw62O52yYNke1A5i1CmnYgH1Thjc831eZ36dbciqhj1BCHMS2PAkQiBmBxxtkEm93tic84cHiCD9PtE="}hA
text/plain;charset=utf-8
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
 "tokio-native-tls",
name = "iana-time-zone"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
 "android_system_properties",
 "core-foundation-sys",
na-time-zone-haiku",
name = "iana-time-zone-haiku"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
- Make ord info work without ordinal index (#874)
- Improve subcommand names (#867)
- Calculate TXIDs in background thread (#866)
- Track inscription satpoints (#860)
- Add type aliases index for array types (#859)
- Index inscriptions when not indexing ordinals (#857)
- Use satpoints instead of ordinals in wallet commands (#849)
- Only request transactions if indexing ordinals (#851)
- Make analyzing index easier (#850)
- Add `ord list-ranges <OUTPOINT>` (#848)
- Conditionally disable ordinal index dependent serveM
- Update redb (#832)
- Compress downloaded logs (#836)
- Only index ordinal ranges if `--index-ordinals` is passed (#837)
- Record commit block count and timestamp in index (#826)
- Add build-snapshots recipe (#831)
- Add minimum system requirements to readme (#829)
- Abort update if another has run concurrently (#830)
- Add benchmark-revision recipe (#827)
- Retry get_block_hash as well as get_block (#820)
- Update dependencies (#823)
- Add inscription page (#817)
- Add PNG inscriptions (#800)
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"piib","amt":"1000000000"}h!
viTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c145 79.163499, 2018/08/13-16:40:22        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginM
alDocumentID="xmp.did:2a208043-1367-5d45-82ef-001941732b36" xmpMM:DocumentID="xmp.did:623E5CAE799811EEA662D610C92CD30E" xmpMM:InstanceID="xmp.iid:623E5CAD799811EEA662D610C92CD30E" xmp:CreatorTool="Adobe Photoshop CC 2019 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:9c97036a-9daa-0748-896e-aa3c9bb666dd" stRef:documentID="xmp.did:2a208043-1367-5d45-82ef-001941732b36"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
 "concurrent-queue",
 "pin-project-lite",
name = "event-listener-strategy"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 "event-listener 4.0.0",
 "pin-project-lite",
name = "executable-path"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ebc5a6d89e3c90b84e8f33c8737933dda8f1c106b5415900b38b9d433841478"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
name = "strum_macros"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
#: src\guides/explorer.md:8
msgid "Running The Explorer"
#: src\guides/explorer.md:9
msgid "The server can be run locally with:"
#: src\guides/explorer.md:11
msgid "`ord server`"
#: src\guides/explorer.md:13
msgid "To specify a port add the `--http-port` flag:"
#: src\guides/explorer.md:15
msgid "`ord server --http-port 8080`"
msgid "To test how your inscriptions will look you can run:"
#: src\guides/explorer.md:19
msgid "`ord preview <FILE1> <FILE2> ...`"
msgstr "` ...ord preview <FILE1> <FILE2>`"
#: src\guides/explorer.md:21
#: src\guides/explorer.md:24
msgid "The search box accepts a variety of object representations."
#: src\guides/explorer.md:26
#: src\guides/explorer.md:28
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"piin","amt":"5000000"}h!
text/plain;charset=utf-8
"Download the Sparrow Wallet from the [releases page](https://sparrowwallet."
"com/download/) for your particular operating system."
](https://sparrowwallet.com/download/)
#: /workspaces/ord_ko/docs/src/guides/collecting/sparrow-wallet.md:17
msgid "Select `File -> New Wallet` and create a new wallet called `ord`."
msgstr "`File -> New Wallet`
#: /workspaces/ord_ko/docs/src/guides/collecting/sparrow-wallet.md:19
msgid "![](images/wallet_setup_01.png)"
msgstr "![](images/wallet_setup_01.png)"
#: /workspaces/ord_ko/docs/src/guides/collecting/sparrow-wallet.md:21
"Change the `Script Type` to `Taproot (P2TR)` and select the `New or Imported "
"Software Wallet` option."
 `New or Imported Software "
#: /workspaces/ord_ko/docs/src/guides/collecting/spLdarrow-wallet.md:23
msgid "![](images/wallet_setup_02.png)"
msgstr "![](images/wallet_setup_02.png)"
text/plain;charset=utf-8
#: src/guides/collecting/sparrow-wallet.md:129
"If all of the above are true for your inscription, it should be safe for you "
"to send it using the method below."
"Si todo lo anterior se sostiene para tu inscripci
as poder proceder con seguridad usando el siguiente m
#: src/guides/collecting/sparrow-wallet.md:131
 Be very careful sending your inscription particularly if the `offset` "
"value is not `0`. It is not recommended to use this method if that iM
"case, as doing so you could accidentally send your inscription to a bitcoin "
"miner unless you know what you are doing."
 Ten mucho cuidado al enviar tu inscripci
n, especialmente si el `offset` "
"no es `0`. En tales casos, no se recomienda utilizar este m
"enviar accidentalmente tu inscripci
n a un minero de bitcoin a menos que sepas lo que est
#: src/guides/collecting/sparrow-wallet.md:133
msgid "Sending your inscription"
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"rats","amt":"15000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"piin","amt":"24000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"sats","amt":"398900000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":25,"sig":"Gx1XYBrvub57UmpoNyMKINrX21cSfRNkDlDyNHmrN3wzS5rzyn5NrI68yJJ6lUI/pVaXg/7h17Fvte7cTw4CeXY="}hA
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"lion","amt":"46000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh64367394dtime
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
 "concurrent-queue",
 "pin-project-lite",
name = "event-listener-strategy"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 "event-listener 4.0.0",
 "pin-project-lite",
name = "executable-path"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ebc5a6d89e3c90b84e8f33c8737933dda8f1c106b5415900b38b9d433841478"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <image xlink:href="/content/22e72886d43d5ac16e5cfd72cd1201304b7a801f932b1a4b6d7af712312579fci0#svgContent" width="100%" height="100%" preserveAspectRatio="xMidYMid meet" />
9hbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
hbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
hbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
hbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
hbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
hbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
hbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
hbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
hbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
hbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
hbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh43010075dtime
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh09971546dtime
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh31798146dtime
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"csas","amt":"125000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh81482042dtime
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh29818566dtime
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh09368256dtime
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh78654303dtime
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh76315840dtime
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"MMSS","amt":"14000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh70360672dtime
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh16570602dtime
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh04428897dtime
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh25570785dtime
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh13691476dtime
text/plain;charset=utf-8
  rpc_server.mine_blocks(1);
  assert_eq!(rpc_server.descriptors().len(), 3);
  let parent_id = parent_output.inscriptions[0].id;
  let output = CommandBuilder::new("wallet inscribe --fee-rate 1 --batch batch.yaml")
    .write("inscription.txt", "Hello World")
    .write("tulip.png", [0; 555])
    .write("meow.wav", [0; 2048])
      format!("parent: {parent_id}\nmode: separate-outputs\npostage: 777\ninscriptions:\n- file: inscription.txt\n- file: tulip.png\n- file: meow.wav\n")
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Inscribe>();
  for inscription in &output.inscriptions {
    assert_eq!(inscription.location.offset, 0);
  let mut outpoints = output
    .map(|inscription| inscription.location.outpoint)
    .collect::<Vec<OutPoint>>();
  outpoints.dedup();
  assert_eq!(outpoints.len(), output.inscriptions.len());
  rpc_server.mine_blocks(1);
  let ord_server = TestServer::spawn_with_args(&rpc_server, &[]);
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh54553297dtime
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh87231786dtime
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DRAG","amt":"300000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh29179241dtime
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DRAG","amt":"300000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"etfs","amt":"1420000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh29693781dtime
text/plain;charset=utf-8
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DRAG","amt":"280000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"Bear","amt":"660"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DRAG","amt":"300000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"FRAM","amt":"23995"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
nGhbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
4ohbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
^x,hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
Bj@=:LTC.LTC:ltc1q2v8redqr4g2tn4qhvkm4yf6ugn7tqxm6n2le6x:0/1/0:te:0
{"p": "tap","op": "dmt-mint","dep": "4d967af36dcacd7e6199c39bda855d7b1b37268f4c8031fed5403a99ac57fe67i0","tick": "nat","blk": "819102"}h!
{"p": "tap","op": "dmt-mint","dep": "4d967af36dcacd7e6199c39bda855d7b1b37268f4c8031fed5403a99ac57fe67i0","tick": "nat","blk": "819103"}h!
kmint_tickerhelectronhbitworkcg1840000enonceh84661295dtime
text/plain;charset=utf-8
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 "unicode-normalization",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
name = "io-lifetimes"
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"piin","amt":"1000000"}h!
{"p": "tap","op": "dmt-mint","dep": "4d967af36dcacd7e6199c39bda855d7b1b37268f4c8031fed5403a99ac57fe67i0","tick": "nat","blk": "819104"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"100000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh28902872dtime
text/plain;charset=utf-8
={"p":"brc-20","op":"mint","tick":"rots","amt":"100000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh78789624dtime
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":".ant","amt":"10550000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Bear","amt":"2000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
L~{"p":"tap","op":"dmt-mint","dep":"01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0","tick":"nat","blk":"19"}h!
text/plain;charset=utf-8
L~{"p":"tap","op":"dmt-mint","dep":"01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0","tick":"nat","blk":"16"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"DDMI","amt":"15000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
L~{"p":"tap","op":"dmt-mint","dep":"01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0","tick":"nat","blk":"15"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Bear","amt":"1600"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
  rpc_server.mine_blocks(1);
  assert_eq!(ord.wait_with_output().unwrap().status.code(), Some(0));
fn export_inscription_number_to_id_tsv() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  let temp_dir = TempDir::new().unwrap();
  create_wallet(&rpc_server);
  inscribe(&rpc_server);
  inscribe(&rpc_server);
  let (inscription, _) = inscribe(&rpc_server);
  rpc_server.mine_blocks(1);
  let tsv = CommandBuilder::new("index export --tsv foo.tsv")
    .rpc_server(&rpc_server)
    .temp_dir(temp_dirM
    .stdout_regex(r"\{\}\n")
    .run_and_extract_file("foo.tsv");
  let entries: std::collections::BTreeMap<i64, ord::Object> = tsv
    .filter(|line| !line.is_empty() && !line.starts_with('#'))
      let value = line.split('\t').collect::<Vec<&str>>();
      let inscription_number = i64::from_str(value[0]).unwrap();
      let inscription_id = ord::Object::from_str(value[1]).unwrap();
      (inscription_number, inscription_id)
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh07767813dtime
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
L~{"p":"tap","op":"dmt-mint","dep":"01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0","tick":"nat","blk":"17"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"WFWP","amt":"500000"}h!
hbitworkcg1840000kmint_tickerhelectronenonce
hbitworkcg1840000kmint_tickerhelectronenonce
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"trac","amt":"500"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh21791104dtime
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh99062295dtime
text/plain;charset=utf-8
  create_wallet(&rpc_server);
  CommandBuilder::new("--regtest wallet inscribe --fee-rate 2.1 --batch batch.yaml")
    .write("inscription.txt", "Hello World")
    .write("batch.yaml", "mode: separate-outputs\ninscriptions:\n- file: inscription.txt\n  destination: bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4")
    .rpc_server(&rpc_server)
    .stderr_regex("error: address bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 belongs to network bitcoin which is different from required regtest\n")
    .expected_exit_code(1)
 .run_and_extract_stdout();
fn batch_inscribe_fails_with_shared_output_and_destination_set() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  rpc_server.mine_blocks(1);
  assert_eq!(rpc_server.descriptors().len(), 0);
  create_wallet(&rpc_server);
  CommandBuilder::new("wallet inscribe --fee-rate 2.1 --batch batch.yaml")
    .write("inscription.txt", "Hello World")
    .write("tulip.png", "")
    .write("batch.yaml", "mode: shared-output\ninscriptions:\n- file: inscription.txt\n  destination: bc1=qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4\n- file: tulip.png")
text/plain;charset=utf-8
%% for (sat, satpoint) in &self.0 {
{{sat}}	{{satpoint}}
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"dfsn","amt":"10"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"MMSS","amt":"980"}h!
text/plain;charset=utf-8
name = "windows_x86_64_gnu"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
name = "windows_x86_64_gnu"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
name = "windows_x86_64_gnullvm"
source = "registry+https://github.com/rust-lang/crates.io-indexM
checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
name = "windows_x86_64_gnullvm"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
name = "windows_x86_64_msvc"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"RDEX","amt":"10000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "663"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
H{"p":"brc-20","op":"transfer","tick":"TURT","amt":"269733.527483053083"}h!
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh96704079dtime
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"tbci","amt":"10000"}h!
text/plain;charset=utf-8
#: src\bounty/3.md:29
msgid "`frequency.tsv` was compiled using [this program](https://github.com/casey/onegrams)."
 [this program](https://github.coM
#: src\bounty/3.md:32
msgid "To search an `ord` wallet for sats with a name in `frequency.tsv`, use the following [`ord`](https://github.com/ordinals/ord) command:"
 [`ord`](https://github.com/ordinals/ord)
#: src\bounty/3.md:35
"ord wallet sats --tsv frequency.tsv\n"
#: src\bounty/3.md:39
msgid "This command requires the M
sat index, so `--index-sats` must be passed to ord when first creating the index."
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"UCAT","amt":"3000000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"piin","amt":"10000000"}h!
E[hbitworkcg1840000kmint_tickerhelectronh!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"BTCH","amt":"9"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"Osfi","amt":"2"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"csas","amt":"100"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"csas","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"csas","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"csas","amt":"100"}h!
K/content/e80eadea13e2175949168c279f7a47a467b6c5e00a84d45dd8ae40aefda89fe5i0h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"piin","amt":"200000"}h!
K/content/e80eadea13e2175949168c279f7a47a467b6c5e00a84d45dd8ae40aefda89fe5i0h!
text/plain;charset=utf-8
"and RGB, you know that this narrative is false, but inscriptions provide a counter argument which is easy to understand, and which targets a popular and proven "
"use case, NFTs, which makes it highly legible."
"Fedimint, Lightning, TM
"If inscriptions prove, as the authors hope, to be highly sought after digital artifacts with a rM
ich history, they will serve as a powerful hook for Bitcoin "
"adoption: come for the fun, rich art, stay for the decentralized digital money."
K/content/e80eadea13e2175949168c279f7a47a467b6c5e00a84d45dd8ae40aefda89fe5i0h!
text/plain;charset=utf-8
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"Osfi","amt":"2"}h!
text/plain;charset=utf-8
#: src/introduction.md:4
"This handbook is a guide to ordinal theory. Ordinal theory concerns itself "
"with satoshis, giving them individual identities and allowing them to be "
"tracked, transferred, and imbued with meaning."
#: src/introduction.md:8
"Satoshis, not bitcoin, are the atomic, native currency of the Bitcoin "
"network. One bitcoin can be sub-divided into 100,000,000 satoshis, but no "
#: src/introduction.md:11
"Ordinal theory does not require a sidechain or toM
ken aside from Bitcoin, and "
"can be used without any changes to the Bitcoin network. It works right now."
#: src/introduction.md:14
"Ordinal theory imbues satoshis with numismatic value, allowing them to be "
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"DDMI","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"15315826983"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"10000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"csas","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"csas","amt":"100"}h!
K/content/e80eadea13e2175949168c279f7a47a467b6c5e00a84d45dd8ae40aefda89fe5i0h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"csas","amt":"100"}h!
K/content/e80eadea13e2175949168c279f7a47a467b6c5e00a84d45dd8ae40aefda89fe5i0h!
K/content/e80eadea13e2175949168c279f7a47a467b6c5e00a84d45dd8ae40aefda89fe5i0h!
K/content/e80eadea13e2175949168c279f7a47a467b6c5e00a84d45dd8ae40aefda89fe5i0h!
K/content/e80eadea13e2175949168c279f7a47a467b6c5e00a84d45dd8ae40aefda89fe5i0h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"csas","amt":"100"}h!
text/plain;charset=utf-8
shoppingstreet.bitmaph!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"csas","amt":"100"}h!
K/content/e80eadea13e2175949168c279f7a47a467b6c5e00a84d45dd8ae40aefda89fe5i0h!
text/plain;charset=utf-8
msgid "And send it some funds."
#: src\guides/inscriptions.md:135
msgid "You can see pending transactions with:"
#: src\guides/inscriptions.md:137 src\guides/inscriptions.md:213 src\guides/inscriptions.md:240
"ord wallet transactions\n"
#: src\guides/inscriptions.md:141
msgid "Once the transaction confirms, you should be able to see the transM
actions outputs with `ord wallet outputs`."
 `ord wallet outputs`."
#: src\guides/inscriptions.md:144
msgid "Creating Inscription Content"
#: src\guides/inscriptions.md:147
msgid "Sats can be inscribed with any kind of content, but the `ord` wallet only supports content types that can be displayed by the `ord` block explorer."
K/content/e80eadea13e2175949168c279f7a47a467b6c5e00a84d45dd8ae40aefda89fe5i0h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"csas","amt":"100"}h!
<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <image xlink:href="/content/5072c9f619cd58c1b170d08c7651a3e9305eedf2a79046e0527445ddd681b93fi0" width="100%" height="100%" preserveAspectRatio="xMidYMid meet" />
text/plain;charset=utf-8
text/plain;charset=utf-8
 First block in halving epoch
And this satoshi is mythic:
 First block in difficulty adjustment period
 First block in halving epoch
If the block offset is zero, it may be omitted. This is the uncommon satoshi
 Not first block in difficulty adjustment period
 Not first block in halving epoch
- `common`: 2.1 quadrillion
- `uncommon`: 6,929,999
- `common`: 1.9 quadrillion
- `uncommon`: 808,262
At the moment, even uncommon satoshis are quite rare. As of this writing,
745,855 uncommon satoshis have been mined - one per 25.6 bitcoin in
Each satoshi has a name, consisting of the letters *A* through *Z*, that get
shorter the further into the future the satoshi was mined. They could start
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"FRAM","amt":"1000000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh06008088dtime
text/plain;charset=utf-8
  rpc_server.mine_blocks(1);
  assert_eq!(rpc_server.descriptors().len(), 3);
  let parent_id = parent_output.inscriptions[0].id;
  let output = CommandBuilder::new("wallet inscribe --fee-rate 1 --batch batch.yaml")
    .write("inscription.txt", "Hello World")
    .write("tulip.png", [0; 555])
    .write("meow.wav", [0; 2048])
      format!("parent: {parent_id}\nmode: separate-outputs\npostage: 777\ninscriptions:\n- file: inscription.txt\n- file: tulip.png\n- file: meow.wav\n")
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Inscribe>();
  for inscription in &output.inscriptions {
    assert_eq!(inscription.location.offset, 0);
  let mut outpoints = output
    .map(|inscription| inscription.location.outpoint)
    .collect::<Vec<OutPoint>>();
  outpoints.dedup();
  assert_eq!(outpoints.len(), output.inscriptions.len());
  rpc_server.mine_blocks(1);
  let ord_server = TestServer::spawn_with_args(&rpc_server, &[]);
text/plain;charset=utf-8
B{"p":"brc-20","op":"transfer","tick":"Sqts","amt":"2000000000000"}h!
text/html;charset=utf-8
<script src="/content/d91650a911e27c5402ffd45893b17023e0ede8cb6912aa11fee0bbb264de2bfdi0" data-p="7c47ac829cea8fc074394d96400bb287ebbadd67641343751178472e1fe227fbi0,s,59,69,1,l"></script>h!
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"15000000000"}h!
text/plain;charset=utf-8
{"p": "tap","op": "dmt-mint","dep": "4d967af36dcacd7e6199c39bda855d7b1b37268f4c8031fed5403a99ac57fe67i0","tick": "nat","blk": "819105"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"15000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"20000000000"}h!
text/plain;charset=utf-8
{"p": "tap","op": "dmt-mint","dep": "4d967af36dcacd7e6199c39bda855d7b1b37268f4c8031fed5403a99ac57fe67i0","tick": "nat","blk": "819106"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"10000000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
    bitcoin::secp256k1::rand::{self, RngCore},
  fn height_limit() {
      let context = Context::builder().args(["--height-limit", "0"]).build();
      context.mine_blocks(1);
      assert_eq!(context.index.block_height().unwrap(), None);
      assert_eq!(context.index.block_count().unwrap(), 0);
      let context = Context::builder().args(["--height-limit", "1"]).build();
      context.mine_blocks(1);
      assert_eq!(context.index.block_height().unwrap(), Some(Height(0)));
  assert_eq!(context.index.block_count().unwrap(), 1);
      let context = Context::builder().args(["--height-limit", "2"]).build();
      context.mine_blocks(2);
      assert_eq!(context.index.block_height().unwrap(), Some(Height(1)));
      assert_eq!(context.index.block_count().unwrap(), 2);
  fn inscriptions_below_first_inscription_height_are_skipped() {
    let inscription = inscription("text/plain;charset=utf-8", "hello");
    let template = TransactionTemplate {
text/plain;charset=utf-8
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"RDEX","amt":"10000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
`ord wallet inscribe`
#: src/guides/inscriptions.md:32
msgid "Getting Help"
#: src/guides/inscriptions.md:35
"If you get stuck, try asking for help on the [Ordinals Discord Server]"
"(https://discord.com/invite/87cjuz4FYg), or checking GitHub for relevant "
"[issues](https://github.com/ordinals/ord/issues) and [discussions](https://"
"github.com/ordinals/ord/discussions)."
[Ordinals Discord Server](https://discorM
"invite/87cjuz4FYg),
](https://github.com/"
"ordinals/ord/issues)
](https://github.com/ordinals/ord/discussions)."
#: src/guides/inscriptions.md:43
"Bitcoin Core is available from [bitcoincore.org](https://bitcoincore.org/) "
"on the [download page](https://bitcoincore.org/en/download/)."
 [bitcoincore.org](https://bitcoincore.org/)
](https://bitcoincore.org/en/download/)."
#: src/guides/insLOcriptions.md:46
msgid "Making inscriptions requires Bitcoin Core 24 or newer."
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"moto","amt":"15"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
B{"p":"brc-20","op":"transfer","tick":"Sqts","amt":"2000000000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
#: src\bounty/3.md:18
"Both parts use [frequency.tsv](frequency.tsv), a list of words and the number of times they occur in the [Google Books Ngram dataset](http://storage.googleapis.com/books/ngrams/books/datasetsv2.html). filtered to onM
ly include the names of sats which will have been mined "
"by the end of the submission period, that appear at least 5000 times in the corpus."
 [frequency.tsv](frequency.tsv)
 [Google Books Ngram dataset](http://storage.googleapis.com/books/ngrams/books/datasetsv2.html).
#: src\bounty/3.md:24
msgid "`frequency.tsv` is a file of tab-separated values. The first column is the word, and the second is the number of times it appears in the corpus. The entries are sorted from least-frequently occurring to most-frequently occurring."
text/plain;charset=utf-8
#: src\guides/collecting/sparrow-wallet.md:39
msgid "Click `Import Keystore`."
msgstr "Cliquez sur `Import Keystore`.(Importer le Keystore)."
#: src\guides/collecting/sparrow-wallet.md:41
msgid "![](images/wallet_setup_06.png)"
msgstr "![](images/wallet_setup_06.png)"
#: src\guides/collecting/sparrow-wallet.md:43
msgid "Click `Apply`. Add a password for the wallet if you want to."
"Cliquez sur `Apply` (Appliquer). Ajoutez un mot de passe pour le "
"portefeuille si vous le souhaitez."
lecting/sparrow-wallet.md:45
msgid "![](images/wallet_setup_07.png)"
msgstr "![](images/wallet_setup_07.png)"
#: src\guides/collecting/sparrow-wallet.md:47
"You now have a wallet which is compatible with `ord`, and can be imported "
"into `ord` using the BIP39 Seed Phrase. To receive ordinals or inscriptions, "
"click on the `Receive` tab and copy a new address."
"Vous disposez maintenant d
un portefeuille compatible avec `ord`, qui peut "
aide de la phrase de
ration BIP39. Pour "
text/plain;charset=utf-8
msgid "The satoshis "
msgid " now have nowhere to go in the outputs:"
"So they go to the miner who mined the block as fees. [The BIP](https://github.com/ordinals/ord/blob/master/bip.mediawiki) has the details, but in short, fees "
"paid by transactions are treated as extra inputs to the coinbase transaction, and are ordered how their corresponding transactions are ordered in the block. "
"The coinbase transaction of the block might look like this:"
 BIP](https://github.com/ordinals/ord/blob/master/bip.mediawiki)
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"BTCH","amt":"40"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"roup","amt":"200000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"TMAK","amt":"458000"}h!
hbitworkcg1840000kmint_tickerhelectronh!
hbitworkcg1840000kmint_tickerhelectronenonce
hbitworkcg1840000kmint_tickerhelectronenonce
hbitworkcg1840000kmint_tickerhelectronenonce
kmint_tickerhelectronenonce
hbitworkcg1840000kmint_tickerhelectronenonce
hbitworkcg1840000kmint_tickerhelectronenonce
hbitworkcg1840000kmint_tickerhelectronenonce
hbitworkcg1840000kmint_tickerhelectronenonce
eh_1hbitworkcg1840000kmint_tickerhelectronh!
hbitworkcg1840000kmint_tickerhelectronenonce
hbitworkcg1840000kmint_tickerhelectronenonce
kmint_tickerhelectronenonce
Aj?=:ETH.ETH:0x4253AB2e8Db1fc2361011CfE0c53526207971d56:0/1/0:tr:0
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"DFSN","amt":"300"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"rats","amt":"100000000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"roup","amt":"200000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
        divisibility: 1,
        symbol: None,
        divisibility: 1,
        symbol: None,
        divisibility: 2,
        symbol: None,
        divisibility: 2,
        amount: 1100,
        divisibility: 3,
        symbol: None,
        amount: 100,
        divisibility: 2,
        symbol: None,
        amount: 101,
        divisibility: 2,
        symbol: None,
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"piin","amt":"24000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"FCDP","amt":"1"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh62681332dtime
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"BNBs","amt":"50000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh46195151dtime
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh13409992dtime
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh22326886dtime
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh82648404dtime
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh49858085dtime
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
#: src\bounty/1.md:10
msgid "The bounty is open for submissions until block 753984
the first block of difficulty adjustment period 374. Submissions included in block 753984 or later will not be considered."
#: src\bounty/1.md:17
msgid "200,000 sats"
#: src\bounty/1.md:22
msgid "[`145Z7PFHyVrwiMWwEcUmDgFbmUbQSU9aap`](https://mempool.space/address/145Z7PFHyVrwiMWwEcUmDgFbmUbQSU9aap)"
#: src\bounty/1.md:27
msgid "Claimed by [@ordinalsindex](https://twitter.com/rodarmor/status/1569883266508853251)!"
 [@ordinalsindex](https://twitter.com/rodarmor/status/1569883266508853251)!"
#: src\bounty/2.md:1
msgid "Ordinal Bounty 2"
#: src\bounty/2.md:7
text/plain;charset=utf-8
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <image xlink:href="/content/08f7ed98831d5699416ba15658706d6fb4fa08b7820f901e00dc97517911536ei0" width="100%" height="100%" preserveAspectRatio="xMidYMid meet" />
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"cows","amt":"1"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
          Inscription {
            content_type: Some("text/plain".into()),
            body: Some("hello".into()),
            parent: Some(parent_inscription_id.parent_value()),
            ..Default::default()
          .to_witness(),
        (2, 1, 0, Default::default()),
      ..Default::default()
    server.mine_blocks(1);
    let inscription_id = InscriptionId { txid, index: 0 };
    server.assert_reM
      format!("/children/{parent_inscription_id}"),
      StatusCode::OK,
      format!(".*<title>Inscription 0 Children</title>.*<h1><a href=/inscription/{parent_inscription_id}>Inscription 0</a> Children</h1>.*<div class=thumbnails>.*<a href=/inscription/{inscription_id}><iframe .* src=/preview/{inscription_id}></iframe></a>.*"),
  fn inscriptions_page_shows_max_four_children() {
    let server = TestServer::new_with_regtest();
    server.mine_blocks(1);
    let parent_txid = =server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh09317572dtime
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
  background-color: #131516;
  font-family: system-ui, sans-serif;
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh41969337dtime
text/plain;charset=utf-8
"transaction as being a list of satoshis, and the outputs as a list of slots, "
"waiting to receive a satoshi. To assign input satoshis to slots, go through "
"each satoshi in the inputs in order, and assign each to the first available "
"slot in the outputs."
"Les satoshis sont transf
s selon le principe FIFO (First In, First Out). "
une transaction comme une liste de satoshis, et les "
"sorties comme une liste d
emplacements, en attente de recevoir un satoshi. "
 attribuer les satoshis des entr
es aux emplacements disponibles, "
"parcourez-les dans l
ordre et attribuez chaque satoshi au premier "
"emplacement disponible dans les sorties."
"Let's imagine a transaction with three inputs and two outputs. The inputs "
"are on the left of the arrow and the outputs are on the right, all labeled "
"with their values:"
"Imaginons une transaction avec trois entr
es et deux sorties. Les entr
che et les sorties %sont
 droite, avec leurs valeurs "
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"TURT","amt":"200000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
viTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c145 79.163499, 2018/08/13-16:40:22        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginM
alDocumentID="xmp.did:2a208043-1367-5d45-82ef-001941732b36" xmpMM:DocumentID="xmp.did:3D67C2977ADC11EEB30B9AC880FC47C2" xmpMM:InstanceID="xmp.iid:3D67C2967ADC11EEB30B9AC880FC47C2" xmp:CreatorTool="Adobe Photoshop CC 2019 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:76f4cae4-9090-6142-804d-f04735c44eb1" stRef:documentID="xmp.did:2a208043-1367-5d45-82ef-001941732b36"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
 Bitcoin Core sincronizado com um
o. Para ativar a indexa
es, passe `-txindex` na linha de comando:"
#: src/guides/sat-hunting.md:23
"bitcoind -txindex\n"
"bitcoind -txindex\n"
#: src/guides/sat-hunting.md:27
"Or put the following in your [Bitcoin configuration "
"file](https://github.com/bitcoin/bitcoin/blob/master/doc/bitcoin-conf.md#configuration-file-path):"
"Ou coloque o seguinte em seu [arquivo de configura
o Bitcoin](https://github.com/bitcoin/bitcoin/blob/master/doc/bitcoin-conf.md#configuration-file-path):"
#: src/guides/sat-hunting.md:34
"Launch it and wait for it to catch up to the chain tip, at which point the "
"following command should print out the current block height:"
"Execute-o e espere que ele alcance a ponta da cadeia, momento em que o seguinte comando dever
 imprimir a altura atual do bloco:"
#: src/guides/sat-hunting.md:37
text/plain;charset=utf-8
    Timestamp, WalletTxInfo,
  jsonrpc_core::{IoHandler, Value},
  jsonrpc_http_server::{CloseHandle, ServerBuilder},
  serde::{Deserialize, Serialize},
    collections::{BTreeMap, BTreeSet, HashMap},
    sync::{Arc, Mutex, MutexGuard},
pub fn builder() -> Builder {
    fail_lock_unspent: false,
    network: Network::Bitcoin,
    version: 240000,
pub struct Builder {
  pub fn fail_lock_unspent(self, fail_lock_unspent: bool) -> Self {
      fail_lock_unspent,
  pub fn network(self, network: Network) -> Self {
    Self { network, ..self }
  pub fn version(self, version: usize) -> Self {
    Self { version, ..self }
  pub fn build(self) -> Handle {
    let state = Arc::new(Mutex::new(State::new(
      self.fail_lock_unspent,
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
"exchange or marketplace, to transfer them on the user's behalf."
"By comparison, Ethereum NFTs are plagued with end-user security "
"vulnerabilities. It is commonplace to blind-sign transactions, grant third-"
"party apps unlimited permissions over a user's NFTs, and interact with "
"complex and unpredictable smart contracts. This creates a minefield of "
"hazards for Ethereum NFT users which are simply not a concern for ordinal "
text/plain;charset=utf-8
      Ok(Some(Runestone {
        edicts: vec![Edict {
          amount: 2,
          output: 3,
        etching: Some(Etching {
          rune: Rune(4),
          divisibility: 1,
          symbol: Some('a'),
          ..Default::default()
        ..Default::default()
  fn tag_values_are_not_parsed_as_tags() {
    let payload = payload(&[2, 4, 1, 0, 0, 1, 2, 3]);
    let payload: &PushBytes = payload.as_slice().M
try_into().unwrap();
      Runestone::decipher(&Transaction {
        input: Vec::new(),
        output: vec![TxOut {
          script_pubkey: script::Builder::new()
            .push_opcode(opcodes::all::OP_RETURN)
            .push_slice(b"RUNE_TEST")
            .push_slice(payload)
            .into_script(),
        lock_time: locktime::absolute::LockTime::ZERO,
      Ok(Some(Runestone {
        edicts: vec![Edict {
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Dovi","amt":"3600"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
fn version_flag_prints_version() {
  CommandBuilder::new("--version")
    .stdout_regex("ord .*\n")
    .run_and_extract_stdout();
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"500"}h!
text/plain;charset=utf-8
"Ordinal bounty 3 has two parts, both of which are based on _ordinal names_. "
"Ordinal names are a modified base-26 encoding of ordinal numbers. To avoid "
"locking short names inside the unspendable genesis block coinbase reward, "
"ordinal names get _shorter_ as the ordinal number gets _longer_. The name of "
"sat 0, the first sat to be mined is `nvtdijuwxlp` and the name of sat "
"2,099,999,997,689,999, the last sat to be mined, is `a`."
"2,099,999,997,689,999
#: src/bounty/3.md:14
"The bounty is open for submissions until blocM
the first block after "
"the fourth halvening. Submissions included in block 840000 or later will not "
#: src/bounty/3.md:18
"Both parts use [frequency.tsv](frequency.tsv), a list of words and the "
text/plain;charset=utf-8
msgid "_Inscriptions are simple, clear, and have no surprises._ They are always immutable and on-chain, with no special due diligence required."
msgid "_Inscriptions are on Bitcoin._ You can verify the location and properties of inscriptions easily with Bitcoin fM
ull node that you control."
 Bitcoin fill node,
"Let me begin this section by saying: the most important thing that the Bitcoin network does is decentralize money. All other use-cases are secondar
text/plain;charset=utf-8
"confusion around royalties, and is collectively coming to grips with the "
"reality that on-chain royalties, which were messaged to artists as an "
"advantage of NFTs, are not possible, while platforms race to the bottom and "
"remove royalty support."
"Os royalties na blockchain s
o, na teoria, uma boa ideia; mas n
"O pagamento de royalties n
o pode ser aplicado on-chain sem restri
"e invasivas. O ecossistema de NFTs do Ethereum est
 atualmente lutando contra a "
o em torno dos royalties e est
 enfrentando coletivamente a realidade que "
"os royalties on-chain, que foram transmitidos aos artistas como uma vantagem das NFTs, "
veis, enquanto as plataformas correm para o fundo do po
"apoio aos royalties."
"Inscriptions avoid this situation entirely by making no false promises of "
"supporting royalties on-chain, thus avoiding the confusion, chaos, and "
"negativity of the Ethereum NFT situation."
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
viTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c145 79.163499, 2018/08/13-16:40:22        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginM
alDocumentID="xmp.did:2a208043-1367-5d45-82ef-001941732b36" xmpMM:DocumentID="xmp.did:727DC19A7AD911EEBC338D8F7A5ED812" xmpMM:InstanceID="xmp.iid:727DC1997AD911EEBC338D8F7A5ED812" xmp:CreatorTool="Adobe Photoshop CC 2019 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:c310b06d-ed71-2c47-9106-7181b4a84e8d" stRef:documentID="xmp.did:2a208043-1367-5d45-82ef-001941732b36"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"roup","amt":"30000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh32193377dtime
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Dovi","amt":"3333"}h!
text/plain;charset=utf-8
            amount: u128::max_value(),
            output: 0,
          etching: Some(Etching {
            divisibility: 1,
            rune: Rune(RUNE),
            ..Default::default()
          ..Default::default()
        .encipher(),
      ..Default::default()
    context.mine_blocks(1);
    let id = RuneId {
    context.assert_runes(
          rune: RunM
          etching: txid,
          divisibility: 1,
          supply: u128::max_value(),
          timestamp: 2,
          ..Default::default()
      [(OutPoint { txid, vout: 0 }, vec![(id, u128::max_value())])],
  fn allocations_over_max_supply_are_ignored() {
    let context = Context::builder()
      .arg("--index-runes-pre-alpha-i-agree-to-get-rekt")
    context.mine_blocks(1);
    let txid = context.rpc_server.broadcast_tx(TransactionTemplat
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh87127049dtime
text/plain;charset=utf-8
  fn unknown_preview() {
    let server = TestServer::new_with_regtest();
    server.mine_blocks(1);
    let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
      inputs: &[(1, 0, 0, inscription("text/foo", "hello").to_witness())],
      ..Default::default()
    server.mine_blocks(1);
    server.assert_response_csp(
      format!("/preview/{}", InscriptionId { txid, index: 0 }),
      StatusCode::OK,
      "default-src 'self'",
      fs::read_to_string("templates/preview-unM
known.html").unwrap(),
  fn video_preview() {
    let server = TestServer::new_with_regtest();
    server.mine_blocks(1);
    let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
      inputs: &[(1, 0, 0, inscription("video/webm", "hello").to_witness())],
      ..Default::default()
    let inscription_id = InscriptionId { txid, index: 0 };
    server.mine_blocks(1);
    server.assert_response_regex(
      format!("/preview/{inscription_id}"),
      StatusCode::OK,
text/plain;charset=utf-8
msgstr "Der Absender kann die inscriptions an Ihre Adresse
#: src\guides/inscriptions.md:235
"ord wallet send ADDRESS INSCRIPTION_ID\n"
"ord wallet send ADDRESS INSCRIPTION_ID\n"
#: src\guides/inscriptions.md:244
"Once the send transaction confirms, you can can confirm receipt by running:"
"Sobald die Send-Transaktion best
nnen Sie den Empfang "
tigen, indem Sie Folgendes ausf
#: src\guides/sat-huntinM
"_This guide is out of date. Since it was written, the `ord` binary was "
"changed to only build the full satoshi index when the `--index-sats` flag is "
"supplied. Additionally, `ord` now has a built-in wallet that wraps a Bitcoin "
"Core wallet. See `ord wallet --help`._"
"_Dieser Leitfaden ist veraltet. Seit seiner Erstellung wurde die `ord`-"
ndert, um den vollst
ndigen Satoshi-Index nur dann zu "
"erstellen, wenn die `--index-sats`-Flagge angegeben ist. Dar
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"DFSN","amt":"600"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh54387770dtime
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"HALV","amt":"5000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"100000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"RDEX","amt":"10000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
#: src/guides/testing.md:70
"bitcoin-cli generatetoaddress 6 <receive address>\n"
#: src/guides/moderation.md:4
"`ord` includes a block explorer, which you can run locally with `ord server`."
#: src/guides/moderation.M
"The block explorer allows viewing inscriptions. Inscriptions are user-"
"generated content, which may be objectionable or unlawful."
#: src/guides/moderation.md:9
"It is the responsibility of each individual who runs an ordinal block "
"explorer instance to understand their responsibilities with respect to "
"unlawful content, and decide what moderation policy is appropriate for their "
text/plain;charset=utf-8
          amount: u64::max_value().into(),
          id: RuneId {
            height: 0,
            index: u16::max_value(),
          output: 0,
          amount: 1_000_000_000_000_000_000,
          id: RuneId {
            height: 1_000_000,
            index: u16::max_value(),
          output: 0,
  fn etching_with_term_greater_than_maximum_is_ignored() {
    let payload = payload(&[2, 4, 6, u128::from(u64::max_value()) + 1]);
    let payload: &PushBytes = payload.as_slice().try_into().unwrap();
      Runestone::decipher(&Transaction {
        input: Vec::new(),
        output: vec![TxOut {
          script_pubkey: script::Builder::new()
            .push_opcode(opcodes::all::
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"TURT","amt":"100000"}h!
text/plain;charset=utf-8
        InscriptionId {
          txid: reveal_txid,
      runes: BTreeMap::new(),
  // try and fail to send first
  CommandBuilder::new(format!(
    "wallet send --fee-rate 1 bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 {}i0",
  .rpc_server(&rpc_server)
  .expected_exit_code(1)
  .expected_stderr(format!(
    "error: cannot send {reveal_txid}:0:0 without also sending inscription {reveal_txid}i2 at {reveal_txid}:0:{M
}\n", 100 * COIN_VALUE
  .run_and_extract_stdout();
  // splitting out last
  CommandBuilder::new(format!(
    "wallet send --fee-rate 1 bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 {}i2",
  .rpc_server(&rpc_server)
  .run_and_deserialize_output::<Output>();
  rpc_server.mine_blocks(1);
  // splitting second to last
  CommandBuilder::new(format!(
    "wallet send --fee-rate 1 bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 {}i1",
  .rpc_server(&rpc_server)
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
"_Name_: [`satoshi`](https://ordinals.com/sat/satoshi). An encoding of the "
"ordinal number using the characters `a` through `z`."
"_Nome_: [`satoshi`](https://ordinals.com/sat/satoshi). Uma codifica
mero ordinal usando os caracteres `a` at
#: src/overview.md:42
"Arbitrary assets, such as NFTs, security tokens, accounts, or stablecoins "
"can be attached to satoshis using ordinal numbers as stable identifiers."
rios, como NFTs, tokens deM
a, contas ou stablecoins "
"podem ser anexados a satoshis usando n
meros ordinais como identificadores est
#: src/overview.md:45
"Ordinals is an open-source project, developed [on "
"GitHub](https://github.com/ordinals/ord). The project consists of a BIP "
"describing the ordinal scheme, an index that communicates with a Bitcoin "
"Core node to track the location of all satoshis, a wallet that allows making "
"ordinal-aware transactions, a block explorer for interactive exploration of "
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Dovi","amt":"3500"}h!
text/plain;charset=utf-8
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh43065476dtime
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"TURT","amt":"200000"}h!
text/plain;charset=utf-8
"determinada NFT do Ethereum est
msgid "_Inscriptions are much simpler._"
o muito mais simples._"
"Ethereum NFTs depend on the Ethereum network and virtual machine, which are "
"highly complex, constantly changing, and which introduce changes via "
"backwards-incompatible hard forks."
"As NFTs do Ethereum dependem da rede Ethereum e da m
quina virtual, que s
"altamente complexas, est
o em constante mudan
"de hard forks incompat
"Inscriptions, on the other hand, depend on the Bitcoin blockchain, which is "
"relatively simple and conservative, and which introduces changes via "
"backwards-compatible soft forks."
es, por outro lado, dependem da blockchain do Bitcoin, que
"relativamente simples e conservadora, e que introduz mudan
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"piin","amt":"9999999"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"TURT","amt":"200000"}h!
text/plain;charset=utf-8
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judgM
ed Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or pr
omotional purposes (the
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh14755451dtime
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
"inscription, and you should abandon sending until you understand more, or "
"can import into the `ord` wallet."
#: src/guides/collecting/sparroM
"You should set an appropriate transaction fee, Sparrow will usually "
"recommend a reasonable one, but you can also check [mempool.space](https://"
"mempool.space) to see what the recommended fee rate is for sending a "
(https://mempool.space)
#: src/guides/collecting/sparrow-wallet.md:151
"You should add a label for the recipient address, a label like `alice "
"address for inscription #123` would be ideal."
#: src/guides/collecting/sparrow-wallet.md:153
"Once you have checked the transaction is a safe transaction using the checks "
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
%% for (id, entry) in &self.entries {
  <li><a href=/rune/{{ entry.rune }}>{{ entry.rune }}</a></li>
text/plain;charset=utf-8
      Ok(Some(Runestone {
        edicts: vec![Edict {
          amount: 2,
          output: 3,
        etching: Some(Etching {
          rune: Rune(4),
          divisibility: 5,
          ..Default::default()
        ..Default::default()
  fn runestone_may_be_in_second_output() {
    let payload = payload(&[0, 1, 2, 3]);
    let payload: &PushBytes = payload.as_slice().try_into().unwrap();
   Runestone::decipher(&Transaction {
        input: Vec::new(),
        output: vec![
            script_pubkey: ScriptBuf::new(),
            value: 0,
            script_pubkey: script::Builder::new()
              .push_opcode(opcodes::all::OP_RETURN)
              .push_slice(b"RUNE_TEST")
              .push_slice(payload)
              .into_script(),
            value: 0
        lock_time: locktime::absolute::LockTime::ZERO,
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
 "concurrent-queue",
 "pin-project-lite",
name = "event-listener-strategy"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 "event-listener 4.0.0",
 "pin-project-lite",
name = "executable-path"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ebc5a6d89e3c90b84e8f33c8737933dda8f1c106b5415900b38b9d433841478"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"tbci","amt":"50000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
  fn deciphering_valid_runestone_with_invalid_script_returns_script_error() {
    let result = Runestone::decipher(&Transaction {
      input: Vec::new(),
      output: vec![TxOut {
        script_pubkey: ScriptBuf::from_bytes(vec![opcodes::all::OP_PUSHBYTES_4.to_u8()]),
      lock_time: locktime::absolute::LockTime::ZERO,
      Ok(_) => panic!("expected error"),
      Err(Error::Script(_)) => {}M
      Err(err) => panic!("unexpected error: {err}"),
  fn deciphering_valid_runestone_with_invalid_script_postfix_returns_script_error() {
    let mut script_pubkey = script::Builder::new()
      .push_opcode(opcodes::all::OP_RETURN)
      .push_slice(b"RUNE_TEST")
      .into_script()
      .into_bytes();
    script_pubkey.push(opcodes::all::OP_PUSHBYTES_4.to_u8());
    let result = Runestone::decipher(&Transaction {
      input: Vec::new(),
      output: vec![TxOut {
        script_pubkey:' ScriptBuf::from_bytes(script_pubkey),
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
#[derive(Deserialize, Serialize)]
  pub address: Address<NetworkUnchecked>,
pub(crate) fn run(options: Options) -> SubcommandResult {
  let address = options
    .bitcoin_rpc_client_for_wallet_command(false)?
    .get_new_address(None, Some(bitcoincore_rpc::json::AddressType::Bech32m))?;
  Ok(Box::new(Output { address }))
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"150000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh99200724dtime
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Bear","amt":"1600"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"OPNP","amt":"427"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"lvdi","amt":"20000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Dovi","amt":"3500"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh77176976dtime
text/plain;charset=utf-8
"Thus the name, _ordinals_."
"(https://ordinals.com)
"Technical details are available in [the BIP](https://github.com/ordinals/ord/"
"blob/master/bip.mediawiki)."
[the BIP](https://github.com/ordinals/ord/blob/master/bip."
#: src/overview.md:16
"Ordinal theory does not require a separate token, another blockchain, or any "
"changes to Bitcoin. It works right now."
#: src/overview.md:19
msgid "Ordinal numbers have a few different representations:"
#: src/overview.md:21
"_Integer notation_: [`2099994106992659`](https://ordinals.com/"
"sat/2099994106992659) The ordinal number, assigned according to the order in "
"which the satoshi was mined."
_:[`2099994106992659`](https://ordinals.com/sat/2099994106992659)
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
        script_sig: ScriptBuf::new(),
        sequence: Sequence::MAX,
        witness: witness.clone(),
    let value_per_output = (total_value - template.fee) / template.outputs as u64;
      value_per_output * template.outputs as u64 + template.fee,
    let mut tx = Transaction {
      lock_time: LockTime::ZERO,
      output: (0..template.outputs)
        .map(|i| TxOut {
          value: template
            .output_valueM
            .cloned()
            .unwrap_or(value_per_output),
          script_pubkey: script::Builder::new().into_script(),
    if let Some(script_pubkey) = template.op_return {
      tx.output.insert(
        template.op_return_index.unwrap_or(tx.output.len()),
          script_pubkey,
    self.mempool.push(tx.clone());
  pub(crate) fn mempool(&self) -> &[Transaction] {
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh72761191dtime
text/plain;charset=utf-8
128::max_value() - 2, "BCGDENLQRQWDSLRUGSNLBTMFIJAT");
    case(u128::max_value() - 1, "BCGDENLQRQWDSLRUGSNLBTMFIJAU");
    case(u128::max_value(), "BCGDENLQRQWDSLRUGSNLBTMFIJAV");
  fn from_str_out_of_range() {
    "BCGDENLQRQWDSLRUGSNLBTMFIJAW".parse::<Rune>().unwrap_err();
  #[allow(clippy::identity_op)]
  #[allow(clippy::erasing_op)]
  #[allow(clippy::zero_prefixed_literal)]
  fn minimum_at_height() {
    fn case(height: u32, minimum: &str) {
      assert_eq!(Ru=ne::minimum_at_height(Height(height)).to_string(), minimum);
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"100000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd8642kmint_tickerdatonh!
4hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
""""""""""""""""""""""""""""""""S
FjDOUT:CC01E3364DA31089C70A0876B9271F214D54688480EBB945963F1485B375D413
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
text/plain;charset=utf-8
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
name = "strum_macros"
source = "registry+https://github.com/rust-lang/crates.io-index"
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":4119,"sig":"HJ/gv2dhDjR6OtxTJC0d7Cel4JIG911T5wW+l1LPHqlBeNg8ArUMHZawtSiTlTnuFcqkTq4rzQd4VuibrSkyeSg="}hA
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh09095990dtime
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":494,"sig":"G7peGf13dwSeqs4rGgVsaWPSDsXkTgeWkzxFs8H9+bUkYTJZd3qiqZGp4/cJUwWz+7VB5GHRVKkNj+Ye1qRX27A="}hA
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh49269543dtime
text/plain;charset=utf-8
#: src/guides/testing.md:13
msgid "`--signet` or `-s`"
#: src/guides/testing.md:14
#: src/guides/testing.md:14
msgid "`--regtest` or `-r`"
#: src/guides/testing.md:16
msgid "Regtest doesn't require downloading the blockchain or indexing ord."
#: src/guides/testing.md:21
msgid "Run bitcoind in regtest with:M
#: src/guides/testing.md:22
"bitcoind -regtest -txindex\n"
#: src/guides/testing.md:25
msgid "Create a wallet in regtest with:"
#: src/guides/testing.md:26
"ord -r wallet create\n"
#: src/guides/testing.md:29
msgid "Get a regtest receive address with:"
/guides/testing.md:30
"ord -r wallet receive\n"
#: src/guides/testing.md:33
msgid "Mine 101 blocks (to unlock the coinbase) with:"
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"$BMP","amt":"147000"}h!
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":782,"sig":"HO2qUL07RQpT+WNUpHN7DfDTz8GfAYgiZY0hOUqiPENAOcxJiCc8arX9pXqZG/TWxi1MM5d106jN3tAc4KwE3H0="}hA
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"183dda534a2c96171d2d58dbeeaa292531e386791cdf3f5fae20dbf605b5c8a9","iid":"Bitdino","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":106,"sig":"G0/V8aTHJ3RF2Gws+zy/kFSDlfFM+O4Fy2WJ3BlssEW3VR1+/C/THW7Jaz46bTosIB6ITWPC4MEqS1e96OO7ZzI="}hA
text/plain;charset=utf-8
      Ok(Some(Runestone {
        edicts: vec![Edict {
          amount: 2,
          output: 3,
        ..Default::default()
  fn runestone_size() {
    fn case(edicts: Vec<Edict>, etching: Option<Etching>, size: usize) {
          ..Default::default()
          - b"RUNE_TEM
    case(Vec::new(), None, 1);
      Some(Etching {
        rune: Rune(0),
        ..Default::default()
      Some(Etching {
        divisibility: MAX_DIVISIBILITY,
        rune: Rune(0),
        ..Default::default()
      Some(Etching {
        divisibility: MAX_DIVISIBILITY,
        rune: Rune(0),
        symbol: Some('$'),
text/plain;charset=utf-8
"en plus court au fur et
 mesure que le satoshi est min
 dans le futur. Ils "
tre courts, puis devenir plus longs, mais tous les bons "
"noms courts seraient alors pi
s dans le bloc de gen
se qui ne peut pas "
#: src\overview.md:204
"As an example, 1905530482684727
's name is \"iaiufjszmoba\". The name of the "
"last satoshi to be mined is \"a\". Every combination of 10 characters or "
"less is out there, or will be out there, someday."
exemple, le nom pour 1905530482684727
"nom du dernier satoshi qui sera min
. Toutes les combinaisons de "
res ou moins existent d
, ou existeront un jour."
#: src\overview.md:208
#: src\overview.md:211
"Satoshis may be prized for reasons other than their name or rarity. This "
"might be due to a quality of the number itself, like having an integer "
"square or cube root. Or it might be due to a connectio
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"roup","amt":"560000"}h!
text/plain;charset=utf-8
#: src/guides/sat-hunting.md:143
"First get the multi-path descriptor from your wallet. It will look something "
#: src/guides/sat-hunting.md:146
"wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/"
"<0;1>/*)#fw76ulgt\n"
#: src/guides/sat-hunting.md:150
msgid "Create a descriptor for the receive M_
#: src/guides/sat-hunting.md:152
"wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/"
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh24729310dtime
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"bits","amt":"2000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain; charset=utf-8b$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonce
FjDOUT:405BBD76469BCED48C83CDCF9C746403E2EC5E8BC8D698A45B6F9B377AA2F019
?hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"RSK ","amt":"50000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
name = "encode_unicode"
source = "registry+https://github.com/rust-lang/crates.io-in
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"piin","amt":"11500000"}h!
text/plain;charset=utf-8
          .range(0..)?
          .next_back()
          .and_then(|result| result.ok())
          .map(|(_height, hash)| BlockHash::load(*hash.value())),
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"sats","amt":"680000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh94524975dtime
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"TMAK","amt":"568000"}h!
text/plain;charset=utf-8
#: src/guides/testing.md:25
msgid "Create a wallet in regtest with:"
#: src/guides/testing.md:26
"ord -r wallet create\n"
#: src/guides/testing.md:29
msgid "Get a regtest receive address with:"
#: src/guides/testing.md:30
"ord -r wallet receive\n"
#: src/guides/testing.md:33
msgid "Mine 101 blocks (to unlock the coinbase) with:"
#: src/guides/testing.md:34
"bitcoin-cli generatetoaddress 101 <receive address>\n"
#: src/guides/testing.md:37
msgid "Inscribe in regtest with:"
#: src/guides/testing.md:38
"ord -r wallet inscribe --fee-rate 1 <file>\n"
#: src/guides/testing.md:41
msgid "Mine the inscription with:"
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"bull","amt":"5000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"rats","amt":"10000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"2888888888"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"100000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"mint","tick":"$SYM","amt":"21000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
Hhttps://ordzaar.com/marketplace/collections/springfield-neon-punks/mintsh
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"col","title":"Springfield Neon Punks","desc":"A spooky cheap minting experience! Inspired by Springfield Punks from the mind of Simpsons parody artist Rino Russo & CryptoPunks","url":"https://ordzaar.com/marketplace/collections/springfield-neon-punks/mints","slug":"springfield-neon-punks","creator":{"name":"Nadia Satschko","email":"nadiasatschko@gmail.com","address":"bc1pll2h6cdl0ljg7wk93fvth900g7dedpz8zgmd0s4xeyuynv42m8dqttf3cs"},"royalty":{"address":"bc1pll2h6cdl0ljg7wk93fvth900g7dedpz8zgmL
d0s4xeyuynv42m8dqttf3cs","pct":0},"publ":["1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7"],"insc":[{"iid":"Springfield Neon Punks","lim":10000}]}hA
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
  let output_1 = output.inscriptions[0].location.outpoint;
  let output_2 = output.inscriptions[1].location.outpoint;
  let output_3 = output.inscriptions[2].location.outpoint;
  ord_server.assert_response_regex(
    format!("/inscription/{}", output.inscriptions[0].id),
      r".*<dt>parent</dt>\s*<dd>.*{parent_id}.*</dd>.*<dt>output value</dt>.*<dd>777</dd>.*.*<dt>location</dt>.*<dd class=monospace>{}:0</dd>.*",
  ord_server.assert_response_regex(
    format!("/inscriptiM
on/{}", output.inscriptions[1].id),
      r".*<dt>parent</dt>\s*<dd>.*{parent_id}.*</dd>.*<dt>output value</dt>.*<dd>777</dd>.*.*<dt>location</dt>.*<dd class=monospace>{}:0</dd>.*",
  ord_server.assert_response_regex(
    format!("/inscription/{}", output.inscriptions[2].id),
      r".*<dt>parent</dt>\s*<dd>.*{parent_id}.*</dd>.*<dt>output value</dt>.*<dd>777</dd>.*.*<dt>location</dt>.*<dd class=monospace>{}:0</dd>.*",
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"80000000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
      Object::SatPoint(
        "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF:123:456"
          .unwrap(),
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
"Such Bitcoiners may be more interested in inscriptions than Ethereum NFTs, "
"unlocking new classes of collector."
"Ang mga bitcoiner na ito ay maaaring mas interesado sa inscriptions kaysa sa "
"mga Ethereum NFT, na nagbubukas ng mga bagong klase ng mga kolektor."
msgid "_Inscriptions have a richer data model._"
msgstr "_Ang inscriptions ay may mas magandang data model._"
"Inscriptions consist of a content type, also known as a MIME type, and "
ntent, which is an arbitrary byte string. This is the same data model used "
"by the web, and allows inscription content to evolve with the web, and come "
"to support any kind of content supported by web browsers, without requiring "
"changes to the underlying protocol."
"Ang inscriptions ay binubuo ng content type, na kilala rin bilang MIME type, "
"at content, na isang arbitrary na byte string. Ito ang parehong data model "
"na ginagamit ng web, na nagbibigay-daan sa inscription ng content na mag-"
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh83800112dtime
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"400000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"mice","amt":"50000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh41179291dtime
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"100000"}h!
text/plain;charset=utf-8
    let acme_cache = if let Some(acme_cache) = acme_cache {
      acme_cache.clone()
      options.data_dir()?.join("acme-cache")
  fn acme_domains(&self) -> Result<Vec<String>> {
    if !self.acme_domain.is_empty() {
      Ok(self.acme_domain.clone())
      Ok(vec![System::new()
        .host_name()
        .ok_or(anyhow!("no hostname found"))?])
  fn http_port(&self) -> Option<u16> {
    if self.http || self.http_port.is_some() || (self.https_poM
rt.is_none() && !self.https) {
      Some(self.http_port.unwrap_or(80))
  fn https_port(&self) -> Option<u16> {
    if self.https || self.https_port.is_some() {
      Some(self.https_port.unwrap_or(443))
  fn acceptor(&self, options: &Options) -> Result<AxumAcceptor> {
    let config = AcmeConfig::new(self.acme_domains()?)
      .contact(&self.acme_contact)
      .cache_option(Some(DirCache::new(Self::acme_cache(
        self.acme_cache.as_ref(),
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
viTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c145 79.163499, 2018/08/13-16:40:22        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginM
alDocumentID="xmp.did:2a208043-1367-5d45-82ef-001941732b36" xmpMM:DocumentID="xmp.did:756A77417AD811EE8FE38834080AF89B" xmpMM:InstanceID="xmp.iid:756A77407AD811EE8FE38834080AF89B" xmp:CreatorTool="Adobe Photoshop CC 2019 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:c310b06d-ed71-2c47-9106-7181b4a84e8d" stRef:documentID="xmp.did:2a208043-1367-5d45-82ef-001941732b36"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"TMAK","amt":"86251"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"100000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"999999.9999"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"piin","amt":"666666"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"TURT","amt":"400000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
#: src/contributing.md:67
#: src/contributing.md:70
msgid "If you're stuck for more than 15 minutes, ask for help, like a Rust Discord, Stack Exchange, or in a project issue or discussion."
 Rust Discord, Stack Exchange
#: src/contributing.md:73
msgid "Practice hypothesis-driven debugging"
#: src/contributing.md:76
"Formulate a hypothesis as to what is causing the problem. Figure out how to test that hypothesis. Perform that tests. If it works, great, you fixed the issue "
"or now you know how to fix the issue. If not, repeat with a new hypM
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"400000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh11769137dtime
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"lBNB","amt":"100000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"piin","amt":"15200000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DRAG","amt":"500000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":".ant","amt":"1000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"20000000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DRAG","amt":"350000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"400000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"400000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"rats","amt":"5000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"DDMI","amt":"11200000088"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"TMAK","amt":"568000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"OKBS","amt":"100000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"20000000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"2338","amt":"1000"}h!
text/plain;charset=utf-8
            amount: u128::max_value(),
            output: 0,
          etching: Some(Etching {
            divisibility: 1,
            rune: Rune(RUNE),
            ..Default::default()
          ..Default::default()
        .encipher(),
      ..Default::default()
    context.mine_blocks(1);
    let id = RuneId {
    context.assert_runes(
          rune: RunM
          etching: txid,
          divisibility: 1,
          supply: u128::max_value(),
          timestamp: 2,
          ..Default::default()
      [(OutPoint { txid, vout: 0 }, vec![(id, u128::max_value())])],
  fn allocations_over_max_supply_are_ignored() {
    let context = Context::builder()
      .arg("--index-runes-pre-alpha-i-agree-to-get-rekt")
    context.mine_blocks(1);
    let txid = context.rpc_server.broadcast_tx(TransactionTemplat
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"moon","amt":"10000"}h!
<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <image xlink:href="/content/e4f7acf00cc6bb7b9616b0cf7beed22118cb4cbc16dce88a5a9ce4f4bc9a1963i0" width="100%" height="100%" preserveAspectRatio="xMidYMid meet" />
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:DE9B24768D6C11EEB59FD245F3720BC0" xmpMM:InstanceID="xmp.iid:DE9B24758D6C11EEB59FD245F3720BC0" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:76dee5a7-e6f2-bc40-8dfd-bd72ca5cec92" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>#
text/plain;charset=utf-8
B{"p":"brc-20","op":"transfer","tick":"Sqts","amt":"1700000000000"}h!
text/plain;charset=utf-8
"establishing the provenance of those children on-chain as having been "
"created by the owner of the parent inscription. This can be used for "
"collections, with the children of a parent inscription being members of the "
#: /workspaces/ord_ko/docs/src/inscriptions/provenance.md:9
"Children can themselves have children, allowing for complex hierarchies. For "
"example, an artist might create an inscription representing themselves, with "
"sub inscriptions representing collections that they create, with the "
"children of those sub inscriptions being items in those collections."
#: /workspaces/ord_ko/docs/src/inscriptions/provenance.md:14
msgid "Specification"
#: /workspaces/ord_ko/docs/src/inscriptions/provenance.md:16
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:3111522C8D6D11EEB2FF8BD13477688D" xmpMM:InstanceID="xmp.iid:3111522B8D6D11EEB2FF8BD13477688D" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:76dee5a7-e6f2-bc40-8dfd-bd72ca5cec92" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>?
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
name = "strum_macros"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"30000000000"}h!
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:25DFBB948D6D11EE884FCAECF36FCC39" xmpMM:InstanceID="xmp.iid:25DFBB938D6D11EE884FCAECF36FCC39" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:76dee5a7-e6f2-bc40-8dfd-bd72ca5cec92" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
 "concurrent-queue",
 "pin-project-lite",
name = "event-listener-strategy"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 "event-listener 4.0.0",
 "pin-project-lite",
name = "executable-path"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ebc5a6d89e3c90b84e8f33c8737933dda8f1c106b5415900b38b9d433841478"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32100fb1eea9edc4be79553ae97914add78b55892a517995fe96d1ada50d09d7"
 "atom_syndication",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1e7d90385b59f0a6bf3d3b757f3ca4ece2048265d70db20a2016043d4509a40"
 "rust-embed-utils",
name = "rust-embed-impl"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c3d8c6fd84090ae348e63a84336b112b5c3918b3bf0493a581f7bd8ee623c29"
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:F29C48598CDB11EEBEE2C9F35E511017" xmpMM:InstanceID="xmp.iid:F29C48588CDB11EEBEE2C9F35E511017" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:83373c9c-4470-f34a-9636-7325b119e9cb" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"piin","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:066A6C908CDC11EE9DCDDA0068437B5D" xmpMM:InstanceID="xmp.iid:066A6C8F8CDC11EE9DCDDA0068437B5D" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:83373c9c-4470-f34a-9636-7325b119e9cb" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
fn version_flag_prints_version() {
  CommandBuilder::new("--version")
    .stdout_regex("ord .*\n")
    .run_and_extract_stdout();
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh07721849dtime
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:475087528CDB11EE994285183A15E801" xmpMM:InstanceID="xmp.iid:475087518CDB11EE994285183A15E801" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:83373c9c-4470-f34a-9636-7325b119e9cb" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:1AA4C9948CDC11EEB991A5A608C092D0" xmpMM:InstanceID="xmp.iid:1AA4C9938CDC11EEB991A5A608C092D0" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:83373c9c-4470-f34a-9636-7325b119e9cb" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"TMAK","amt":"458000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"TMAK","amt":"534445"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
      Index::increment_statistic(&wtx, Statistic::Commits, 1)?;
      wtx.commit()?;
      let wtx = index.begin_write()?;
      log::debug!("creating savepoint at height {}", height);
      wtx.persistent_savepoint()?;
      Index::increment_statistic(&wtx, Statistic::Commits, 1)?;
      wtx.commit()?;
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"OSKL","amt":"10000"}h!
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:B657E1608CDB11EEB220A4F24C974830" xmpMM:InstanceID="xmp.iid:B657E15F8CDB11EEB220A4F24C974830" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:83373c9c-4470-f34a-9636-7325b119e9cb" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>H
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:50F083DE8CDB11EE8C3BB9487D5851BF" xmpMM:InstanceID="xmp.iid:50F083DD8CDB11EE8C3BB9487D5851BF" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:83373c9c-4470-f34a-9636-7325b119e9cb" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:C70AD41A8D6C11EEB968FB4503E401EC" xmpMM:InstanceID="xmp.iid:C70AD4198D6C11EEB968FB4503E401EC" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:76dee5a7-e6f2-bc40-8dfd-bd72ca5cec92" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>|\
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:0F4F30B08CDC11EE8018F92334FAFFFC" xmpMM:InstanceID="xmp.iid:0F4F30AF8CDC11EE8018F92334FAFFFC" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:83373c9c-4470-f34a-9636-7325b119e9cb" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:76BBBD968CDB11EEB9249E46DF96D9C8" xmpMM:InstanceID="xmp.iid:76BBBD958CDB11EEB9249E46DF96D9C8" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:83373c9c-4470-f34a-9636-7325b119e9cb" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
#: /workspaces/ord_ko/docs/src/guides/sat-hunting.md:91
"Get the wallet descriptor from the wallet whose UTXOs you want to search for "
"rare ordinals. It will look something like this:"
#: /workspaces/ord_ko/docs/src/guides/sat-hunting.md:98
msgid "Create a watch-only wallet named `foo-watch-only`:"
#: /workspaces/ord_ko/docs/src/guides/sat-hunting.md:104
msgid "Feel free to give it a better name than `foo-watch-only`!"
#: /workspaces/ord_ko/docs/src/guides/sat-hunting.md:106
msgid "Load the `foo-watch-only` wallet:"
msgstr "`foo-watch-only`
#: /workspaces/ord_ko/docs/src/guides/sat-hunting.md:112
msgid "Import your wallet descriptors into `foo-watch-only`:"
#: /workspaces/ord_ko/docs/src/guides/sat-hunting.md:114
"bitcoin-cli importdescriptors \\\n"
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"FRAM","amt":"13819"}h!
text/plain;charset=utf-8
- Don't reopen LMDB databases (#201)
- Add serve recipe (#199)
- Continuously index ranges (#198)
- Add about page to website (#197)
- Put script tag in <head> (#195)
- Add list form (#194)
- Run server command (#193)
- Remove find command and KEY_TO_SATPOINT table (#192)
- Make checkout script check out correct branch (#191)
- Add server subcommand (#185)
- Use anyhow to add context to error messages (#184)
- Automate deployment (#187)
- Add ordinals.com website source (#186)
- Add LMDB database backend (#177)
ink to project board in readme (#176)
- Test null outputs and inputs (#169)
- Log transaction indexing (#168)
- Remove the acknowledgements section since it's still a draft (#164)
- Add index size to info subcommand (#162)
- Document duplicate txid behavior (#161)
- Update redb 0.0.5 (#160)
- Document terminology and notation (#158)
- Describe dust output avoidance workaround (#156)
- Improve readme (#154)
- Improve find height check (#150)
- Use index for find queries (#149)
- Note that LN cannot be used to transf
er individual ordinals (#147)
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:8740B7058CDB11EE9C3AE0FCEC4288E3" xmpMM:InstanceID="xmp.iid:8740B7048CDB11EE9C3AE0FCEC4288E3" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:83373c9c-4470-f34a-9636-7325b119e9cb" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"TMAK","amt":"398500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"GHSY","amt":"3000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"piin","amt":"1000000"}h!
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:9FFB7F418CDB11EEB353F47F8564A085" xmpMM:InstanceID="xmp.iid:9FFB7F408CDB11EEB353F47F8564A085" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:83373c9c-4470-f34a-9636-7325b119e9cb" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:0E60200C8D6D11EE8359E0EBA31CC331" xmpMM:InstanceID="xmp.iid:0E60200B8D6D11EE8359E0EBA31CC331" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:76dee5a7-e6f2-bc40-8dfd-bd72ca5cec92" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"FRAM","amt":"86466"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:5BF1AD8A8CDB11EEA707BB5795EA962A" xmpMM:InstanceID="xmp.iid:5BF1AD898CDB11EEA707BB5795EA962A" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:83373c9c-4470-f34a-9636-7325b119e9cb" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
 Bitcoin Core sincronizado com um
o. Para ativar a indexa
es, passe `-txindex` na linha de comando:"
#: src/guides/sat-hunting.md:23
"bitcoind -txindex\n"
"bitcoind -txindex\n"
#: src/guides/sat-hunting.md:27
"Or put the following in your [Bitcoin configuration "
"file](https://github.com/bitcoin/bitcoin/blob/master/doc/bitcoin-conf.md#configuration-file-path):"
"Ou coloque o seguinte em seu [arquivo de configura
o Bitcoin](https://github.com/bitcoin/bitcoin/blob/master/doc/bitcoin-conf.md#configuration-file-path):"
#: src/guides/sat-hunting.md:34
"Launch it and wait for it to catch up to the chain tip, at which point the "
"following command should print out the current block height:"
"Execute-o e espere que ele alcance a ponta da cadeia, momento em que o seguinte comando dever
 imprimir a altura atual do bloco:"
#: src/guides/sat-hunting.md:37
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:B6266D1D8D6C11EEBFA88BB0817C4C7B" xmpMM:InstanceID="xmp.iid:B6266D1C8D6C11EEBFA88BB0817C4C7B" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:76dee5a7-e6f2-bc40-8dfd-bd72ca5cec92" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>Qvp9
text/plain;charset=utf-8
"cookie -getinfo`. When running `ord` you must specify the cookie file "
"location with `--cookie-file=<your_bitcoin_datadir>/.cookie`."
 `bitcoin-cli -getinfo`
`Could not locate RPC credentials`,
. `bitcoin-cli -rpccookiefile=<your_bitcoin_datadir>/ "
"`--cookie-file=<your_bitcoin_datadir>/.cookie`."
#: src/guides/inscriptions.md:119
"Make sure you do _NOT_ have `disablewallet=1` in your `bitcoin.conf` file. "
"If `bitcoin-cli listwallets` returns `Method not found` then the wallet is "
"disabled and you won't be able to use `ord`."
 `disablewallet=1` "
 `bitcoin-cli listwallets`
 `Method not found`
#: src/guides/inscriptions.md:123
"Make sure `txindex=1` is set. Run `bitcoin-cli getindexinfo` and it should "
"return something like"
 `bitcoin-cli getindexinfo`
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"TTIN","amt":"1000000"}h!
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:E95E318A8CDB11EE8B82C7D980AB7819" xmpMM:InstanceID="xmp.iid:E95E31898CDB11EE8B82C7D980AB7819" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:83373c9c-4470-f34a-9636-7325b119e9cb" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>xf4
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:F53275B18D6C11EE820CD5D3C7550A7B" xmpMM:InstanceID="xmp.iid:F53275B08D6C11EE820CD5D3C7550A7B" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:76dee5a7-e6f2-bc40-8dfd-bd72ca5cec92" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:43C4AFC28D6D11EE868AF906A0192B1C" xmpMM:InstanceID="xmp.iid:43C4AFC18D6D11EE868AF906A0192B1C" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:76dee5a7-e6f2-bc40-8dfd-bd72ca5cec92" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>#[~(
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:516CF87D8D6D11EEBA11A1E4902A6FD6" xmpMM:InstanceID="xmp.iid:516CF87C8D6D11EEBA11A1E4902A6FD6" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:76dee5a7-e6f2-bc40-8dfd-bd72ca5cec92" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"18000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"TMAK","amt":"425888"}h!
>j<+:BTC.BTC:thor1d339u5pszjj5z4zkmstnx4detrdu6fms7p6xav:wr:1005
CjA=:ETH.ETH:0xa0adc8cee2806a51b8181eaabe53df8d9a8ba887:0/9/3:wr:100iV
hbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
text/plain;charset=utf-8
    blockdata::{opcodes, script, script::PushBytesBuf},
    ScriptBuf, Witness,
  pretty_assertions::assert_eq as pretty_assert_eq,
  test_bitcoincore_rpc::TransactionTemplate,
  unindent::Unindent,
macro_rules! assert_regex_match {
  ($value:expr, $pattern:expr $(,)?) => {
    let regex = Regex::new(&format!("^(?s){}$", $pattern)).unwrap();
    let string = $value.to_string();
    if !regex.is_match(string.as_ref()) {
did not match string:\n\n{}",
        regex, string
macro_rules! assert_matches {
  ($expression:expr, $( $pattern:pat_param )|+ $( if $guard:expr )? $(,)?) => {
    match $expression {
      $( $pattern )|+ $( if $guard )? => {}
      left => panic!(
        "assertion failed: (left ~= right)\n  left: `{:?}`\n right: `{}`",
        stringify!($($pattern)|+ $(if $guard)?)
pub(crate) fn blockhash(n: u64) -> BlockHash {
  let hex = format!("{n:x}");
Ihbitworkcg1840000kmint_tickerhelectronh!
hbitworkcg1840000kmint_tickerhelectronh!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
L%hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
ey#hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcdb1d0qrequest_containeritest-dogeh!
hbitworkcg1840000kmint_tickerhelectronh!
text/plain;charset=utf-8
  "index_path": ".*\.redb",
  "leaf_pages": \d+,
  "metadata_bytes": \d+,
  "outputs_traversed": 0,
  "stored_bytes": \d+,
  "transactions": \[
      "starting_block_count": 0,
      "starting_timestamp": \d+
  "tree_height": \d+,
  "utxos_indexed": 0
    .run_and_extract_stdout();
  let rpc_server = test_bitcoincore_rpc::spawn();
  let tempdir = TempDir::new().unwrap();
  let index_path = tempdiM
r.path().join("index.redb");
  assert!(CommandBuilder::new(format!(
    "--index {} index info --transactions",
    index_path.display()
  .rpc_server(&rpc_server)
  .run_and_deserialize_output::<Vec<TransactionsOutput>>()
  rpc_server.mine_blocks(10);
  let output = CommandBuilder::new(format!(
    "--index {} index info --transactions",
    index_path.display()
  .rpc_server(&rpc_server)
  .run_and_deserialize_output::<Vec<TransactionsOutput>>();
  assert_eq!(output[0].start, 0);
text/plain;charset=utf-8
  ord_server.assert_response_regex(
    format!("/inscription/{}", output.inscriptions[1].id),
      r".*<dt>parent</dt>\s*<dd>.*{parent_id}.*</dd>.*<dt>output value</dt>.*<dd>10000</dd>.*.*<dt>location</dt>.*<dd class=monospace>{}:0</dd>.*",
  ord_server.assert_response_regex(
    format!("/inscription/{}", output.inscriptions[2].id),
      r".*<dt>parent</dt>\s*<dd>.*{parent_id}.*</dd>.*<dt>output value</dt>.*<dd>10000</dd>.*.*<dt>lM
ocation</dt>.*<dd class=monospace>{}:0</dd>.*",
fn batch_in_separate_outputs_with_parent_and_non_default_postage() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  rpc_server.mine_blocks(1);
  assert_eq!(rpc_server.descriptors().len(), 0);
  create_wallet(&rpc_server);
  let parent_output = CommandBuilder::new("wallet inscribe --fee-rate 5.0 --file parent.png")
    .write("parent.png", [1; 520])
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Inscribe>();
DjB=:ETH.ETH:0x84eB2fb401021C2dCf891DC7AB34D070664de910:83564738:tr:0
text/plain;charset=utf-8
  .write("degenerate.png", [1; 520])
  .rpc_server(&rpc_server)
  .run_and_deserialize_output::<Inscribe>();
  let tx1 = &rpc_server.mempool()[0];
  for input in &tx1.input {
    fee += rpc_server
      .get_utxo_amount(&input.previous_output)
  for output in &tx1.output {
    fee -= output.value;
  let fee_rate = fee as f64 / tx1.vsize() as f64;
  pretty_assert_eq!(fee_rate, 2.0);
  let tx2 = &rpc_server.mempool()[1];
    fee += &tx1.output[input.previous_output.vout as usize].value;
  for output in &tx2.output {
    fee -= output.value;
  let fee_rate = fee as f64 / tx2.vsize() as f64;
  pretty_assert_eq!(fee_rate, 1.0);
fn inscribe_with_wallet_named_foo() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  CommandBuilder::new("--wallet foo wallet create")
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<ord::subcommand::wallet::create::Output>();
  rpc_server.mine_blocks
text/plain;charset=utf-8
use {super::*, ord::subcommand::wallet::outputs::Output};
  let rpc_server = test_bitcoincore_rpc::spawn();
  create_wallet(&rpc_server);
  let coinbase_tx = &rpc_server.mine_blocks_with_subsidy(1, 1_000_000)[0].txdata[0];
  let outpoint = OutPoint::new(coinbase_tx.txid(), 0);
  let amount = coinbase_tx.output[0].value;
  let output = CommandBuilder::new("wallet outputs")
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Vec<Output>>();
  assert_eq!(output[0].output, outpointM
  assert_eq!(output[0].amount, amount);
fn outputs_includes_locked_outputs() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  create_wallet(&rpc_server);
  let coinbase_tx = &rpc_server.mine_blocks_with_subsidy(1, 1_000_000)[0].txdata[0];
  let outpoint = OutPoint::new(coinbase_tx.txid(), 0);
  let amount = coinbase_tx.output[0].value;
  rpc_server.lock(outpoint);
  let output = CommandBuilder::new("wallet outputs")
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Vec<Output>>();
SD3=HX,%39?-5a.9E(4B (1
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":191,"sig":"G1rBaOKh4irEUgo2FLBei5whKl5MDZHsaLGeUJ3w7SdhdKdLZxDLAQwU0ly3Pxd89eJ5RoQCLvxaST54o4ehZIw="}hA
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"trac","amt":"6572"}h!
FjD=:ETH.USDT-EC7:0x40B5bD39ac3503838b1A41c80365BD532a5d3257:0/1/0:tr:0
text/plain;charset=utf-8
  pub(crate) fn request(&self, path: impl AsRef<str>) -> Response {
    self.sync_server();
    reqwest::blocking::get(self.url().join(path.as_ref()).unwrap()).unwrap()
  pub(crate) fn json_request(&self, path: impl AsRef<str>) -> Response {
    self.sync_server();
    let client = reqwest::blocking::Client::new();
      .get(self.url().join(path.as_ref()).unwrap())
      .header(reqwest::header::ACCEPT, "application/json")
  pub(crate) fn sync_server(&selfM
    let client = Client::new(&self.rpc_url, Auth::None).unwrap();
    let chain_block_count = client.get_block_count().unwrap() + 1;
      let response = reqwest::blocking::get(self.url().join("/blockcount").unwrap()).unwrap();
      assert_eq!(response.status(), StatusCode::OK);
      if response.text().unwrap().parse::<u64>().unwrap() == chain_block_count {
      } else if i == 20 {
        panic!("index failed to synchronize with chain");
      thread::sleep(Duratio
n::from_millis(25));
text/plain;charset=utf-8
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
 "concurrent-queue",
 "pin-project-lite",
name = "event-listener-strategy"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 "event-listener 4.0.0",
 "pin-project-lite",
name = "executable-path"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ebc5a6d89e3c90b84e8f33c8737933dda8f1c106b5415900b38b9d433841478"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
  ord_server.assert_response_regex(
    format!("/inscription/{}", output.inscriptions[1].id),
      r".*<dt>parent</dt>\s*<dd>.*{parent_id}.*</dd>.*<dt>output value</dt>.*<dd>10000</dd>.*.*<dt>location</dt>.*<dd class=monospace>{}:0</dd>.*",
  ord_server.assert_response_regex(
    format!("/inscription/{}", output.inscriptions[2].id),
      r".*<dt>parent</dt>\s*<dd>.*{parent_id}.*</dd>.*<dt>output value</dt>.*<dd>10000</dd>.*.*<dt>lM
ocation</dt>.*<dd class=monospace>{}:0</dd>.*",
fn batch_in_separate_outputs_with_parent_and_non_default_postage() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  rpc_server.mine_blocks(1);
  assert_eq!(rpc_server.descriptors().len(), 0);
  create_wallet(&rpc_server);
  let parent_output = CommandBuilder::new("wallet inscribe --fee-rate 5.0 --file parent.png")
    .write("parent.png", [1; 520])
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Inscribe>();
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":922,"sig":"HDnrF1e2OXGz4oYRnyHCLJO4H352Jc1aNJjw+pC6BgRfRhvUiUYPMVRQWlZYDcLRPGBiK04+5XVtt23JeBSe6BM="}hA
text/plain;charset=utf-8
#: src\guides/collecting/sparrow-wallet.md:1
msgid "Collecting Inscriptions and Ordinals with Sparrow Wallet"
#: src\guides/collecting/sparrow-wallet.md:4
msgid "Users who cannot or have not yet set up the [ord](https://github.com/ordinals/ord) wallet can receive inscriptions and ordinals with alternative bitcoin wallets, as long as they are _very_ careful about how they spend from that wallet."
#: src\guides/collecting/sparrow-wallet.md:6
msgid "This guide gives some basic steps on how to create a wallet with [Sparrow Wallet](https://sparrowwallet.com/) which is compatible with `Me
ord` and can be later imported into `ord`"
 [Sparrow Wallet](https://sparrowwallet.com/)
text/plain;charset=utf-8
#: src\guides/reindexing.md:21
msgid "So to delete the database and reindex on MacOS you would have to run the following commands in the terminal:"
#: src\guides/reindexing.md:24
"rm ~/Library/Application Support/ord/index.redb\n"
#: src\guides/reindexing.md:2M
msgid "You can of course also set the location of the data directory yourself with `ord --data-dir <DIR> index run` or give it a specific filename and path with `ord --index <FILENAME> index run`."
 `ord --data-dir <DIR> index run`
 `ord --index <FILENAME> index run`.
#: src\bounties.md:1
msgid "Ordinal Bounty Hunting Hints"
#: src\bounties.md:4
msgid "The `ord` wallet can send and receive specific satoshis. Additionally, ordinal theory is extremely simple. A clever hacker should be able to write code from scratch to manipulate satoshis using ordinal theory in no time."
text/plain;charset=utf-8
    let info = server.index.info().unwrap();
    assert_eq!(info.transactions.len(), 1);
    assert_eq!(info.transactions[0].starting_block_count, 0);
    server.index.update().unwrap();
    assert_eq!(server.index.statistic(crate::index::Statistic::Commits), 1);
    let info = server.index.info().unwrap();
    assert_eq!(info.transactions.len(), 1);
    assert_eq!(info.transactions[0].starting_block_count, 0);
    server.mine_blocks(1);
    thread::sleep(Duration::from_millis(10));
    server.index.update().M
    assert_eq!(server.index.statistic(crate::index::Statistic::Commits), 2);
    let info = server.index.info().unwrap();
    assert_eq!(info.transactions.len(), 2);
    assert_eq!(info.transactions[0].starting_block_count, 0);
    assert_eq!(info.transactions[1].starting_block_count, 1);
      info.transactions[1].starting_timestamp - info.transactions[0].starting_timestamp >= 10
  fn outputs_traversed_are_tracked() {
    let server = TestServer::new_with_sat_index();
text/plain;charset=utf-8
use {super::*, crate::wallet::Wallet};
#[derive(Debug, Parser)]
pub(crate) struct Sats {
    help = "Find satoshis listed in first column of tab-separated value file <TSV>."
  tsv: Option<PathBuf>,
#[derive(Serialize, Deserialize)]
pub struct OutputTsv {
  pub output: OutPoint,
#[derive(Serialize, Deserialize)]
pub struct OutputRare {
  pub output: OutPoint,
  pub rarity: Rarity,
  pub(crate) fn run(&self, options: OM
ptions) -> SubcommandResult {
    let index = Index::open(&options)?;
    if !index.has_sat_index() {
      bail!("sats requires index created with `--index-sats` flag");
    index.update()?;
    let utxos = index.get_unspent_output_ranges(Wallet::load(&options)?)?;
    if let Some(path) = &self.tsv {
      let mut output = Vec::new();
      for (outpoint, sat) in sats_from_tsv(
        &fs::read_to_string(path)
          .with_context(|| format!("I/O error reading `{}`", path.display()))?,
text/plain;charset=utf-8
    blockdata::{opcodes, script, script::PushBytesBuf},
    ScriptBuf, Witness,
  pretty_assertions::assert_eq as pretty_assert_eq,
  test_bitcoincore_rpc::TransactionTemplate,
  unindent::Unindent,
macro_rules! assert_regex_match {
  ($value:expr, $pattern:expr $(,)?) => {
    let regex = Regex::new(&format!("^(?s){}$", $pattern)).unwrap();
    let string = $value.to_string();
    if !regex.is_match(string.as_ref()) {
did not match string:\n\n{}",
        regex, string
macro_rules! assert_matches {
  ($expression:expr, $( $pattern:pat_param )|+ $( if $guard:expr )? $(,)?) => {
    match $expression {
      $( $pattern )|+ $( if $guard )? => {}
      left => panic!(
        "assertion failed: (left ~= right)\n  left: `{:?}`\n right: `{}`",
        stringify!($($pattern)|+ $(if $guard)?)
pub(crate) fn blockhash(n: u64) -> BlockHash {
  let hex = format!("{n:x}");
text/plain;charset=utf-8
"must be displayed as \"unbound\", that is, without a location."
#: src/inscriptions.md:93
msgid "Odd tags are used for fields which do not affect creation, initial assignment, or transfer, such as additional metadata, and thus are safe to ignore."
#: src/inscriptions.md:96
msgid "Inscription IDs"
#: src/inscriptions.md:99
msgid "The inscriptions are contained within the inputs of a reveal transaction. In order to uniquely identify them they are assigned an ID of the form:"
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh99101162dtime
text/plain;charset=utf-8
use {super::*, crate::wallet::Wallet};
#[derive(Debug, Parser)]
pub(crate) struct Sats {
    help = "Find satoshis listed in first column of tab-separated value file <TSV>."
  tsv: Option<PathBuf>,
#[derive(Serialize, Deserialize)]
pub struct OutputTsv {
  pub output: OutPoint,
#[derive(Serialize, Deserialize)]
pub struct OutputRare {
  pub output: OutPoint,
  pub rarity: Rarity,
  pub(crate) fn run(&self, options: OM
ptions) -> SubcommandResult {
    let index = Index::open(&options)?;
    if !index.has_sat_index() {
      bail!("sats requires index created with `--index-sats` flag");
    index.update()?;
    let utxos = index.get_unspent_output_ranges(Wallet::load(&options)?)?;
    if let Some(path) = &self.tsv {
      let mut output = Vec::new();
      for (outpoint, sat) in sats_from_tsv(
        &fs::read_to_string(path)
          .with_context(|| format!("I/O error reading `{}`", path.display()))?,
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":2531,"sig":"G4Z1WltMTx/X4/BeeeCttrcKLbUauz+Qi/sN3xQypPpDY36fFVHxOM3ZfIMDJKuaAuRMcdSXtMKS1CpTEiexH90="}hA
text/plain;charset=utf-8
#: src/guides/inscriptions.md:182
"Wait for the reveal transaction to be mined. You can check the status of the "
"commit and reveal transactions using  [the mempool.space block "
"explorer](https://mempool.space/)."
"Espera a que la transacci
n sea minada. Puedes verificar el estado de las transacciones de compromiso y revelaci
n usando [el explorador de bloques mempool.space]( https://mempool.space/)."
#: src/guides/inscriptions.md:186
"Once the reveal transaction haM
s been mined, the inscription ID should be "
"printed when you run:"
"Una vez que la transacci
n haya sido minada, el ID de inscripci
a aparecer cuando ejecutes:"
#: src/guides/inscriptions.md:189
#: src/guides/inscriptions.md:220
#: src/guides/inscriptions.md:246
"ord wallet inscriptions\n"
"ord wallet inscriptions\n"
#: src/guides/inscriptions.md:193
"And when you visit [the ordinals explorer](https://ordinals.com/) at "
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":279,"sig":"GwyUnBKwQthiHEwskdLM+f7dQHcGoAO8q8vt+dRTlkNNdFKUEo1jI79LG7zBo5zXATnLwmAd/RrG7Ou71Xppm/Y="}hA
:HwBHM899X,%39?61Q61O$
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":553,"sig":"HG26XIHhoEh8hY/oNDdu/SBPueOoREj7XJ2TwfiLlzyDPbHGJgdBnigmEE8j6ZHuHMcmiwLiRjtZX9YmcMSv3k8="}hA
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":483,"sig":"G9Ir4w51NOYlBLrnCbpHTlLDKl1Q+mvzd7Gl15mT6Jm/Y+9P5kIjVKD3CKpWAenkpuISjDgbVu1UdKr7hDRb+EI="}hA
text/plain;charset=utf-8
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judgM
ed Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or pr
omotional purposes (the
text/plain;charset=utf-8
content, the higher the fee that the inscription transaction must pay.
Inscription content is included in transaction witnesses, which receive the
witness discount. To calculate the approximate fee that an inscribe transaction
will pay, divide the content size by four and multiply by the fee rate.
Inscription transactions must be less than 400,000 weight units, or they will
not be relayed by Bitcoin Core. One byte of inscription content costs one
weight unit. Since an inscription transaction includes not just theM
content, limit inscription content to less than 400,000 weight units. 390,000
weight units should be safe.
Creating Inscriptions
---------------------
To create an inscription with the contents of `FILE`, run:
ord wallet inscribe --fee-rate FEE_RATE --file FILE
Ord will output two transactions IDs, one for the commit transaction, and one
for the reveal transaction, and the inscription ID. Inscription IDs are of the
form `TXIDiN`, where `TXID` is the transaction ID of the reveal transaction,
text/plain;charset=utf-8
fn target_as_block_hash(target: bitcoin::Target) -> BlockHash {
  BlockHash::from_raw_hash(Hash::from_byte_array(target.to_le_bytes()))
#[derive(Boilerplate)]
pub(crate) struct BlockHtml {
  target: BlockHash,
  best_height: Height,
  inscription_count: usize,
  featured_inscriptions: Vec<InscriptionId>,
  pub(crate) fn new(
    best_height: Height,
    inscription_count: usize,
red_inscriptions: Vec<InscriptionId>,
      hash: block.header.block_hash(),
      target: target_as_block_hash(block.header.target()),
      inscription_count,
      featured_inscriptions,
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub struct BlockJson {
  pub hash: BlockHash,
  pub target: BlockHash,
  pub best_height: u32,
  pub inscriptions: Vec<InscriptionId>,
  pub(crate) fn new(
)j'1gprWh92taZtvaDYCpfi62cx3vvRQ8iKgFuvZTwI3x
text/plain;charset=utf-8
"UTXOs, wird als gewinner betrachtet."
#: src\bounty/1.md:10
"The bounty is open for submissions until block 753984
the first block of "
"difficulty adjustment period 374. Submissions included in block 753984 or "
"later will not be considered."
"Die belohnung ist f
r Einreichungen bis zum Block 753984
"ersten Block des Schwierigkeitsanpassungszeitraums 374. Einreichungen, die "
"in Block 753984 oder sp
ter enthalten sind, werden nicht ber
msgid "200,000 sats"
msgstr "200,000 sats"
#: src\bounty/1.md:22
"[`145Z7PFHyVrwiMWwEcUmDgFbmUbQSU9aap`](https://mempool.space/"
"address/145Z7PFHyVrwiMWwEcUmDgFbmUbQSU9aap)"
"[`145Z7PFHyVrwiMWwEcUmDgFbmUbQSU9aap`](https://mempool.space/"
"address/145Z7PFHyVrwiMWwEcUmDgFbmUbQSU9aap)"
#: src\bounty/1.md:27
"Claimed by [@ordinalsindex](https://twitter.com/rodarmor/"
"status/1569883266508853251)!"
"Eingefordert von [@ordinalsindex](https://twitter.com/rodarmor/"
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/plain;charset=utf-8
    let acme_cache = if let Some(acme_cache) = acme_cache {
      acme_cache.clone()
      options.data_dir()?.join("acme-cache")
  fn acme_domains(&self) -> Result<Vec<String>> {
    if !self.acme_domain.is_empty() {
      Ok(self.acme_domain.clone())
      Ok(vec![System::new()
        .host_name()
        .ok_or(anyhow!("no hostname found"))?])
  fn http_port(&self) -> Option<u16> {
    if self.http || self.http_port.is_some() || (self.https_poM
rt.is_none() && !self.https) {
      Some(self.http_port.unwrap_or(80))
  fn https_port(&self) -> Option<u16> {
    if self.https || self.https_port.is_some() {
      Some(self.https_port.unwrap_or(443))
  fn acceptor(&self, options: &Options) -> Result<AxumAcceptor> {
    let config = AcmeConfig::new(self.acme_domains()?)
      .contact(&self.acme_contact)
      .cache_option(Some(DirCache::new(Self::acme_cache(
        self.acme_cache.as_ref(),
text/plain;charset=utf-8
"never implemented."
"Am 8. Oktober 2012 hat jl2012 [im selben Forum ein Schema gepostet](https://"
"bitcointalk.org/index.php?topic=117224.0), das die Dezimalschreibweise "
"verwendet und alle wichtigen Eigenschaften von Ordinals aufweist. Der Plan "
"wurde diskutiert, aber nie umgesetzt."
#: src\overview.md:266
"These independent inventions of ordinals indicate in some way that ordinals "
"were discovered, or rediscovered, and not invented. The ordinals are an "
"inevitability of the mathematiM
cs of Bitcoin, stemming not from their modern "
"documentation, but from their ancient genesis. They are the culmination of a "
"sequence of events set in motion with the mining of the first block, so many "
ngigen Erfindungen von Ordnungszahlen weisen in gewisser Weise "
"darauf hin, dass ordinals entdeckt oder wiederentdeckt und nicht erfunden "
"wurden. Die ordinals sind eine Unvermeidlichkeit der Mathematik von Bitcoin "
"und ergeben sich nicht aus ihrer modernen Dokumentati
on, sondern aus ihrer "
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"300b41df242147dbfc800b14a393be57cde32a8d2d6ae1f96a66c2996e65237d","iid":"OrdinalsSharks ","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":3571,"sig":"Gx9bihYGo/ngRml2che3/nmjg6+DTEfC76Yh5ESd0WY0Qen4T2qwTMsdfJdf6f+K9nFwJUEhCCObubIJYjESQmk="}hA
text/plain;charset=utf-8
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
name = "strum_macros"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
name = "strum_macros"
source = "registry+https://github.com/rust-lang/crates.io-index"
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh83833708dtime
text/plain;charset=utf-8
es provarem, como os autores esperam, serem artefatos digitais "
"muito procurados com uma hist
ria rica, elas servir
o como um gancho poderoso "
o do Bitcoin: venha pela divers
o e arte rica, fique pelo dinheiro "
"digital descentralizado."
"Inscriptions are an extremely benign source of demand for block space. "
"Unlike, for example, stablecoins, which potentially give large stablecoin "
"issuers influence over the future ofM
 Bitcoin development, or DeFi, which "
"might centralize mining by introducing opportunities for MEV, digital art "
"and collectables on Bitcoin, are unlikely to produce individual entities "
"with enough power to corrupt Bitcoin. Art is decentralized."
o uma fonte extremamente benigna de demanda por espa
rio, por exemplo, das stablecoins, que potencialmente d
"emissores de stablecoin influ
ncia sobre o futuro do desenvolvimento do Bitcoin, "
FjD=:ETH.USDT-EC7:0xA739662D47E18Aa5d2c68869861799D35d9868ec:0/1/0:tr:0
text/plain;charset=utf-8
          .get_children_by_inscription_id(parent_inscription_id)
          .unwrap(),
        vec![child_inscription_id]
  fn inscriptions_in_same_input_with_pointers_to_same_output() {
    for context in Context::configurations() {
      context.mine_blocks(1);
      let builder = script::Builder::new();
      let builder = Inscription {
        pointer: Some(100u64.to_le_bytes().to_vec()),
        ..Default::default()
      .append_reveal_script_to_builder(M
      let builder = Inscription {
        pointer: Some(300_000u64.to_le_bytes().to_vec()),
        ..Default::default()
      .append_reveal_script_to_builder(builder);
      let builder = Inscription {
        pointer: Some(1_000_000u64.to_le_bytes().to_vec()),
        ..Default::default()
      .append_reveal_script_to_builder(builder);
      let witness = Witness::from_slice(&[builder.into_bytes(), Vec::new()]);
      let txid = context.rpc_server.broadcast_tx(TransactionTemplate {
text/plain;charset=utf-8
    server.assert_response_regex(
      format!("/preview/{inscription_id}"),
      StatusCode::OK,
      format!(r".*<audio .*>\s*<source src=/content/{inscription_id}>.*"),
  fn font_preview() {
    let server = TestServer::new_with_regtest();
    server.mine_blocks(1);
    let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
      inputs: &[(1, 0, 0, inscription("font/ttf", "hello").to_witness())],
      ..Default::default()
    let inscription_id = InscriptionIM
d { txid, index: 0 };
    server.mine_blocks(1);
    server.assert_response_regex(
      format!("/preview/{inscription_id}"),
      StatusCode::OK,
      format!(r".*src: url\(/content/{inscription_id}\).*"),
  fn pdf_preview() {
    let server = TestServer::new_with_regtest();
    server.mine_blocks(1);
    let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
        inscription("application/pdf", "hello").to_witness(),
text/plain;charset=utf-8
          .get_children_by_inscription_id(parent_inscription_id)
          .unwrap(),
        vec![child_inscription_id]
  fn inscriptions_in_same_input_with_pointers_to_same_output() {
    for context in Context::configurations() {
      context.mine_blocks(1);
      let builder = script::Builder::new();
      let builder = Inscription {
        pointer: Some(100u64.to_le_bytes().to_vec()),
        ..Default::default()
      .append_reveal_script_to_builder(M
      let builder = Inscription {
        pointer: Some(300_000u64.to_le_bytes().to_vec()),
        ..Default::default()
      .append_reveal_script_to_builder(builder);
      let builder = Inscription {
        pointer: Some(1_000_000u64.to_le_bytes().to_vec()),
        ..Default::default()
      .append_reveal_script_to_builder(builder);
      let witness = Witness::from_slice(&[builder.into_bytes(), Vec::new()]);
      let txid = context.rpc_server.broadcast_tx(TransactionTemplate {
text/plain;charset=utf-8
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
 "concurrent-queue",
 "pin-project-lite",
name = "event-listener-strategy"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 "event-listener 4.0.0",
 "pin-project-lite",
name = "executable-path"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ebc5a6d89e3c90b84e8f33c8737933dda8f1c106b5415900b38b9d433841478"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
    let info = server.index.info().unwrap();
    assert_eq!(info.transactions.len(), 1);
    assert_eq!(info.transactions[0].starting_block_count, 0);
    server.index.update().unwrap();
    assert_eq!(server.index.statistic(crate::index::Statistic::Commits), 1);
    let info = server.index.info().unwrap();
    assert_eq!(info.transactions.len(), 1);
    assert_eq!(info.transactions[0].starting_block_count, 0);
    server.mine_blocks(1);
    thread::sleep(Duration::from_millis(10));
    server.index.update().M
    assert_eq!(server.index.statistic(crate::index::Statistic::Commits), 2);
    let info = server.index.info().unwrap();
    assert_eq!(info.transactions.len(), 2);
    assert_eq!(info.transactions[0].starting_block_count, 0);
    assert_eq!(info.transactions[1].starting_block_count, 1);
      info.transactions[1].starting_timestamp - info.transactions[0].starting_timestamp >= 10
  fn outputs_traversed_are_tracked() {
    let server = TestServer::new_with_sat_index();
text/plain;charset=utf-8
  fn content_security_policy_with_origin() {
    let (headers, _) = Server::content_response(
      Inscription::new(Some("text/plain".as_bytes().to_vec()), Some(vec![1, 2, 3])),
      AcceptEncoding::default(),
        csp_origin: Some("https://ordinals.com".into()),
        ..Default::default()
    assert_eq!(headers["content-security-policy"], HeaderValue::from_static("default-src https://ordinals.com/content/ https://ordinalsM
.com/blockheight https://ordinals.com/blockhash https://ordinals.com/blockhash/ https://ordinals.com/blocktime https://ordinals.com/r/ 'unsafe-eval' 'unsafe-inline' data: blob:"));
  fn code_preview() {
    let server = TestServer::new_with_regtest();
    server.mine_blocks(1);
    let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
        inscription("text/javascript", "hello").to_witness(),
      ..Default::default()
text/plain;charset=utf-8
        ..Default::default()
      context.mine_blocks(1);
      let inscription_id = InscriptionId { txid, index: 0 };
      context.index.assert_inscription_location(
        inscription_id,
          outpoint: OutPoint { txid, vout: 0 },
          offset: 0,
        Some(50 * COIN_VALUE),
  fn inscription_with_pointer_into_fee_ignored_and_assigned_default_location() {
    for context in Context::configurations() {
      context.mine_blocks(M
      let inscription = Inscription {
        content_type: Some("text/plain".into()),
        body: Some("hello".into()),
        pointer: Some((25 * COIN_VALUE).to_le_bytes().to_vec()),
        ..Default::default()
      let txid = context.rpc_server.broadcast_tx(TransactionTemplate {
        inputs: &[(1, 0, 0, inscription.to_witness())],
        fee: 25 * COIN_VALUE,
        ..Default::default()
      context.mine_blocks(1);
      let inscription_id = InscriptionId { txid, index: 0 };
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":1362,"sig":"G9nVrZ47FpyM59m67Yvli9qgnAr82QvBiInd1Op2xo7ifAIDqNJen1wvUHhlfekNSq/fSdhdkeY7YbPymCXnS+U="}hA
text/plain;charset=utf-8
        script_sig: ScriptBuf::new(),
        sequence: Sequence::MAX,
        witness: witness.clone(),
    let value_per_output = (total_value - template.fee) / template.outputs as u64;
      value_per_output * template.outputs as u64 + template.fee,
    let mut tx = Transaction {
      lock_time: LockTime::ZERO,
      output: (0..template.outputs)
        .map(|i| TxOut {
          value: template
            .output_valueM
            .cloned()
            .unwrap_or(value_per_output),
          script_pubkey: script::Builder::new().into_script(),
    if let Some(script_pubkey) = template.op_return {
      tx.output.insert(
        template.op_return_index.unwrap_or(tx.output.len()),
          script_pubkey,
    self.mempool.push(tx.clone());
  pub(crate) fn mempool(&self) -> &[Transaction] {
text/plain;charset=utf-8
"content to individual satoshis, turning them into bitcoin-native digital "
"Ang Ordinal Theory ay nagbibigay-daan din sa mga inscriptions, isang "
"protocol para sa pag-attach ng kahit anong content sa mga indibidwal na "
"satoshi, at dahil dito sila ay nagiging mga bitcoin-native na digital "
msgid "How does ordinal theory work?"
msgstr "Paano gumagana ang Ordinal Theory?"
"Ordinal numbers are assigned to satoshis in the order in whiM
"mined. The first satoshi in the first block has ordinal number 0, the second "
"has ordinal number 1, and the last satoshi of the first block has ordinal "
"number 4,999,999,999."
"Ang ordinal numbers ay itinalaga sa satoshi na magkakasunud-sunod kung saan "
"ang mga ito ay na-mine. Ang unang satoshi sa unang bloke ay may ordinal na "
"numerong `0`, ang pangalawa ay may ordinal na numerong `1`, at ang huling "
"satoshi sa unang bloke ay may ordinal na numero 4,999,999,999."
text/plain;charset=utf-8
#: src\guides/collecting.md:18
msgid "A [guide](./collecting/sparrow-wallet.md) to creating an `ord`\\-compatible wallet with [Sparrow Wallet](https://sparrowwallet.com/), is available in this handbook."
 [guide](./collecting/sparrow-wallet.md)
 [Sparrow Wallet](https://sparrowwallet.com/)
#: src\guides/collecting.md:21
ase note that if you follow this guide, you should not use the wallet you create to send BTC, unless you perform manual coin-selection to avoid sending ordinals."
text/plain;charset=utf-8
"_Name_: [`satoshi`](https://ordinals.com/sat/satoshi). An encoding of the "
"ordinal number using the characters `a` through `z`."
"_Nome_: [`satoshi`](https://ordinals.com/sat/satoshi). Uma codifica
mero ordinal usando os caracteres `a` at
#: src/overview.md:42
"Arbitrary assets, such as NFTs, security tokens, accounts, or stablecoins "
"can be attached to satoshis using ordinal numbers as stable identifiers."
rios, como NFTs, tokens deM
a, contas ou stablecoins "
"podem ser anexados a satoshis usando n
meros ordinais como identificadores est
#: src/overview.md:45
"Ordinals is an open-source project, developed [on "
"GitHub](https://github.com/ordinals/ord). The project consists of a BIP "
"describing the ordinal scheme, an index that communicates with a Bitcoin "
"Core node to track the location of all satoshis, a wallet that allows making "
"ordinal-aware transactions, a block explorer for interactive exploration of "
text/plain;charset=utf-8
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
name = "strum_macros"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
name = "strum_macros"
source = "registry+https://github.com/rust-lang/crates.io-index"
FjDOUT:1742D2ABBE6557DA3BFBB6A4729892E5618A4B0AD71285E54F4F2563846C0A38
FjDOUT:66BC1CD0AC9CFB3181775B286E011B1A64FD38EA5F8FD7424585D42BA6C4A6CB
FjDOUT:03382E0EA8E8E78CE3655D5D780B994400023A11EB6A1085129E80B4CCC4F571
text/plain;charset=utf-8
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
 "concurrent-queue",
 "pin-project-lite",
name = "event-listener-strategy"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 "event-listener 4.0.0",
 "pin-project-lite",
name = "executable-path"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ebc5a6d89e3c90b84e8f33c8737933dda8f1c106b5415900b38b9d433841478"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
 "concurrent-queue",
 "pin-project-lite",
name = "event-listener-strategy"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 "event-listener 4.0.0",
 "pin-project-lite",
name = "executable-path"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ebc5a6d89e3c90b84e8f33c8737933dda8f1c106b5415900b38b9d433841478"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
use {super::*, crate::wallet::Wallet};
#[derive(Debug, Parser)]
pub(crate) struct Sats {
    help = "Find satoshis listed in first column of tab-separated value file <TSV>."
  tsv: Option<PathBuf>,
#[derive(Serialize, Deserialize)]
pub struct OutputTsv {
  pub output: OutPoint,
#[derive(Serialize, Deserialize)]
pub struct OutputRare {
  pub output: OutPoint,
  pub rarity: Rarity,
  pub(crate) fn run(&self, options: OM
ptions) -> SubcommandResult {
    let index = Index::open(&options)?;
    if !index.has_sat_index() {
      bail!("sats requires index created with `--index-sats` flag");
    index.update()?;
    let utxos = index.get_unspent_output_ranges(Wallet::load(&options)?)?;
    if let Some(path) = &self.tsv {
      let mut output = Vec::new();
      for (outpoint, sat) in sats_from_tsv(
        &fs::read_to_string(path)
          .with_context(|| format!("I/O error reading `{}`", path.display()))?,
text/plain;charset=utf-8
  "index_path": ".*\.redb",
  "leaf_pages": \d+,
  "metadata_bytes": \d+,
  "outputs_traversed": 0,
  "stored_bytes": \d+,
  "transactions": \[
      "starting_block_count": 0,
      "starting_timestamp": \d+
  "tree_height": \d+,
  "utxos_indexed": 0
    .run_and_extract_stdout();
  let rpc_server = test_bitcoincore_rpc::spawn();
  let tempdir = TempDir::new().unwrap();
  let index_path = tempdiM
r.path().join("index.redb");
  assert!(CommandBuilder::new(format!(
    "--index {} index info --transactions",
    index_path.display()
  .rpc_server(&rpc_server)
  .run_and_deserialize_output::<Vec<TransactionsOutput>>()
  rpc_server.mine_blocks(10);
  let output = CommandBuilder::new(format!(
    "--index {} index info --transactions",
    index_path.display()
  .rpc_server(&rpc_server)
  .run_and_deserialize_output::<Vec<TransactionsOutput>>();
  assert_eq!(output[0].start, 0);
text/plain;charset=utf-8
  ord_server.assert_response_regex(
    format!("/inscription/{}", output.inscriptions[1].id),
      r".*<dt>parent</dt>\s*<dd>.*{parent_id}.*</dd>.*<dt>output value</dt>.*<dd>10000</dd>.*.*<dt>location</dt>.*<dd class=monospace>{}:0</dd>.*",
  ord_server.assert_response_regex(
    format!("/inscription/{}", output.inscriptions[2].id),
      r".*<dt>parent</dt>\s*<dd>.*{parent_id}.*</dd>.*<dt>output value</dt>.*<dd>10000</dd>.*.*<dt>lM
ocation</dt>.*<dd class=monospace>{}:0</dd>.*",
fn batch_in_separate_outputs_with_parent_and_non_default_postage() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  rpc_server.mine_blocks(1);
  assert_eq!(rpc_server.descriptors().len(), 0);
  create_wallet(&rpc_server);
  let parent_output = CommandBuilder::new("wallet inscribe --fee-rate 5.0 --file parent.png")
    .write("parent.png", [1; 520])
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Inscribe>();
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/plain;charset=utf-8
#: src/guides/collecting/sparrow-wallet.md:15
"Download the Sparrow Wallet from the [releases "
"page](https://sparrowwallet.com/download/) for your particular operating "
msgstr "Descarga Sparrow Wallet [desde la p
gina de descargas](https://sparrowwallet.com/download/) para tu sistema operativo espec
#: src/guides/collecting/sparrow-wallet.md:17
msgid "Select `File -> New Wallet` and create a new wallet called `ord`."
msgstr "Selecciona `File -> New Wallet` y crea un nuevo monedero lM
#: src/guides/collecting/sparrow-wallet.md:19
msgid "![](images/wallet_setup_01.png)"
msgstr "![](images/wallet_setup_01.png)"
#: src/guides/collecting/sparrow-wallet.md:21
"Change the `Script Type` to `Taproot (P2TR)` and select the `New or Imported "
"Software Wallet` option."
msgstr "Cambia el `Script Type` (Tipo de script) a `Taproot (P2TR)` y selecciona la opci
n `New or Imported Software Wallet`."
#: src/guides/collecting/sparrow-wallet.md:23
msgid "![](images/wallet_setup_02.png)"
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/plain;charset=utf-8
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
name = "strum_macros"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
name = "strum_macros"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
  ord_server.assert_response_regex(
    format!("/inscription/{}", output.inscriptions[1].id),
      r".*<dt>parent</dt>\s*<dd>.*{parent_id}.*</dd>.*<dt>output value</dt>.*<dd>10000</dd>.*.*<dt>location</dt>.*<dd class=monospace>{}:0</dd>.*",
  ord_server.assert_response_regex(
    format!("/inscription/{}", output.inscriptions[2].id),
      r".*<dt>parent</dt>\s*<dd>.*{parent_id}.*</dd>.*<dt>output value</dt>.*<dd>10000</dd>.*.*<dt>lM
ocation</dt>.*<dd class=monospace>{}:0</dd>.*",
fn batch_in_separate_outputs_with_parent_and_non_default_postage() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  rpc_server.mine_blocks(1);
  assert_eq!(rpc_server.descriptors().len(), 0);
  create_wallet(&rpc_server);
  let parent_output = CommandBuilder::new("wallet inscribe --fee-rate 5.0 --file parent.png")
    .write("parent.png", [1; 520])
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Inscribe>();
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/plain;charset=utf-8
"Las inscripciones en HTML y SVG est
n restringidas en un entorno aislado "
"llamado sandboxing para evitar referencias a contenido fuera de la cadena, "
 las inscripciones inmutables y contenidas dentro del entorno."
#: src/inscriptions.md:126
"This is accomplished by loading HTML and SVG inscriptions inside `iframes` "
"with the `sandbox` attribute, as well as serving inscription content with "
"`Content-Security-Policy` headers."
"Esto se logra cargando las inscripM
ciones en HTML y SVG dentro de `iframes` "
"con el atributo `sandbox` y agregando `Content-Security-Policy` a los encabezados."
#: src/inscriptions/provenance.md:4
"The owner of an inscription can create child inscriptions, trustlessly "
"establishing the provenance of those children on-chain as having been "
"created by the owner of the parent inscription. This can be used for "
"collections, with the children of a parent inscription being members of the "
"El propietario de 9una inscripci
n puede crear inscripciones hijas, esto "
text/plain;charset=utf-8
      context.index.assert_inscription_location(
        inscription_id,
          outpoint: OutPoint { txid, vout: 0 },
          offset: 0,
        Some(50 * COIN_VALUE),
  fn inscription_with_pointer_is_cursed() {
    for context in Context::configurations() {
      context.mine_blocks(1);
      let inscription = Inscription {
        content_type: Some("text/plain".into()),
        body: Some("pointer-child".into()),
        pointer: Some(0u64.to_le_M
        ..Default::default()
      let txid = context.rpc_server.broadcast_tx(TransactionTemplate {
        inputs: &[(1, 0, 0, inscription.to_witness())],
        ..Default::default()
      context.mine_blocks(1);
      let inscription_id = InscriptionId { txid, index: 0 };
      context.index.assert_inscription_location(
        inscription_id,
          outpoint: OutPoint { txid, vout: 0 },
          offset: 0,
        Some(50 * COIN_VALUE),
text/plain;charset=utf-8
#: src/guides/collecting/sparrow-wallet.md:173
msgid "Troubleshooting"
#: src/guides/collecting/sparrow-wallet.md:175
"Sparrow wallet is not showing a transaction/UTXO, but I can see it on "
#: src/guides/collecting/sparrow-wallet.md:177
"Make sure that your wallet is connected to a bitcoin node. To validate this, "
"head into the `Preferences`\\-> `Server` settings, and click `Edit Existing "
"`Preferences-> Server`
 `Edit Existing Connection`
#: src/guides/collecting/sparrow-wallet.md:179
msgid "![](images/troubleshooting_01.png)"
#: src/guides/collecting/sparrow-wallet.md:181
"From there you can select a node and click `Test Connection` to validate "
text/plain;charset=utf-8
"bitcoin-cli getdescriptorinfo \\\n"
"'wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)'\n"
#: src/guides/sat-hunting.md:170
"  \"descriptor\": "
"\"wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29\",\n"
"  \"checksum\": \"tpnxnxax\",\n"
"  \"isrange\": true,\M
"  \"issolvable\": true,\n"
"  \"hasprivatekeys\": false\n"
"  \"descriptor\": "
"\"wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29\",\n"
"  \"checksum\": \"tpnxnxax\",\n"
"  \"isrange\": true,\n"
"  \"issolvable\": true,\n"
"  \"hasprivatekeys\": false\n"
#: src/guides/sat-hunting.md:180
msgid "And for the change address descriptor, in this case `64k8wnd7`:"
FjDOUT:6AA89A45C621F30CE60856A67CDCF39D463769C4127AF137C04919C4CDD27684
FjDOUT:0E10730F619DBB813467225861FCF2D1A32A26546DBE29B4E1B521A36BE8C0FB
FjDOUT:CE088AE94107A8B8E973DC245F444AFCB5003781F69D692441D561957B9C1113
FjDOUT:D63907B83516A6C1E4D8B5DA64F328C1DA541E25EA447CB9DD7D310B5A8E3F00
FjDOUT:886172AAE22340F096F3838DA207DE5952E275022F97D92052BBD9D31320E162
FjDOUT:0E4F587962C30D9BA3D13F277C71719BD8000917862F4B23123B20104AEF8CF4
FjDOUT:F0CE3617F137B6530FCFCBF22FA56A8C0C1AA1C9DEEC1E1B08CFE1A55F0EDB78
text/plain;charset=utf-8
"confusion around royalties, and is collectively coming to grips with the "
"reality that on-chain royalties, which were messaged to artists as an "
"advantage of NFTs, are not possible, while platforms race to the bottom and "
"remove royalty support."
"Os royalties na blockchain s
o, na teoria, uma boa ideia; mas n
"O pagamento de royalties n
o pode ser aplicado on-chain sem restri
"e invasivas. O ecossistema de NFTs do Ethereum est
 atualmente lutando contra a "
o em torno dos royalties e est
 enfrentando coletivamente a realidade que "
"os royalties on-chain, que foram transmitidos aos artistas como uma vantagem das NFTs, "
veis, enquanto as plataformas correm para o fundo do po
"apoio aos royalties."
"Inscriptions avoid this situation entirely by making no false promises of "
"supporting royalties on-chain, thus avoiding the confusion, chaos, and "
"negativity of the Ethereum NFT situation."
text/plain;charset=utf-8
#: src\guides/collecting/sparrow-wallet.md:51
"Note that bitcoin is different to some other blockchain wallets, in that this wallet can generate an unlimited number of new addresses. You can generate a new address by clicking on the `Get Next Address` button. You can see all of your addresses in the `Addresses` tab M
 `Get Next Address`.
#: src\guides/collecting/sparrow-wallet.md:53
msgid "You can add a labM*
el to each address, so you can keep track of what it was used for."
#: src\guides/collecting/sparrow-wallet.md:55
msgid "![](images/wallet_setup_08.png)"
text/plain;charset=utf-8
#: src/guides/collecting/sparrow-wallet.md:31
msgid "Once you have written down the seed phrase click `Confirm Backup`."
#: src/guides/collecting/sparrow-wallet.md:33
msgid "![](images/wallet_setup_04.png)"
#: src/guides/collecting/sparrow-wallet.md:35
"Re-enter the seed phrase which you wrote down, and then click `Create "
#: src/guides/collecting/sparrow-wallet.md:37
msgid "![](images/walMw
#: src/guides/collecting/sparrow-wallet.md:39
msgid "Click `Import Keystore`."
msgstr " `Import Keystore
#: src/guides/collecting/sparrow-wallet.md:41
msgid "![](images/wallet_setup_06.png)"
#: src/guides/collecting/sparrow-wallet.md:43
msgid "Click `Apply`. Add a password for the wallet if you want to."
text/plain;charset=utf-8
use {super::*, ord::subcommand::wallet::outputs::Output};
  let rpc_server = test_bitcoincore_rpc::spawn();
  create_wallet(&rpc_server);
  let coinbase_tx = &rpc_server.mine_blocks_with_subsidy(1, 1_000_000)[0].txdata[0];
  let outpoint = OutPoint::new(coinbase_tx.txid(), 0);
  let amount = coinbase_tx.output[0].value;
  let output = CommandBuilder::new("wallet outputs")
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Vec<Output>>();
  assert_eq!(output[0].output, outpointM
  assert_eq!(output[0].amount, amount);
fn outputs_includes_locked_outputs() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  create_wallet(&rpc_server);
  let coinbase_tx = &rpc_server.mine_blocks_with_subsidy(1, 1_000_000)[0].txdata[0];
  let outpoint = OutPoint::new(coinbase_tx.txid(), 0);
  let amount = coinbase_tx.output[0].value;
  rpc_server.lock(outpoint);
  let output = CommandBuilder::new("wallet outputs")
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Vec<Output>>();
text/plain;charset=utf-8
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
 "concurrent-queue",
 "pin-project-lite",
name = "event-listener-strategy"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 "event-listener 4.0.0",
 "pin-project-lite",
name = "executable-path"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ebc5a6d89e3c90b84e8f33c8737933dda8f1c106b5415900b38b9d433841478"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
es provarem, como os autores esperam, serem artefatos digitais "
"muito procurados com uma hist
ria rica, elas servir
o como um gancho poderoso "
o do Bitcoin: venha pela divers
o e arte rica, fique pelo dinheiro "
"digital descentralizado."
"Inscriptions are an extremely benign source of demand for block space. "
"Unlike, for example, stablecoins, which potentially give large stablecoin "
"issuers influence over the future ofM
 Bitcoin development, or DeFi, which "
"might centralize mining by introducing opportunities for MEV, digital art "
"and collectables on Bitcoin, are unlikely to produce individual entities "
"with enough power to corrupt Bitcoin. Art is decentralized."
o uma fonte extremamente benigna de demanda por espa
rio, por exemplo, das stablecoins, que potencialmente d
"emissores de stablecoin influ
ncia sobre o futuro do desenvolvimento do Bitcoin, "
text/plain;charset=utf-8
content, the higher the fee that the inscription transaction must pay.
Inscription content is included in transaction witnesses, which receive the
witness discount. To calculate the approximate fee that an inscribe transaction
will pay, divide the content size by four and multiply by the fee rate.
Inscription transactions must be less than 400,000 weight units, or they will
not be relayed by Bitcoin Core. One byte of inscription content costs one
weight unit. Since an inscription transaction includes not just theM
content, limit inscription content to less than 400,000 weight units. 390,000
weight units should be safe.
Creating Inscriptions
---------------------
To create an inscription with the contents of `FILE`, run:
ord wallet inscribe --fee-rate FEE_RATE --file FILE
Ord will output two transactions IDs, one for the commit transaction, and one
for the reveal transaction, and the inscription ID. Inscription IDs are of the
form `TXIDiN`, where `TXID` is the transaction ID of the reveal transaction,
Ghbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
axYhbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
hbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
text/plain;charset=utf-8
es provarem, como os autores esperam, serem artefatos digitais "
"muito procurados com uma hist
ria rica, elas servir
o como um gancho poderoso "
o do Bitcoin: venha pela divers
o e arte rica, fique pelo dinheiro "
"digital descentralizado."
"Inscriptions are an extremely benign source of demand for block space. "
"Unlike, for example, stablecoins, which potentially give large stablecoin "
"issuers influence over the future ofM
 Bitcoin development, or DeFi, which "
"might centralize mining by introducing opportunities for MEV, digital art "
"and collectables on Bitcoin, are unlikely to produce individual entities "
"with enough power to corrupt Bitcoin. Art is decentralized."
o uma fonte extremamente benigna de demanda por espa
rio, por exemplo, das stablecoins, que potencialmente d
"emissores de stablecoin influ
ncia sobre o futuro do desenvolvimento do Bitcoin, "
text/plain;charset=utf-8
text/plain;charset=utf-8
 `Copy Transaction ID`
 [mempool.space](https://mempool.space/)."
#: src\guides/collecting/sparrow-wallet.md:67
msgid "![](images/validating_viewing_02.png)"
#: src\guides/collecting/sparrow-wallet.md:69
"Once the transaction has confirmed, you can validate and view your inscription by heading over to the `UTXOs` tab, finding thM
e UTXO you want to check, right-clicking on the `Output` and selecting `Copy Transaction Output`. This transaction output id can then be pasted "
"into the [ordinals.com](https://ordinals.com) search."
py Transaction Output`.
"(https://ordinals.com)."
#: src\guides/collecting/sparrow-wallet.md:72
msgid "Freezing UTXO's"
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh63596574dtime
hbitworkcg1840000kmint_tickerhelectronh!
text/plain;charset=utf-8
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judgM
ed Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or pr
omotional purposes (the
text/plain;charset=utf-8
#: src\guides/collecting/sparrow-wallet.md:51
"Note that bitcoin is different to some other blockchain wallets, in that this wallet can generate an unlimited number of new addresses. You can generate a new address by clicking on the `Get Next Address` button. You can see all of your addresses in the `Addresses` tab M
 `Get Next Address`.
#: src\guides/collecting/sparrow-wallet.md:53
msgid "You can add a labM*
el to each address, so you can keep track of what it was used for."
#: src\guides/collecting/sparrow-wallet.md:55
msgid "![](images/wallet_setup_08.png)"
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/html;charset=utf-8
K/content/8a7757c604b9cba7827cab4370f5fd917b555da6d52e71123615813d0d5aa079i0h!
text/plain;charset=utf-8
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
name = "strum_macros"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
 "concurrent-queue",
 "pin-project-lite",
name = "event-listener-strategy"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 "event-listener 4.0.0",
 "pin-project-lite",
name = "executable-path"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ebc5a6d89e3c90b84e8f33c8737933dda8f1c106b5415900b38b9d433841478"
source = "registry+https://github.com/rust-lang/crates.io-index"
hbitworkcg1840000kmint_tickerhelectronenonce
text/plain;charset=utf-8
  let output = CommandBuilder::new("--index-sats wallet sats --tsv foo.tsv")
    .write("foo.tsv", "nvtcsezkbtg")
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Vec<OutputTsv>>();
  assert_eq!(output[0].sat, "nvtcsezkbtg");
  assert_eq!(output[0].output.to_string(), format!("{second_coinbase}:0"));
fn sats_from_tsv_parse_error() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  create_wallet(&rpc_server);
  CommandBuilder::new("--index-sats wallet sats --tsv foo.tsv")
    .rpc_server(&rpc_server)
    .expected_exit_code(1)
    .expected_stderr(
      "error: failed to parse sat from string \"===\" on line 1: invalid digit found in string\n",
    .run_and_extract_stdout();
fn sats_from_tsv_file_not_found() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  create_wallet(&rpc_server);
  CommandBuilder::new("--index-sats wallet sats --tsv foo.tsv")
    .rpc_server(&rpc_server)
    .expected_exit_code(1)
    .stderr_regex("error: I/O error reading
 `.*`\nbecause: .*\n")
text/plain;charset=utf-8
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judgM
ed Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or pr
omotional purposes (the
text/plain;charset=utf-8
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
name = "strum_macros"
source = "registry+https://github.com/rust-lang/crates.io-index"
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":333,"sig":"G2cKSCpvuMxkxeVWLxoK6fnePEWTISJDBk3liBeQhK0KWjofXhdFrJmnu6lfK5MbmDlDFCmE45/KHdjT+k357rY="}hA
text/plain;charset=utf-8
"access ang mga endpoint na ibalik ang JSON sa halip na HTML kung na-set mo "
"ang HTTP `Accept: application/json` header. Ang istraktura ng mga bagay na "
"ito ay malapit na sumusunod sa kung ano ang ipinapakita sa HTML. Ang mga "
"endpoint na ito ay:"
#: src/guides/explorer.md:84
msgid "`/inscription/<INSCRIPTION_ID>`"
msgstr "`/inscription/<INSCRIPTION_ID>`"
#: src/guides/explorer.md:85
msgid "`/inscriptions`"
msgstr "/inscriptions"
#: src/guides/explorer.md:86
msgid "`/inscriptions/block/<BLOCK_HEIGHT>`"
str "`/inscriptions/block/<BLOCK_HEIGHT>`"
#: src/guides/explorer.md:87
msgid "`/inscriptions/block/<BLOCK_HEIGHT>/<PAGE_INDEX>`"
msgstr "`/inscriptions/block/<BLOCK_HEIGHT>/<PAGE_INDEX>`"
#: src/guides/explorer.md:88
msgid "`/inscriptions/<FROM>`"
msgstr "`/inscriptions/<FROM>`"
#: src/guides/explorer.md:89
msgid "`/inscriptions/<FROM>/<N>`"
msgstr "`/inscriptions/<FROM>/<N>`"
#: src/guides/explorer.md:90 src/guides/explorer.md:91
msgid "`/output/<OUTPOINT>`"
msgstr "`/output/<OUTPOINT>`"
#: src/guides/explor	er.md:92
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"DDMI","amt":"10000000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"csas","amt":"100000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"csas","amt":"25000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"tbci","amt":"10000"}h!
text/plain;charset=utf-8
save-ord-dev-state domain="ordinals-dev.com":
  $EDITOR ./deploy/save-ord-dev-state
  scp ./deploy/save-ord-dev-state root@{{domain}}:~
  ssh root@{{domain}} "./save-ord-dev-state"
log unit="ord" domain="ordinals.net":
  ssh root@{{domain}} 'journalctl -fu {{unit}}'
  ssh-keygen -f ~/.ssh/known_hosts -R 192.168.56.4
  ssh-keyscan 192.168.56.4 >> ~/.ssh/known_hosts
    --exclude .git \
    --exclude target \
    --exclude .vagrant \
    --exclude index.redb M
    . root@192.168.56.4:ord
  ssh root@192.168.56.4 'cd ord && ./deploy/setup'
  cargo +nightly test -- -Z unstable-options --report-time
  cargo +nightly test -- -Z unstable-options --report-time \
    | sed -n 's/^test \(.*\) ... ok <\(.*\)s>/\2 \1/p' | sort -n \
    | tee test-times.txt
  #!/usr/bin/env bash
  set -euxo pipefail
    cargo +nightly fuzz run transaction-builder -- -max_total_time=60
    cargo +nightly fuzz run runestone-decipher -- -
text/html;charset=utf-8
K/content/8a7757c604b9cba7827cab4370f5fd917b555da6d52e71123615813d0d5aa079i0h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"7000000000"}h!
doublehandedsword.bitmaph!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"bits","amt":"20000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"mice","amt":"5000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"bits","amt":"20000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"pepe","amt":"15000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"pepe","amt":"14559"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"moon","amt":"150000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"MMSS","amt":"200"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"cats","amt":"500000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"bits","amt":"20000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"5000000000"}h!
text/plain;charset=utf-8
B{"p":"brc-20","op":"transfer","tick":"Sqts","amt":"1800000000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/html;charset=utf-8
K/content/8a7757c604b9cba7827cab4370f5fd917b555da6d52e71123615813d0d5aa079i0h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"rats","amt":"20000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"piin","amt":"100000"}h!
text/plain;charset=utf-8
{"p": "tap","op": "dmt-mint","dep": "4d967af36dcacd7e6199c39bda855d7b1b37268f4c8031fed5403a99ac57fe67i0","tick": "nat","blk": "819107"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DRAG","amt":"520000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"UDSW","amt":"250"}h!
text/plain;charset=utf-8
#: /workspaces/ord_ko/docs/src/guides/collecting/sparrow-wallet.md:183
msgid "![](images/troubleshooting_02.png)"
msgstr "![](images/troubleshooting_02.png)"
#: /workspaces/ord_ko/docs/src/guides/testing.md:4
"Ord can be tested using the following flags to specify the test network. For "
"more information on running Bitcoin Core for testing, seM
"developer documentation](https://developer.bitcoin.org/examples/testing."
"(https://developer.bitcoin.org/examples/testing.html)
#: /workspaces/ord_ko/docs/src/guides/testing.md:7
"Most `ord` commands in [inscriptions](inscriptions.md) and [exploM+
"(explorer.md) can be run with the following network flags:"
#: /workspaces/ord_ko/docs/src/guides/testing.md:10
hbitworkcg1840000kmint_tickerhelectronenonce
hbitworkcg1840000kmint_tickerhelectronenonce
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"100000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"$DMT","amt":"10000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"$DMT","amt":"10000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"$DMT","amt":"10000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"$DMT","amt":"10000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"10000000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"$DMT","amt":"10000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"10000000000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"$DMT","amt":"10000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"15000000000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"rats","amt":"10000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"mint","tick":"JITP","amt":"21000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"piin","amt":"7000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"15000000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"mice","amt":"275000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"piin","amt":"79000000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"$DMT","amt":"10000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"tbci","amt":"50000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"$DMT","amt":"10000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":".ant","amt":"300000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"piin","amt":"6000000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"$DMT","amt":"10000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"3500000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"saur","amt":"2000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"$DMT","amt":"10000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DFSN","amt":"20"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"$PIG","amt":"600000000000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"400000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"STST","amt":"4500"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"400000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"3800000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"UCAT","amt":"52000000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"150000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"tbci","amt":"10000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"tbci","amt":"10000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"5000000000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"mice","amt":"300000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"tbci","amt":"20000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":359,"sig":"GztKu0cgPhOHGYAhr61otX02s/rL6rbkuLh/iPD0YgkQWomtWAarjmHe19Zyo2dHlwTeiVxcFcN3q0sWVsBENzQ="}hA
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"6000000000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"DOPE","amt":"10080"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"saur","amt":"5000"}h!
text/plain;charset=utf-8
2{"p":"brc-20","op":"mint","tick":"POLS","amt":"1"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"Bear","amt":"200"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
    Timestamp, WalletTxInfo,
  jsonrpc_core::{IoHandler, Value},
  jsonrpc_http_server::{CloseHandle, ServerBuilder},
  serde::{Deserialize, Serialize},
    collections::{BTreeMap, BTreeSet, HashMap},
    sync::{Arc, Mutex, MutexGuard},
pub fn builder() -> Builder {
    fail_lock_unspent: false,
    network: Network::Bitcoin,
    version: 240000,
pub struct Builder {
  pub fn fail_lock_unspent(self, fail_lock_unspent: bool) -> Self {
      fail_lock_unspent,
  pub fn network(self, network: Network) -> Self {
    Self { network, ..self }
  pub fn version(self, version: usize) -> Self {
    Self { version, ..self }
  pub fn build(self) -> Handle {
    let state = Arc::new(Mutex::new(State::new(
      self.fail_lock_unspent,
text/plain;charset=utf-8
5{"p":"brc-20","tick":"mice","op":"mint","amt":"1000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"4000000000"}h!
BHM3=HX,%39?-5a'/9 (1
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":828,"sig":"G7TtYctRWYG/aOEcDReXHNm1ZXLDkOsrx2pwk6Xaeo2UZ/n1o/atm+he5rOFUY328g+3QWu/N4zpFwA0iHK/Jtw="}hA
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"wzrd","amt":"25000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"MMSS","amt":"2400"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"FCDP","amt":"1"}h!
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:98A480698D6C11EE88F58CD6BDC5F48E" xmpMM:InstanceID="xmp.iid:98A480688D6C11EE88F58CD6BDC5F48E" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:76dee5a7-e6f2-bc40-8dfd-bd72ca5cec92" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:FD6DB4268D6C11EE92BC91D09D8C6917" xmpMM:InstanceID="xmp.iid:FD6DB4258D6C11EE92BC91D09D8C6917" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:76dee5a7-e6f2-bc40-8dfd-bd72ca5cec92" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"100000"}h!
text/plain;charset=utf-8
"saklaw ng gabay na ito."
#: src/guides/collecting.md:4
"Currently, [ord](https://github.com/ordinals/ord/) is the only wallet "
"supporting sat-control and sat-selection, which are required to safely store "
"and send rare sats and inscriptions, hereafter ordinals."
"Sa kasalukuyan, ang [ord](https://github.com/ordinals/ord/) ay ang tanging "
"wallet na sumusuporta sa sat control at selection, na kinakailangan upang "
"ligtas na mag-store at magpadala ng mga rare sats at inscription, pagkataposM
"ay tinutukoy bilang mga ordinal."
#: src/guides/collecting.md:8
"The recommended way to send, receive, and store ordinals is with `ord`, but "
"if you are careful, it is possible to safely store, and in some cases send, "
"ordinals with other wallets."
"Inirerekomenda na magpadala, tumanggap at mag-imbak ng mga ordinal na may "
"`ord`, ngunit kung ikaw ay maingat, posible na mag-store, at sa ilang mga "
"kaso, magpadala ng mga ordinal nang ligtas kasama ng iba pang mga wallet."
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:91B8018D8E4A11EE9B95EED02EAC13DE" xmpMM:InstanceID="xmp.iid:91B8018C8E4A11EE9B95EED02EAC13DE" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:08476847-a78b-304f-9fc6-bf319cb96bfa" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"400000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"RSK ","amt":"50000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
uiTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OrigM
inalDocumentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3" xmpMM:DocumentID="xmp.did:D691BF4C8D6C11EEA0F19BD1AE8C88B6" xmpMM:InstanceID="xmp.iid:D691BF4B8D6C11EEA0F19BD1AE8C88B6" xmp:CreatorTool="Adobe Photoshop 23.2 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:76dee5a7-e6f2-bc40-8dfd-bd72ca5cec92" stRef:documentID="xmp.did:cb7c4fe5-25a8-a14a-9dbd-e53e5400f9a3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
B{"p":"brc-20","op":"transfer","tick":"3518","amt":"2923000000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20", "op":"transfer", "tick":"rdex", "amt":"2211"}h!
hbitworkcg1840000kmint_tickerhelectronh!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"FCDP","amt":"1"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "205"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "222"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "216"}h!
text/plain;charset=utf-8
 de nouveaux sats cr
s dans chaque bloc est r
#: src\overview.md:72
"_Cycles_: Every six halvings, something magical happens: the halving and the "
"difficulty adjustment coincide. This is called a conjunction, and the time "
"period between conjunctions a cycle. A conjunction occurs roughly every 24 "
"years. The first conjunction should happen sometime in 2032."
"_Cycles _: Tous les six halvings, un ph
ne magique se produit: la "
ajustement de la difficult
on appelle une conjonction, et la p
riode de temps entre les conjonctions "
sente un cycle. Une conjonction se produit environ tous les 24 ans. La "
re conjonction devrait se produire en 2032."
#: src\overview.md:77
msgid "This gives us the following rarity levels:"
msgstr "Cela nous donne les niveaux de raret
#: src\overview.md:79
msgid "`common`: Any sat that is not the first sat of its block"
msgstr "`commun`: Tout 0sat qui n
est pas le premier sat de son bloc"
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
viTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c145 79.163499, 2018/08/13-16:40:22        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginM
alDocumentID="xmp.did:2a208043-1367-5d45-82ef-001941732b36" xmpMM:DocumentID="xmp.did:713B7EB164F211EE8B90AC5B109D0A77" xmpMM:InstanceID="xmp.iid:713B7EB064F211EE8B90AC5B109D0A77" xmp:CreatorTool="Adobe Photoshop CC 2019 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:b304e028-62dd-c841-b64a-6f5c3de58cca" stRef:documentID="xmp.did:2a208043-1367-5d45-82ef-001941732b36"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>K
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "208"}h!
text/plain;charset=utf-8
msgid "Once `ord` is installed, you should be able to run:"
msgstr "Sobald `ord`  installiert ist, sollten Sie Folgendes ausf
#: src\guides/inscriptions.md:103
#: src\guides/inscriptions.md:107
msgid "Which prints out `ord`'s version number."
msgstr "Dadurch wird die Versionsnummer von `ord` ausgedruckt."
#: src\guides/inscriptions.md:109
msgid "Creating a Bitcoin Core Wallet"
msgstr "Erstellen einer Bitcoin Core WM
#: src\guides/inscriptions.md:112
"`ord` uses Bitcoin Core to manage private keys, sign transactions, and "
"broadcast transactions to the Bitcoin network."
"`ord` verwendet Bitcoin Core, um private Schl
ssel zu verwalten, "
"Transaktionen zu signieren und Transaktionen an das Bitcoin-Netzwerk zu "
#: src\guides/inscriptions.md:115
msgid "To create a Bitcoin Core wallet named `ord` for use with `ord`, run:"
"Um eine Bitcoin Core-Wallet mit dem Namen `ord` zur Verwend
text/plain;charset=utf-8
"confusion around royalties, and is collectively coming to grips with the "
"reality that on-chain royalties, which were messaged to artists as an "
"advantage of NFTs, are not possible, while platforms race to the bottom and "
"remove royalty support."
"Os royalties na blockchain s
o, na teoria, uma boa ideia; mas n
"O pagamento de royalties n
o pode ser aplicado on-chain sem restri
"e invasivas. O ecossistema de NFTs do Ethereum est
 atualmente lutando contra a "
o em torno dos royalties e est
 enfrentando coletivamente a realidade que "
"os royalties on-chain, que foram transmitidos aos artistas como uma vantagem das NFTs, "
veis, enquanto as plataformas correm para o fundo do po
"apoio aos royalties."
"Inscriptions avoid this situation entirely by making no false promises of "
"supporting royalties on-chain, thus avoiding the confusion, chaos, and "
"negativity of the Ethereum NFT situation."
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"roup","amt":"200000"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "212"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"roup","amt":"100000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
#: src\guides/reindexing.md:21
msgid "So to delete the database and reindex on MacOS you would have to run the following commands in the terminal:"
#: src\guides/reindexing.md:24
"rm ~/Library/Application Support/ord/index.redb\n"
#: src\guides/reindexing.md:2M
msgid "You can of course also set the location of the data directory yourself with `ord --data-dir <DIR> index run` or give it a specific filename and path with `ord --index <FILENAME> index run`."
 `ord --data-dir <DIR> index run`
 `ord --index <FILENAME> index run`.
#: src\bounties.md:1
msgid "Ordinal Bounty Hunting Hints"
#: src\bounties.md:4
msgid "The `ord` wallet can send and receive specific satoshis. Additionally, ordinal theory is extremely simple. A clever hacker should be able to write code from scratch to manipulate satoshis using ordinal theory in no time."
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"$BMP","amt":"100000"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "211"}h!
text/plain;charset=utf-8
    let unsigned_transaction = TransactionBuilder::new(
      unspent_outputs,
      locked_outputs,
      address.clone(),
      self.fee_rate,
    .build_transaction()?;
    let signed_tx = client
      .sign_raw_transaction_with_wallet(&unsigned_transaction, None, None)?
    let txid = client.send_raw_transaction(&signed_tx)?;
    Ok(Box::new(Output { transaction: txid }))
  fn lock_inscriptions(
    inscriptions: BTreeMap<SatPoint, InscriptionId>,
    unspent_outputs: BTreeMap<bitcoin::OutPoint, bitcoin::Amount>,
    let all_inscription_outputs = inscriptions
      .map(|satpoint| satpoint.outpoint)
      .collect::<HashSet<OutPoint>>();
    let wallet_inscription_outputs = unspent_outputs
      .filter(|utxo| all_inscription_outputs.contains(utxo))
      .collect::<Vec<OutPoint>>();
    if !client.lock_unspent(&wallet_inscription_outputs)? {
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "220"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "206"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "227"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh98342944dtime
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"FCDP","amt":"1"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
  fn unknown_preview() {
    let server = TestServer::new_with_regtest();
    server.mine_blocks(1);
    let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
      inputs: &[(1, 0, 0, inscription("text/foo", "hello").to_witness())],
      ..Default::default()
    server.mine_blocks(1);
    server.assert_response_csp(
      format!("/preview/{}", InscriptionId { txid, index: 0 }),
      StatusCode::OK,
      "default-src 'self'",
      fs::read_to_string("templates/preview-unM
known.html").unwrap(),
  fn video_preview() {
    let server = TestServer::new_with_regtest();
    server.mine_blocks(1);
    let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
      inputs: &[(1, 0, 0, inscription("video/webm", "hello").to_witness())],
      ..Default::default()
    let inscription_id = InscriptionId { txid, index: 0 };
    server.mine_blocks(1);
    server.assert_response_regex(
      format!("/preview/{inscription_id}"),
      StatusCode::OK,
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"FCDP","amt":"1"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
    blockdata::{opcodes, script, script::PushBytesBuf},
    ScriptBuf, Witness,
  pretty_assertions::assert_eq as pretty_assert_eq,
  test_bitcoincore_rpc::TransactionTemplate,
  unindent::Unindent,
macro_rules! assert_regex_match {
  ($value:expr, $pattern:expr $(,)?) => {
    let regex = Regex::new(&format!("^(?s){}$", $pattern)).unwrap();
    let string = $value.to_string();
    if !regex.is_match(string.as_ref()) {
did not match string:\n\n{}",
        regex, string
macro_rules! assert_matches {
  ($expression:expr, $( $pattern:pat_param )|+ $( if $guard:expr )? $(,)?) => {
    match $expression {
      $( $pattern )|+ $( if $guard )? => {}
      left => panic!(
        "assertion failed: (left ~= right)\n  left: `{:?}`\n right: `{}`",
        stringify!($($pattern)|+ $(if $guard)?)
pub(crate) fn blockhash(n: u64) -> BlockHash {
  let hex = format!("{n:x}");
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "217"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "225"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"roup","amt":"200000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "209"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "210"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "221"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "228"}h!
text/plain;charset=utf-8
  fn unknown_preview() {
    let server = TestServer::new_with_regtest();
    server.mine_blocks(1);
    let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
      inputs: &[(1, 0, 0, inscription("text/foo", "hello").to_witness())],
      ..Default::default()
    server.mine_blocks(1);
    server.assert_response_csp(
      format!("/preview/{}", InscriptionId { txid, index: 0 }),
      StatusCode::OK,
      "default-src 'self'",
      fs::read_to_string("templates/preview-unM
known.html").unwrap(),
  fn video_preview() {
    let server = TestServer::new_with_regtest();
    server.mine_blocks(1);
    let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
      inputs: &[(1, 0, 0, inscription("video/webm", "hello").to_witness())],
      ..Default::default()
    let inscription_id = InscriptionId { txid, index: 0 };
    server.mine_blocks(1);
    server.assert_response_regex(
      format!("/preview/{inscription_id}"),
      StatusCode::OK,
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"OXBT","amt":"2000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
"inscriptions and perform sat control when constructing transactions to send "
"inscriptions to another wallet."
"Ang pagtratrabaho sa inscriptions ay nangangailangan ng isang Bitcoin full "
"node, upang mabigyan ka ng view ng kasalukuyang estado ng Bitcoin "
"blockchain, at isang wallet na maaaring lumikha ng mga inscription at "
"magsagawa ng sat check kapag gumagawa ng mga transaksyon upang magpadala ng "
"mga inscription sa ibang wallet."
#: src/guides/inscriptions.md:14
"Bitcoin Core providM
es both a Bitcoin full node and wallet. However, the "
"Bitcoin Core wallet cannot create inscriptions and does not perform sat "
"Ang Bitcoin Core ay nagbibigay ng parehong buong node at isang Bitcoin "
"wallet. Gayunpaman, ang Bitcoin Core Wallet ay hindi makakalikha ng "
"inscriptions at hindi nagsasagawa ng mga sat control."
#: src/guides/inscriptions.md:17
"This requires [`ord`](https://github.com/ordinals/ord), the ordinal utility. "
"`ord` doesn't implement its own wallet, so `#ord wallet` subcommands interact "
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "226"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh43529614dtime
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "224"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"$BMP","amt":"100000"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "223"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "213"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"RDEX","amt":"10000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","tick":"ucat","op":"mint","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
"bitcoin-cli getdescriptorinfo \\\n"
"'wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)'\n"
#: src/guides/sat-hunting.md:170
"  \"descriptor\": "
"\"wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29\",\n"
"  \"checksum\": \"tpnxnxax\",\n"
"  \"isrange\": true,\M
"  \"issolvable\": true,\n"
"  \"hasprivatekeys\": false\n"
"  \"descriptor\": "
"\"wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29\",\n"
"  \"checksum\": \"tpnxnxax\",\n"
"  \"isrange\": true,\n"
"  \"issolvable\": true,\n"
"  \"hasprivatekeys\": false\n"
#: src/guides/sat-hunting.md:180
msgid "And for the change address descriptor, in this case `64k8wnd7`:"
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"roup","amt":"200000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "207"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "219"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "218"}h!
text/plain;charset=utf-8
collectible.bitmaph!
text/plain;charset=utf-8
H{"p":"brc-20","op":"deploy","tick":"$DCL","max":"21000000","lim":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","tick":"ucat","op":"mint","amt":"1000000"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "215"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh33968312dtime
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"MMSS","amt":"600"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "214"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
2{"p":"brc-20","op":"mint","tick":"doge","amt":"4"}h!
Lf{"p":"brc-20","op":"deploy","tick":"#FPO","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"FPSs","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"FPSs","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"IMOS","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"IFSs","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"IFMO","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"IFOs","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"IXO$","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"FPOs","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"FPO$","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"$FPO","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"$IXO","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"IMO$","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"IXOS","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"$FPD","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"FPD$","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"FPDs","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"FPO#","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"IFDs","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
Lf{"p":"brc-20","op":"deploy","tick":"IFPO","max":"2100000000000000","lim":"2100000000000000","dec":"8"}h!
iTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 9.0-c000 137.da4a7e5, 2022/11/27-09:35:03        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmlns:xmpMM="http://ns.adobe.com/xapM
/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:tiff="http://ns.adobe.com/tiff/1.0/" xmlns:exif="http://ns.adobe.com/exif/1.0/" xmp:CreatorTool="Adobe Photoshop 24.1 (Windows)" xmp:CreateDate="2023-02-07T11:49:02-05:00" xmp:ModifyDate="2023-03-02T13:58:04-05:00" xmp:MetadataDate="2023-03-02T13:58:04-05:00" dc:format="image/png" photoshop:ColorMode="3" xmpMM:InstanceID="xmp.iid:2c83845d-2ed1-a743-8ce7-17189cacfff4" xmpMM:DocuM
mentID="adobe:docid:photoshop:16cc14e6-ecc2-894e-8054-655d3657818b" xmpMM:OriginalDocumentID="xmp.did:4e4a0734-9223-f946-9fd5-65134fffe61f" tiff:Orientation="1" tiff:XResolution="3000000/10000" tiff:YResolution="3000000/10000" tiff:ResolutionUnit="2" exif:ColorSpace="1" exif:PixelXDimension="500" exif:PixelYDimension="500"> <photoshop:DocumentAncestors> <rdf:Bag> <rdf:li>036898DFB9B879C98F6D2E28DA47E018</rdf:li> <rdf:li>847ABFA8A9A25F2B84CE1B84F0DC90DC</rdf:li> <rdf:li>95A1071E0679CB6B2641CB48873B0063</rdf:li> <rdfM
:li>AA6C59B8535858969713C9197C908CFD</rdf:li> <rdf:li>xmp.did:4e4a0734-9223-f946-9fd5-65134fffe61f</rdf:li> </rdf:Bag> </photoshop:DocumentAncestors> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:4e4a0734-9223-f946-9fd5-65134fffe61f" stEvt:when="2023-02-07T11:49:02-05:00" stEvt:softwareAgent="Adobe Photoshop 24.1 (Windows)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:afff7149-df0b-a447-a934-cf7aead3eee6" stEvt:when="2023-02-08T03:15:39-05:00" stEvt:softwareAgent="AdM
obe Photoshop 24.1 (Windows)" stEvt:changed="/"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:d356fb5c-7c11-764b-936f-e23def2e04d5" stEvt:when="2023-03-02T13:58:04-05:00" stEvt:softwareAgent="Adobe Photoshop 24.1 (Windows)" stEvt:changed="/"/> <rdf:li stEvt:action="converted" stEvt:parameters="from application/vnd.adobe.photoshop to image/png"/> <rdf:li stEvt:action="derived" stEvt:parameters="converted from application/vnd.adobe.photoshop to image/png"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmM
p.iid:2c83845d-2ed1-a743-8ce7-17189cacfff4" stEvt:when="2023-03-02T13:58:04-05:00" stEvt:softwareAgent="Adobe Photoshop 24.1 (Windows)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:d356fb5c-7c11-764b-936f-e23def2e04d5" stRef:documentID="xmp.did:4e4a0734-9223-f946-9fd5-65134fffe61f" stRef:originalDocumentID="xmp.did:4e4a0734-9223-f946-9fd5-65134fffe61f"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
<{"p":"brc-20", "op":"transfer", "tick":"rdex", "amt":"3887"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
 "concurrent-queue",
 "event-listener 4.0.0",
 "event-listener-strategy",
 "pin-project-lite",
name = "async-compression"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc2d0cfb2a7388d34f590e76686704c494ed7aaceed62ee1ba35cbf363abc2a5"
 "pin-project-lite",
name = "async-http-codec"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "afc4f0600c43df768851edad95ad43119ebde70e2feec8e39b91f97c9b62029e"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
 "async-lock 2.8.0",
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"FCDP","amt":"1"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"10bf5231bd0334ecd2f41989328c23ef0a3dca9e983193f7a06bd62a3d1afefe","iid":"Pepega","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":3192,"sig":"Gwn3aitx+Sr6e4ZkyeKGHeIOehORxpP4uqbqc7S+qzMHYTBpbhb1qy9qbhyB+Zj0m9/sIViyAru8HRhFA/Sc+nk="}hA
text/plain;charset=utf-8
msgstr "`/blocktime`: UNIX-
msgid "Ordinal Theory FAQ"
msgid "What is ordinal theory?"
"Ordinal theory is a protocol for assigning serial numbers to satoshis, the smallest subdivision of a bitcoin, and tracking those satoshis as they are spent by "
msgid "These serial numbers are large numbers, like this 804766073970493. Every satoshi, which is
 of a bitcoin, has an ordinal number."
msgid "Does ordinal theory require a side chain, a separate token, or changes to Bitcoin?"
text/plain;charset=utf-8
checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64"
name = "clap_builder"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07cdf1b148b25c1e1f7a42225e30M
a0d99a615cd4637eae7365548dd4529b95bc"
name = "clap_derive"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "702fc72eb24e5a1e48ce5802*7a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"FCDP","amt":"1"}h!
text/plain;charset=utf-8
msgstr "Ajoutez ou am
liorez la documentation"
#: src\contributing.md:36
"Find an issue that needs more research, and do that research and summarize "
cessitant davantage de recherche, effectuez cette "
sumez-la dans un commentaire"
#: src\contributing.md:38
msgid "Find an out-of-date issue and comment that it can be closed"
c\contributing.md:39
"Find an issue that shouldn't be done, and provide constructive feedback "
"detailing why you think that is the case"
"Identifiez un probl
me qui ne devrait pas
, et fournissez des "
"commentaires constructifs expliquant pourquoi vous pensez que c
#: src\contributing.md:42
msgid "Merge early and often"
#: src\contributing.md:45
"Break up large tasks into multiple smaller steps that individually make "
"LLprogress. If there's a bug, you can open a PR that adds a failing ignored "
text/plain;charset=utf-8
msgstr "`mythic`: 1"
#: src/overview.md:183
msgid "Current Supply"
#: src/overview.md:185
msgid "`common`: 1.9 quadrillion"
msgstr "`common`: 1.9
#: src/overview.md:186
msgid "`uncommon`: 745,855"
msgstr "`uncommon`: 745,855"
#: src/overview.md:187
msgstr "`rare`: 369"
#: src/overview.md:188
#: src/overview.md:189
msgid "`legendary`: 0"
msgstr "`legendary`: 0"
msgid "At the moment, even uncommon satoshis are quite rare. As of this writing, 745,855 uncommon satoshis have been mined - one per 25.6 bitcoin in circulation."
#: src/overview.md:196
#: src/overview.md:199
"Each satoshi has a name, consisting of the letters _A_ through _Z_, that get shorter the further into the future the satoshi was mined. They could start short "
text/plain;charset=utf-8
*This guide is out of date. Since it was written, the `ord` binary was changed
to only build the full satoshi index when the `--index-sats` flag is supplied.
Additionally, `ord` now has a built-in wallet that wraps a Bitcoin Core wallet.
See `ord wallet --help`.*
Ordinal hunting is difficult but rewarding. The feeling of owning a wallet full
of UTXOs, redolent with the scent of rare and exotic sats, is beyond compare.
Ordinals are numbers for satoshis. Every satoshi has an ordinal number M
every ordinal number has a satoshi.
There are a few things you'll need before you start.
1. First, you'll need a synced Bitcoin Core node with a transaction index. To
   turn on transaction indexing, pass `-txindex` on the command-line:
   bitcoind -txindex
   Or put the following in your [Bitcoin configuration
   file](https://github.com/bitcoin/bitcoin/blob/master/doc/bitcoin-conf.md#configuration-file-path):
   Launch it and wait for i3t to catch up to the chain tip, at which point the
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
#: src\guides/collecting/sparrow-wallet.md:39
msgid "Click `Import Keystore`."
msgstr "Cliquez sur `Import Keystore`.(Importer le Keystore)."
#: src\guides/collecting/sparrow-wallet.md:41
msgid "![](images/wallet_setup_06.png)"
msgstr "![](images/wallet_setup_06.png)"
#: src\guides/collecting/sparrow-wallet.md:43
msgid "Click `Apply`. Add a password for the wallet if you want to."
"Cliquez sur `Apply` (Appliquer). Ajoutez un mot de passe pour le "
"portefeuille si vous le souhaitez."
lecting/sparrow-wallet.md:45
msgid "![](images/wallet_setup_07.png)"
msgstr "![](images/wallet_setup_07.png)"
#: src\guides/collecting/sparrow-wallet.md:47
"You now have a wallet which is compatible with `ord`, and can be imported "
"into `ord` using the BIP39 Seed Phrase. To receive ordinals or inscriptions, "
"click on the `Receive` tab and copy a new address."
"Vous disposez maintenant d
un portefeuille compatible avec `ord`, qui peut "
aide de la phrase de
ration BIP39. Pour "
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh02440012dtime
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"3250000000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
      (u64::from(SUBSIDY_HALVING_INTERVAL) - 1) * 5000000000
      Height(SUBSIDY_HALVING_INTERVAL).starting_sat(),
      u64::from(SUBSIDY_HALVING_INTERVAL) * 5000000000
      Height(SUBSIDY_HALVING_INTERVAL + 1).starting_sat(),
      u64::from(SUBSIDY_HALVING_INTERVAL) * 5000000000 + 2500000000
      Height(u32::max_value()).starting_sat(),
      *Epoch::STARTING_SATS.last().unwrap()
  fn period_offset() {
ight(0).period_offset(), 0);
    assert_eq!(Height(1).period_offset(), 1);
    assert_eq!(Height(DIFFCHANGE_INTERVAL - 1).period_offset(), 2015);
    assert_eq!(Height(DIFFCHANGE_INTERVAL).period_offset(), 0);
    assert_eq!(Height(DIFFCHANGE_INTERVAL + 1).period_offset(), 1);
text/plain;charset=utf-8
text/plain;charset=utf-8
LS{"p":"brc-20","op":"deploy","tick":"INJ\u000b","max":"100000000","lim":"100000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"3250000000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
msgid "`/sat/<SAT>`"
msgstr "`/sat/<SAT>`"
#: src/guides/explorer.md:94
msgid "To get a list of the latest 100 inscriptions you would do:"
"Para makakuha ng listahan ng pinakabagong 100 inskripsiyon na gagawin mo:"
#: src/guides/explorer.md:96
"curl -s -H \"Accept: application/json\" 'http://0.0.0.0:80/inscriptions'\n"
"curl -s -H \"Accept: application/json\" 'http://0.0.0.0:80/inscriptions'\n"
#: src/guides/explorer.md:100
"To see information aboM
ut a UTXO, which includes inscriptions inside it, do:"
"Upang makakita ng impormasyon tungkol sa isang UTXO, na may kasamang mga "
"inskripsiyon sa loob nito, gawin ang:"
#: src/guides/explorer.md:102
"curl -s -H \"Accept: application/json\" 'http://0.0.0.0:80/output/"
"bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed:0'\n"
"curl -s -H \"Accept: application/json\" 'http://0.0.0.0:80/output/"
"bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a
text/plain;charset=utf-8
text/plain;charset=utf-8
      Index::increment_statistic(&wtx, Statistic::Commits, 1)?;
      wtx.commit()?;
      let wtx = index.begin_write()?;
      log::debug!("creating savepoint at height {}", height);
      wtx.persistent_savepoint()?;
      Index::increment_statistic(&wtx, Statistic::Commits, 1)?;
      wtx.commit()?;
text/plain;charset=utf-8
text/plain;charset=utf-8
"particular value of the number of satoshis (the output value). Usually (but not always) the inscription will be inscribed on the first satoshi in the UTXO."
#: src/guides/collecting/sparrow-wallet.md:116
msgid "When inspecting your inscription before sending the main thing you will want to check is which satoshi in the UTXO your inscription is inscribed on."
#: src/guides/collecting/sparrow-wallet.md:118
"To do this, you can follow the [Validating / Viewing Received Inscriptions](./sparrow-wallet.md#validating--viewing-received-inscriptions) described above to "
"find the inscription page for your inscription on ordinals.com"
text/plain;charset=utf-8
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":585,"sig":"G1b10T6U0YD+arrEd0SRPB1uqASjQVlQryqHrfkw98SpQlBEUxzlMZtKjiCwqmkx+a90SONHXBJ7II7ZmZKKrrA="}hA
text/plain;charset=utf-8
"determinada NFT do Ethereum est
msgid "_Inscriptions are much simpler._"
o muito mais simples._"
"Ethereum NFTs depend on the Ethereum network and virtual machine, which are "
"highly complex, constantly changing, and which introduce changes via "
"backwards-incompatible hard forks."
"As NFTs do Ethereum dependem da rede Ethereum e da m
quina virtual, que s
"altamente complexas, est
o em constante mudan
"de hard forks incompat
"Inscriptions, on the other hand, depend on the Bitcoin blockchain, which is "
"relatively simple and conservative, and which introduces changes via "
"backwards-compatible soft forks."
es, por outro lado, dependem da blockchain do Bitcoin, que
"relativamente simples e conservadora, e que introduz mudan
text/plain;charset=utf-8
text/plain;charset=utf-8
#### Sparrow wallet is not showing a transaction/UTXO, but I can see it on mempool.space!
Make sure that your wallet is connected to a bitcoin node. To validate this, head into the `Preferences`-> `Server` settings, and click `Edit Existing Connection`.
![](images/troubleshooting_01.png)
From there you can select a node and click `Test Connection` to validate that Sparrow is able to connect successfully.
![](images/troubleshooting_02.png)
text/plain;charset=utf-8
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"foox","amt":"30000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"3518","amt":"500000000000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
bitcoinphunk.bitmaph!
text/plain;charset=utf-8
"on your results. Break a feature into small sub-features, and implement them one at a time."
#: src\contributing.md:51
msgid "Figuring out how to break down a larger PR into smaller PRs where each can be merged is an art form well-worth practicing. The hard part is that each PR must itself be an improvement."
#: src\contributing.md:55
msgid "I strive to follow this advice myself, and am always better off when I do."
text/plain;charset=utf-8
text/plain;charset=utf-8
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh08228268dtime
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":463,"sig":"HH5aFfWkCFA6mpdwWKettVw3kIdNXf0Ka/A4E6PXFK3ZX6UEyvKp1vqEA+eUfYGhOkwZ20/ClDOvf9vWC7pXBkg="}hA
text/plain;charset=utf-8
text/plain;charset=utf-8
    Timestamp, WalletTxInfo,
  jsonrpc_core::{IoHandler, Value},
  jsonrpc_http_server::{CloseHandle, ServerBuilder},
  serde::{Deserialize, Serialize},
    collections::{BTreeMap, BTreeSet, HashMap},
    sync::{Arc, Mutex, MutexGuard},
pub fn builder() -> Builder {
    fail_lock_unspent: false,
    network: Network::Bitcoin,
    version: 240000,
pub struct Builder {
  pub fn fail_lock_unspent(self, fail_lock_unspent: bool) -> Self {
      fail_lock_unspent,
  pub fn network(self, network: Network) -> Self {
    Self { network, ..self }
  pub fn version(self, version: usize) -> Self {
    Self { version, ..self }
  pub fn build(self) -> Handle {
    let state = Arc::new(Mutex::new(State::new(
      self.fail_lock_unspent,
text/plain;charset=utf-8
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh82652234dtime
text/plain;charset=utf-8
text/plain;charset=utf-8
"Arweave rely on weak economic assumptions, and will likely fail "
"catastrophically when these economic assumptions are no longer met. "
"Centralized web servers may disappear at any time."
"Existem alguns conte
dos de NFTs no Ethereum on-chain, mas muito est
"fora da cadeia, \"off-chain,\" e armazenado em plataformas como IPFS ou Arweave, "
"ou em servidores web tradicionais e totalmente centralizados. N
"garantia de que o conte
do no IPFS continuar
"armazenados em IPFS j
 foram perdidos. Plataformas como a Arweave dependem de "
micas fracas e provavelmente falhar
o catastroficamente quando essas "
o forem mais atendidas. Servidores web centralizados "
"podem desaparecer a qualquer momento."
"It is very hard for a non-technical user to determine where the content of a "
"given Ethereum NFT is stored."
cnico determinar onde o
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh30729600dtime
text/plain;charset=utf-8
text/plain;charset=utf-8
nativesegwit.bitmaph!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"NODE","amt":"10000"}h!
text/plain;charset=utf-8
Ordinals is open-source and community funded. The current lead maintainer of
`ord` is [raphjaph](https://github.com/raphjaph/). Raph's work on `ord` is
entirely funded by donations. If you can, please consider donating!
The donation address for Bitcoin is
[bc1q8kt9pyd6r27k2840l8g5d7zshz3cg9v6rfda0m248lva3ve5072q3sxelt](https://mempool.space/address/bc1q8kt9pyd6r27k2840l8g5d7zshz3cg9v6rfda0m248lva3ve5072q3sxelt). The donation address for inscriptions is [bc1qn3map8m9hmk5jyqdkkwlwvt335g94zvxwd9aql7q3vM
dkdw9r5eyqvlvec0](https://mempool.space/address/bc1qn3map8m9hmk5jyqdkkwlwvt335g94zvxwd9aql7q3vdkdw9r5eyqvlvec0).
Both addresses are in a 2 of 4 multisig wallet with keys held by
[raphjaph](https://twitter.com/raphjaph),
[erin](https://twitter.com/realizingerin),
[rodarmor](https://twitter.com/rodarmor), and
[ordinally](https://twitter.com/veryordinally).
Donations received will go towards funding maintenance and development of `ord`,
as well as hosting costs for [ordinals.com](https://ordinals.com).
text/plain;charset=utf-8
    for (inscription_id, addr) in &[
        InscriptionId {
          txid: Txid::all_zeros(),
        "0x6db65fD59fd356F6729140571B5BCd6bB3b83492",
        InscriptionId::from_str(
          "6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i7",
        "0xEb26fEFA572a25F0ED7B41C5249bCba2Ca976475",
        InscriptionId::from_str(
          "6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692L
        "0xe43A06530BdF8A4e067581f48Fae3b535559dA9e",
      assert_eq!(*addr, Ethereum::from(*inscription_id).0);
text/plain;charset=utf-8
text/plain;charset=utf-8
"short, fees paid by transactions are treated as extra inputs to the coinbase "
"transaction, and are ordered how their corresponding transactions are "
"ordered in the block. The coinbase transaction of the block might look like "
"Ils vont donc au mineur qui a min
 le bloc en tant que frais. [Le BIP]"
"(https://github.com/ordinals/ord/blob/master/bip.mediawiki) donne les "
s par les transactions sont trait
s la transaction coinbase, et sont "
ordre de leurs transactions correspondantes dans le bloc. "
"La transaction coinbase du bloc pourrait ressembler
msgid "Where can I find the nitty-gritty details?"
 puis-je trouver les d
tails techniques approfondis ?"
msgid "[The BIP!](https://github.com/ordinals/ord/blob/master/bip.mediawiki)"
"Dans [le BIP !](https://github.com/ordinals/ord/blob/master/bip.mediawiki)"
text/plain;charset=utf-8
text/plain;charset=utf-8
#[derive(Debug, Parser)]
pub(crate) struct Subsidy {
  #[arg(help = "List sats in subsidy at <HEIGHT>.")]
#[derive(Debug, PartialEq, Serialize, Deserialize)]
  pub(crate) fn run(self) -> SubcommandResult {
    let first = self.height.starting_sat();
    let subsidy = self.height.subsidy();
    if subsidy == 0 {
      bail!("block {} has no subsidy", self.height);
    Ok(Box::nLYew(Output {
      first: first.0,
      name: first.name(),
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh29295411dtime
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
"Ang Satoshi ay isang `first in, first out` order. Isipin ang mga input sa "
"isang transaksyon bilang isang listahan ng satoshi, at ang mga output bilang "
"isang listahan ng mga slot, naghihintay na makatanggap ng satoshi. Upang mag-"
"assign ng satoshi input sa mga slot, dapat isa-isa ang bawat input na "
"satoshi na may  pagkakasunud-sunod papunta sa mga bakanteng output slot."
"Let's imagine a transaction with three inputs and two outputs. The inputs "
"are on the left of tM
he arrow and the outputs are on the right, all labeled "
"with their values:"
"Isipin ang isang transaksyon na may tatlong input at dalawang output. Ang "
"mga input ay nasa kaliwa ng arrow at ang mga output sa kanan, lahat ay may "
"label ng kanilang mga halaga:"
"Now let's label the same transaction with the ordinal numbers of the "
"satoshis that each input contains, and question marks for each output slot. "
"Ordinal numbers are large, so let's use letters to represent them:
text/plain;charset=utf-8
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"RDEX","amt":"10000"}h!
viTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c145 79.163499, 2018/08/13-16:40:22        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginM
alDocumentID="xmp.did:2a208043-1367-5d45-82ef-001941732b36" xmpMM:DocumentID="xmp.did:D0E3EAB164F411EEA1B0D6CA2BF709E0" xmpMM:InstanceID="xmp.iid:D0E3EAB064F411EEA1B0D6CA2BF709E0" xmp:CreatorTool="Adobe Photoshop CC 2019 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:b304e028-62dd-c841-b64a-6f5c3de58cca" stRef:documentID="xmp.did:2a208043-1367-5d45-82ef-001941732b36"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>V
text/plain;charset=utf-8
checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335"
name = "serde_urlencoded"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3cc7a1570M
e38322cfe4154732e5110f887ea57e22b76f4bfd32b5bdd3368666c"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "793db75ad28bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
text/plain;charset=utf-8
text/plain;charset=utf-8
     world based on applicable law or treaty, and any national
     implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
text/plain;charset=utf-8
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"trvs","amt":"50000000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"FCDP","amt":"1"}h!
mrequest_realmjparallelfihbitworkcdbff7enonceh28744045dtime
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
viTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c145 79.163499, 2018/08/13-16:40:22        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginM
alDocumentID="xmp.did:2a208043-1367-5d45-82ef-001941732b36" xmpMM:DocumentID="xmp.did:48254E1864F611EE8BF9EAEF15CEA035" xmpMM:InstanceID="xmp.iid:48254E1764F611EE8BF9EAEF15CEA035" xmp:CreatorTool="Adobe Photoshop CC 2019 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:b304e028-62dd-c841-b64a-6f5c3de58cca" stRef:documentID="xmp.did:2a208043-1367-5d45-82ef-001941732b36"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>:_bM
text/plain;charset=utf-8
tzt nur Content-Typen, die vom `ord` Block-Explorer angezeigt werden "
#: src\guides/inscriptions.md:150
"Additionally, inscriptions are included in transactions, so the larger the "
"content, the higher the fee that the inscription transaction must pay."
tzlich werden inscriptions in Transaktionen aufgenommen, daher muss je "
e des Inhalts auch eine h
r die inscriptions "
"transaktion gezahlt werden."
#: src\guides/inscriptions.md:153
"Inscription content is included in transaction witnesses, which receive the "
"witness discount. To calculate the approximate fee that an inscribe "
"transaction will pay, divide the content size by four and multiply by the "
"Der Inhalt der Inscription wird in Transaktionszeugnissen aufgenommen, die "
"den Zeugnisrabatt erhalten. Um die ungef
r eine Inscription "
"transaktion zu berechnen, teilen Sie die Gr
e des Inhalts durch vier und "
"multiplizieren Sie sie mit d
text/plain;charset=utf-8
msgid "Searching for Rare Ordinals in a Non-Bitcoin Core Wallet"
 Bitcoin Core Wallet"
#: src/guides/sat-hunting.md:75
"The `ord wallet` command is just a wrapper around Bitcoin Core's RPC API, so to search for rare ordinals in a non-Bitcoin Core wallet, you'll need to import "
"your wallet's descriptors into Bitcoin Core."
 Bitcoin Core wallet, "
#: src/guides/sat-hunting.md:79
msgid "[Descriptors](https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md) describe the ways that wallets generate private keys and public keys."
](https://github.com/bitcoin/bitcoin/blob/master/doc/dM
#: src/guides/sat-hunting.md:82
msgid "You should only import descriptors into Bitcoin Core for your wallet's public keys, not its private keys."
Aj?=:ETH.ETH:0x58c323EfCdb5CD2c6107d2606e3D920Dd76c7d7D:0/1/0:tr:0
Aj?=:ETH.ETH:0x496584dA1FFf7B0a5E1b3C613d9639803b96B553:0/1/0:tr:0
Aj?=:ETH.ETH:0xA1d2C5C55A1f57f2204B8500d410e52269F8dce7:0/1/0:tr:0
text/plain;charset=utf-8
Lc{  "p": "orc-20", "op": "transfer", "params":{ "tick":"doge","tid":"3388833","amt":"2000000000" } }h!
DjB=:BCH.BCH:qq6c748nxrheyyjaw888lvkj25acwd65eg65x62dld:31927395:tr:0
FjD=:ETH.USDC-B48:0x4F43df03B52FBed1d573e38327036822fbA17955:0/1/0:tr:0
FjD=:ETH.USDT-EC7:0xC1459f7C65a3EFab47C00fDbBA61BAa348cC3D3f:0/1/0:tr:0
FjD=:ETH.USDT-EC7:0xd26866d67e72f0C768678990390af6fe59ccf9C0:0/1/0:tr:0
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","tick":"dydx","op":"mint","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","tick":"dydx","op":"mint","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
"`ord` is [raphjaph](https://github.com/raphjaph/). Raph's work on `ord` is "
"entirely funded by donations. If you can, please consider donating!"
"Ang Ordinals ay open-source na software na pinondohan ng komunidad. Ang "
"kasalukuyang maintainer ng `ord` ay si [raphjaph](https://github.com/"
"raphjaph/). Ang trabaho ni Raph sa `ord` ay ganap na pinondohan ng mga "
"donasyon. Maari kang magbigay ng donasyon kung gusto mo suportahan ang "
"development ng `ord`."
address for Bitcoin is "
"[bc1q8kt9pyd6r27k2840l8g5d7zshz3cg9v6rfda0m248lva3ve5072q3sxelt](https://"
"mempool.space/address/"
"bc1q8kt9pyd6r27k2840l8g5d7zshz3cg9v6rfda0m248lva3ve5072q3sxelt). The "
"donation address for inscriptions is "
"[bc1qn3map8m9hmk5jyqdkkwlwvt335g94zvxwd9aql7q3vdkdw9r5eyqvlvec0](https://"
"mempool.space/address/"
"bc1qn3map8m9hmk5jyqdkkwlwvt335g94zvxwd9aql7q3vdkdw9r5eyqvlvec0)."
"Ang Bitcoin address para sa donasyon ay "
"[bc1q8kt9pyd6r27k2840l8g5d7zshz3cg9v6rfda0m248lva3ve5072q3sx
text/plain;charset=utf-8
    let acme_cache = if let Some(acme_cache) = acme_cache {
      acme_cache.clone()
      options.data_dir()?.join("acme-cache")
  fn acme_domains(&self) -> Result<Vec<String>> {
    if !self.acme_domain.is_empty() {
      Ok(self.acme_domain.clone())
      Ok(vec![System::new()
        .host_name()
        .ok_or(anyhow!("no hostname found"))?])
  fn http_port(&self) -> Option<u16> {
    if self.http || self.http_port.is_some() || (self.https_poM
rt.is_none() && !self.https) {
      Some(self.http_port.unwrap_or(80))
  fn https_port(&self) -> Option<u16> {
    if self.https || self.https_port.is_some() {
      Some(self.https_port.unwrap_or(443))
  fn acceptor(&self, options: &Options) -> Result<AxumAcceptor> {
    let config = AcmeConfig::new(self.acme_domains()?)
      .contact(&self.acme_contact)
      .cache_option(Some(DirCache::new(Self::acme_cache(
        self.acme_cache.as_ref(),
text/plain;charset=utf-8
7{"p":"brc-20","tick":"dydx","op":"mint","amt":"100000"}h!
text/plain;charset=utf-8
n de atractividad y funcionalidad, permiti
ndole servir de manera m
s efectiva a su caso de uso principal como el almacenamiento descentralizado de valor de para la humanidad."
#: src/contributing.md:1
msgid "Contributing to `ord`"
msgstr "Contribuir a `ord`"
#: src/contributing.md:4
msgid "Suggested Steps"
msgstr "Pasos Sugeridos"
#: src/contributing.md:7
msgid "Find an issue you want to work on."
msgstr "Encuentra un problema en el que quieras trabajar."
#: src/contributing.md:8
ure out what would be a good first step towards resolving the issue. This "
"could be in the form of code, research, a proposal, or suggesting that it be "
"closed, if it's out of date or not a good idea in the first place."
a ser el primer paso para abordar el problema. "
n de una propuesta o incluso sugerir su cierre si est
 desactualizado o evaluar si es una buena idea desde un inicio."
#: src/contributing.md:11
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","tick":"dydx","op":"mint","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"STST","amt":"10000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"scam","amt":"1000"}h!
text/plain;charset=utf-8
The `ord` binary includes a block explorer. We host a instance of the block
explorer on mainnet at [ordinals.com](https://ordinals.com), and on signet at
[signet.ordinals.com](https://signet.ordinals.com).
### Running The Explorer
The server can be run locally with:
To specify a port add the `--http-port` flag:
`ord server --http-port 8080`
To enable the JSON-API endpoints add the `--enable-json-api` or `-j` flag (see
[here](#json-api) for more info):
r --enable-json-api`
To test how your inscriptions will look you can run:
`ord preview <FILE1> <FILE2> ...`
The search box accepts a variety of object representations.
Blocks can be searched by hash, for example, the genesis block:
[000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f](https://ordinals.com/search/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f)
Transactions can be searched by hash, for example, the genesis block coinbas
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":334,"sig":"Gws5lllPJrnUyVoB3N57IO+gY8JcBT/into6z58SydoEeVS0csHSMvJKYwclmwtE3f/kQz73PbH3Jl1zLcAYp6A="}hA
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/html;charset=utf-8
<script src="/content/d91650a911e27c5402ffd45893b17023e0ede8cb6912aa11fee0bbb264de2bfdi0" data-p="fa343c9e421d469aa6b57a3256903e2e5d86cc0973d554d7dc70799bad69a7e3i0,ss,3,64,1,l"></script>h!
text/plain;charset=utf-8
7{"p":"brc-20","tick":"dydx","op":"mint","amt":"100000"}h!
text/plain;charset=utf-8
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"74545ef15a158fe900372fd6c430919e01031855a65df26f80c4be0c4263e8a3","iid":"MoarMonkes","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":9,"sig":"G69XIdn7bMig98ku1fcxN3ozf3Y9ZQsSI5KURffQci5yfp91Db1WDncRxN4EQ6gz2D8vPbQqFf1kNzXRo2kKzAY="}hA
text/plain;charset=utf-8
"Realiza investigaciones o pruebas y reporta tus resultados. Divide una caracter
ntalas una a la vez."
#: src/contributing.md:51
"Figuring out how to break down a larger PR into smaller PRs where each can "
"be merged is an art form well-worth practicing. The hard part is that each "
"PR must itself be an improvement."
"Descomponer un PR grande en PRs m
os que puedan fusionarse individualmente es un arte que vale la pena practicar. El desaf
o radica en asegurar que cada PR represente una mejora por s
#: src/contributing.md:55
"I strive to follow this advice myself, and am always better off when I do."
"Me esfuerzo por aplicar este consejo yo mismo, y siempre obtengo beneficios cuando lo hago."
#: src/contributing.md:57
"Small changes are fast to write, review, and merge, which is much more fun "
"than laboring over a single giant PR that takes forever to write, review, "
"and merge. Small changes don't take muc!h time, so if you need to stop "
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
    let response = test_server.get("/blockcount");
    assert_eq!(response.status(), StatusCode::OK);
    assert_eq!(response.text().unwrap(), "2");
  fn block_height_endpoint() {
    let test_server = TestServer::new();
    let response = test_server.get("/blockheight");
    assert_eq!(response.status(), StatusCode::OK);
    assert_eq!(response.text().unwrap(), "0");
    test_server.mine_blocks(2);
    let response = test_server.get("/blockheight");
    assert_eq!(response.status(), StatusCodM
    assert_eq!(response.text().unwrap(), "2");
  fn block_hash_endpoint() {
    let test_server = TestServer::new();
    let response = test_server.get("/blockhash");
    assert_eq!(response.status(), StatusCode::OK);
      response.text().unwrap(),
      "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f"
  fn block_hash_from_height_endpoint() {
    let test_server = TestServer::new();
    let response = test_server.get("/blockhash/0");
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"trvs","amt":"50000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"csas","amt":"500000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$OG$","amt":"1000"}h!
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":301,"sig":"Gyqjd0An6VYUasyFPRzracnxn4WE3iEHReBuWZw4PYoxV0+snnkCOlCXuVPQyygRWrdj143s17gCGh9aEt5atSI="}hA
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
changer et innover. La th
orie ordinale attribue une "
 aux satoshis, ce qui permet de les suivre et de les
"fois comme curiosit
s et pour leur valeur numismatique."
"Ordinal theory also enables inscriptions, a protocol for attaching arbitrary "
"content to individual satoshis, turning them into bitcoin-native digital "
orie ordinale permet
galement les inscriptions, un protocole capable "
u contenu arbitraire
 des satoshis individuels, les "
"transformant ainsi en artefacts num
riques natifs de Bitcoin."
msgid "How does ordinal theory work?"
msgstr "Comment fonctionne la th
"Ordinal numbers are assigned to satoshis in the order in which they are "
"mined. The first satoshi in the first block has ordinal number 0, the second "
"has ordinal number 1, and the last satoshi of the first block has ordinal "
"number 4,999,999,999."
text/plain;charset=utf-8
7{"p":"brc-20","tick":"dydx","op":"mint","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":2906,"sig":"HH883MtAIbFQ6wiquPyNlPqnnaGsEQnESvFNdGJJhYbyDFbKeYW2+iZTaIKNkXLrNvYJl6K1IDSDwveSDHXeKxU="}hA
text/plain;charset=utf-8
text/plain;charset=utf-8
7{"p":"brc-20","tick":"dydx","op":"mint","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","tick":"dydx","op":"mint","amt":"100000"}h!
text/plain;charset=utf-8
              if end == Some(self.height) {
              } else {
                limit
            } else {
              u128::max_value()
            } - balance,
            timestamp: self.timestamp,
        let inscription_id = InscriptionId { txid, index: 0 };
        if let Some(sequence_number) = self
          .inscription_id_to_sequence_number
          .get(&inscriptioM
            .sequence_number_to_rune
            .insert(sequence_number.value(), rune.0)?;
    let mut burned: HashMap<u128, u128> = HashMap::new();
      for (id, balance) in unallocated {
        *burned.entry(id).or_default() += balance;
      // Assign all un-allocated runes to the first non OP_RETURN output
      if let Some((vout, _)) = tx
        .enumerate()
        .find(|(_1, tx_out)| !tx_out.script_pubkey.is_op_return())
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
enonceh44396378dtime
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
  CommandBuilder::new("subsidy 6930000")
    .expected_stderr("error: block 6930000 has no subsidy\n")
    .expected_exit_code(1)
    .run_and_extract_stdout();
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":173,"sig":"G6YtUdjI2ud9Ypu2ybkMXXs/TZw0qDJuHhvcTKJ8kcOEENovGTR4cgRLpqlCln5IWiRVMVLoX8V9ehIlP2DNyRo="}hA
text/plain;charset=utf-8
7{"p":"brc-20","tick":"dydx","op":"mint","amt":"100000"}h!
text/plain;charset=utf-8
Ord can be tested using the following flags to specify the test network. For more
information on running Bitcoin Core for testing, see [Bitcoin's developer documentation](https://developer.bitcoin.org/examples/testing.html).
Most `ord` commands in [inscriptions](inscriptions.md) and [explorer](explorer.md)
can be run with the following network flags:
| Testnet | `--testnet` or `-t` |
| Signet  | `--signet` or `-s` |
| Regtest | `--regtest` or `-r` |
doesn't require downloading the blockchain or indexing ord.
Run bitcoind in regtest with:
bitcoind -regtest -txindex
Create a wallet in regtest with:
ord -r wallet create
Get a regtest receive address with:
ord -r wallet receive
Mine 101 blocks (to unlock the coinbase) with:
bitcoin-cli -regtest generatetoaddress 101 <receive address>
Inscribe in regtest with:
ord -r wallet inscribe --fee-rate 1 --file <file>
Mine the inscription with:
bitcoin-cli -regte)st generatetoaddress 1 <receive address>
text/plain;charset=utf-8
7{"p":"brc-20","tick":"dydx","op":"mint","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"roup","amt":"10000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
"`000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi255`:"
#: src/inscriptions/provenance.md:63
"And of inscription ID "
"`000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi256`:"
"At ng inskripsiyong ID "
"`000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi256`:"
#: src/inscriptions/provenance.md:75
#: src/inscriptions/provenance.md:77
"The tag `3` is used because it is the first available odd tag. UnrecognizM
"odd tags do not make an inscription unbound, so child inscriptions would be "
"recognized and tracked by old versions of `ord`."
"`3` Ginagamit ang tag dahil ito ang unang available na odd tag. Ang mga "
"hindi kilalang odd tag ay hindi gumagawa ng isang inskripsiyon na unbound, "
"kaya ang mga child inscription ay makikilala at masusubaybayan ng mga lumang "
#: src/inscriptions/provenance.md:81
"A collection can be closed by burning the collection's parent inscription, "
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"3500000000"}h!
text/plain;charset=utf-8
"bitcoin-cli getdescriptorinfo \\\n"
"'wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)'\n"
#: src/guides/sat-hunting.md:170
"  \"descriptor\": "
"\"wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29\",\n"
"  \"checksum\": \"tpnxnxax\",\n"
"  \"isrange\": true,\M
"  \"issolvable\": true,\n"
"  \"hasprivatekeys\": false\n"
"  \"descriptor\": "
"\"wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29\",\n"
"  \"checksum\": \"tpnxnxax\",\n"
"  \"isrange\": true,\n"
"  \"issolvable\": true,\n"
"  \"hasprivatekeys\": false\n"
#: src/guides/sat-hunting.md:180
msgid "And for the change address descriptor, in this case `64k8wnd7`:"
text/plain;charset=utf-8
LS  <circle r="0.7" stroke="#d00505" stroke-width="0.3"/>.*
text/plain;charset=utf-8
"weight behind the honest chain."
#: /workspaces/ord_ko/docs/src/faq.md:338
"Ordinal theory and inscriptions do not meaningfully affect Bitcoin's "
"fungibility. Bitcoin users can ignore both and be unaffected."
#: /workspaces/ord_ko/docs/src/faq.md:341
"We hope that ordinal theory strengthens and enriches bitcoin, and gives it "
"another dimension of appeal and functionality, enabling it more effectively "
"serve its primary use case as humanity's decentralized store of value."
#: /workspaces/ord_ko/docs/src/contributing.md:1
msgid "Contributing to `ord`"
#: /workspaces/ord_ko/docs/src/contributing.md:4
msgid "Suggested Steps"
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"STST","amt":"10000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
<{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000"}h!
text/html;charset=utf-8
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport"content="width=device-width, initial-scale=1.0">
    body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
    #dogs { position: relative; width: 100%; height: 100%; background-color: #10b48e; }
    #dogs img { position: absolute; width: 100%; height: 100%; object-fit: contain; top: 0; left: 0; image-rendering: pixelated }
    <div id="dogs"><img src="/content/38c14aaf75783e70577f0ea108a97e44f961de6d8f8d8c814669e2c3973240b4i0" alt="skin"><img src="/content/6eebb2177a9e44352b166f2ea4ca0bc7af7a8f05ecd86d1d0965c468799cdd7di0" alt="mouth"><img src="/content/f8cc310488d190a5311aac36150f6737f4224fcef94796ddf29544ac4b5c511ci0" alt="eye"><img src="/content/67700792214caeb1cba969d04683bca014f3a4126b975434c9bf07a373a67de3i0" alt="cloth"><img src="/content/c2d197eb317236a67fce1542404f1cbe0eb2c4e808ec6433c2414b9deac9d095i0" alt="necklace"><imLtg src="/content/0ad0bb039e68b7121a2b9274f98507c5be69ffbdb009bf986f48123c284bb617i0" alt="hat"></div>
text/html;charset=utf-8
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport"content="width=device-width, initial-scale=1.0">
    body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
    #dogs { position: relative; width: 100%; height: 100%; background-color: #10b48e; }
    #dogs img { position: absolute; width: 100%; height: 100%; object-fit: contain; top: 0; left: 0; image-rendering: pixelated }
    <div id="dogs"><img src="/content/096e9f8769da3ef3c2d7c14967bd1e0c0047632a08db5d74d0f7ff2815c84a51i0" alt="skin"><img src="/content/9a5a67fee72686dbf9d25effe5d3e85deeaa20a9c644ff7bf706fa21b2f3c587i0" alt="mouth"><img src="/content/859e9257014fad8a3966e7d7a9a2d725d0fa7df48c6708c870e554b811d9ff2ai0" alt="eye"><img src="/content/6595b431787d449e189fe17deb290200973190a91615935ece9a2f904a390217i0" alt="cloth"><img src="/content/e66d1164bc4c11eaf808f775d77697d2e139f1a9b49615a549f4dfa03e0f6b27i0" alt="necklace"><imLtg src="/content/7b98cd5ccf97455b38571c369f4a129167d2b32a1698eae5ba831683b4db493bi0" alt="hat"></div>
text/html;charset=utf-8
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport"content="width=device-width, initial-scale=1.0">
    body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
    #dogs { position: relative; width: 100%; height: 100%; background-color: #fea03c; }
    #dogs img { position: absolute; width: 100%; height: 100%; object-fit: contain; top: 0; left: 0; image-rendering: pixelated }
    <div id="dogs"><img src="/content/60b517756ff81369ac1d20cd5315adc022a57b1d31c1e1def5d701e7f2fdfd5di0" alt="skin"><img src="/content/b504eeb8a47271fa832a555c8e592af653616c5cde4c554642d0709a45a6737ci0" alt="mouth"><img src="/content/8dd5feccbf8148737fd0065103d28d7912186d390c64e05a790c27acb9fbff5bi0" alt="eye"><img src="/content/6fe9ee1816daa01d137f15d620a82c9e01faca6d343bdee67bc199f036bfc007i0" alt="cloth"><img src="/content/791d6b9522ef1a49ff7a29b777e0a20b255d20f9febca6cf574ac47ddad89f2fi0" alt="necklace"><imLtg src="/content/7b98cd5ccf97455b38571c369f4a129167d2b32a1698eae5ba831683b4db493bi0" alt="hat"></div>
text/html;charset=utf-8
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport"content="width=device-width, initial-scale=1.0">
    body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
    #dogs { position: relative; width: 100%; height: 100%; background-color: #313c47; }
    #dogs img { position: absolute; width: 100%; height: 100%; object-fit: contain; top: 0; left: 0; image-rendering: pixelated }
    <div id="dogs"><img src="/content/0d247abfe75edd4d5e691aacb9f063785f69e54c9b4d911e64cd4a10497ade0ai0" alt="skin"><img src="/content/3ced8d2358c0140c6344b5a23d7b8d84d0939a1e17edba56d4826b47ff8a9bb8i0" alt="mouth"><img src="/content/b26315456dfac33d2a7d930d2982c4fdf2d836e6f8fe56122a2ad0c001450d44i0" alt="eye"><img src="/content/76faf9dc147057c4ee4309811742a30623acc5cc63335246cb177c86e540e3cdi0" alt="cloth"><img src="/content/14abf295b50528708c0cf70c9f8eac1e5e61068021de7a5d98dee402e5ee4edci0" alt="necklace"><imLtg src="/content/5aa5bce6a1982d95512007554255503694ccba96330db9029deb33ff818a95d1i0" alt="hat"></div>
text/html;charset=utf-8
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport"content="width=device-width, initial-scale=1.0">
    body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
    #dogs { position: relative; width: 100%; height: 100%; background-color: #ca5b46; }
    #dogs img { position: absolute; width: 100%; height: 100%; object-fit: contain; top: 0; left: 0; image-rendering: pixelated }
    <div id="dogs"><img src="/content/04fabe7321ab92fdd07ceb23a628feaaaa555874014d727f399399258ccc8a75i0" alt="skin"><img src="/content/76b5eb6735354849c952210ac0033a921130ef37fceec31e20b14aaa39fd166fi0" alt="mouth"><img src="/content/f8cc310488d190a5311aac36150f6737f4224fcef94796ddf29544ac4b5c511ci0" alt="eye"><img src="/content/1a5a60ffc761f8350588c058d1a1bdd44380ad35c7089c17524379cce1d774d2i0" alt="cloth"><img src="/content/2b773fcb2cef8138b995b6618c66de0cedbeb0b6b5646db83534f318e5c990dfi0" alt="necklace"><imLtg src="/content/7ddebfc45abea3a86babb865d6868cf759efdec4f20f0aeeddbb92c29c85e6dei0" alt="hat"></div>
text/html;charset=utf-8
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport"content="width=device-width, initial-scale=1.0">
    body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
    #dogs { position: relative; width: 100%; height: 100%; background-color: #6f5e70; }
    #dogs img { position: absolute; width: 100%; height: 100%; object-fit: contain; top: 0; left: 0; image-rendering: pixelated }
    <div id="dogs"><img src="/content/0d247abfe75edd4d5e691aacb9f063785f69e54c9b4d911e64cd4a10497ade0ai0" alt="skin"><img src="/content/3d719a0ee0e773440b462a5078097842306b88551155d58227fc89d94643aee5i0" alt="mouth"><img src="/content/b0696725998053cdf096272795eb44a267bfe121f4b76ffd9cf871e030a55b4ei0" alt="eye"><img src="/content/29d41c98d14fdcbbd72d1daf81240b496ca001d88777cd91d30bb006a3daf355i0" alt="cloth"><img src="/content/a2e720484a8604d068fe3c843b5eaed113919a0133b46d64bdc3041d4e166004i0" alt="necklace"><imLtg src="/content/df60407e6d62af372aa29e8cacb7137579ac641e3a0cac7898b4bfa3a69bf253i0" alt="hat"></div>
text/html;charset=utf-8
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport"content="width=device-width, initial-scale=1.0">
    body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
    #dogs { position: relative; width: 100%; height: 100%; background-color: #10b48e; }
    #dogs img { position: absolute; width: 100%; height: 100%; object-fit: contain; top: 0; left: 0; image-rendering: pixelated }
    <div id="dogs"><img src="/content/96dfde42bd644a539263395f1d505e5b1c36c3942367ab6834ef16edf1fd0b68i0" alt="skin"><img src="/content/348e6766bf969ab578ab8273b27c3ec84220c5afa512ef58380281c3a5491fa9i0" alt="mouth"><img src="/content/d561ee39f10fea4d261fc6b1050c855cc53f21166039b0ab32789c546e899bfbi0" alt="eye"><img src="/content/723905a5241b64ba9ac6d2800fbc0e6af7a74fd29fe92d50b8606ef8153984e1i0" alt="cloth"><img src="/content/a2e720484a8604d068fe3c843b5eaed113919a0133b46d64bdc3041d4e166004i0" alt="necklace"><imLtg src="/content/f2e2f86e54eeab592cfb6170b937ae654f4d6c6e875857404098ba34d8e8df8ci0" alt="hat"></div>
text/html;charset=utf-8
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport"content="width=device-width, initial-scale=1.0">
    body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
    #dogs { position: relative; width: 100%; height: 100%; background-color: #db778a; }
    #dogs img { position: absolute; width: 100%; height: 100%; object-fit: contain; top: 0; left: 0; image-rendering: pixelated }
    <div id="dogs"><img src="/content/b54002bc4155b60fa00528d59fcb7e16a8f57b0c084e0114047442adf752f3f1i0" alt="skin"><img src="/content/3ffd15a792a49267a3640a55aeffe1b701f03819123c6f9bb86571d52276b8f6i0" alt="mouth"><img src="/content/55b584d75db867bc59a096706b36da2c08785d2db8f59f6e808b490f4e936b99i0" alt="eye"><img src="/content/534c67d1854ca9f78ee53268612231a98ec57d7f8e48d7da1a83de25b3d65735i0" alt="cloth"><img src="/content/a6bf2f1cd63cda5f01b2966c5180a163741b1014da03ab8a7e6d68a29a1da506i0" alt="necklace"><imLtg src="/content/988835cc9e90c6ccabc34f5d1b4f44abadf251f3b3f528d7e6a0c76f5d6090f4i0" alt="hat"></div>
text/html;charset=utf-8
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport"content="width=device-width, initial-scale=1.0">
    body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
    #dogs { position: relative; width: 100%; height: 100%; background-color: #ca5b46; }
    #dogs img { position: absolute; width: 100%; height: 100%; object-fit: contain; top: 0; left: 0; image-rendering: pixelated }
    <div id="dogs"><img src="/content/0d247abfe75edd4d5e691aacb9f063785f69e54c9b4d911e64cd4a10497ade0ai0" alt="skin"><img src="/content/e0866bd970c13055d66b076540f93336f7c525a1b522140abacdb66db3a93f4ai0" alt="mouth"><img src="/content/94f9db2286301c9336f8610ed58ad585f3c77331d8ddcd0a1b81435e2c0d12cdi0" alt="eye"><img src="/content/1a5a60ffc761f8350588c058d1a1bdd44380ad35c7089c17524379cce1d774d2i0" alt="cloth"><img src="/content/94c3e6081bab6d478c0ab8e8473e63cb2f62c8f434ed2ccb6f02811b13175397i0" alt="necklace"><imLtg src="/content/d4c022c092c6f3e51ff5388efe3e90a0469270896e3fe15fdb80fd19bde18a1di0" alt="hat"></div>
text/html;charset=utf-8
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport"content="width=device-width, initial-scale=1.0">
    body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
    #dogs { position: relative; width: 100%; height: 100%; background-color: #3a677c; }
    #dogs img { position: absolute; width: 100%; height: 100%; object-fit: contain; top: 0; left: 0; image-rendering: pixelated }
    <div id="dogs"><img src="/content/1fa3cd13c3122270da36add27d7126ede61d10f13a7dd089c21021181ed87aabi0" alt="skin"><img src="/content/b504eeb8a47271fa832a555c8e592af653616c5cde4c554642d0709a45a6737ci0" alt="mouth"><img src="/content/8dd5feccbf8148737fd0065103d28d7912186d390c64e05a790c27acb9fbff5bi0" alt="eye"><img src="/content/9173bc6cef2dffe5ce33de90ed2bcf461aa05ed1e77c0951e0a9ad6ad7559ff3i0" alt="cloth"><img src="/content/3741f665f73a15af3acf7be32a070589fb7d0f5f7365e2fcbe4f204e12bc9d8ai0" alt="necklace"><imLtg src="/content/3a637dae63689ea762c9e49c44a45ebe4b694db8ed581b1c8d2331b93909cdd6i0" alt="hat"></div>
text/plain;charset=utf-8
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
 "concurrent-queue",
 "pin-project-lite",
name = "event-listener-strategy"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 "event-listener 4.0.0",
 "pin-project-lite",
name = "executable-path"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ebc5a6d89e3c90b84e8f33c8737933dda8f1c106b5415900b38b9d433841478"
source = "registry+https://github.com/rust-lang/crates.io-index"
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
J{"p":"brc-20","op":"transfer","amt":"14.000000000000000000","tick":"hotx"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
msgid "Syncing the Bitcoin Blockchain"
msgstr "Pag-synchronize ng Bitcoin Blockchain"
#: src/guides/inscriptions.md:75
msgid "To sync the chain, run:"
msgstr "Upang i-sync ang blockchain patakbuhin ang sumusunod na command"
#: src/guides/inscriptions.md:81
and leave it running until `getblockcount`:"
at hayaan itong tumakbo hanggang sa `getblockcount`:"
#: src/guides/inscriptions.md:87
"agrees with the block count on a block explorer like [the mempool.space "
"block explorer](https:M
//mempool.space/). `ord` interacts with `bitcoind`, so "
"you should leave `bitcoind` running in the background when you're using "
"tumutugma sa bilang ng mga bloke tulad nalamang ng [mempool.space block "
"explorer](https://mempool.space/). Nakikipag-ugnayan ang `ord` sa "
"`bitcoind`, kaya dapat mong iwanan ang `bitcoind` na tumatakbo sa background "
"kapag gumagamit ng `ord`."
#: src/guides/inscriptions.md:91
"The blockchain takes about 600GB of disk space. If you have an external "
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
J{"p":"brc-20","op":"transfer","amt":"17.000000000000000000","tick":"hotx"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
"out of Sparrow Wallet in a safe way. Please note that this is not "
"recommended, and you should only do this if you fully understand what you "
"Habang lubos na inirerekomenda na mag-set up ka ng bitcoin core node at "
"magpatakbo ng `ord` software, may ilang partikular na limitadong paraan na "
"maaari kang magpadala ng mga inskripsiyon mula sa Sparrow Wallet sa ligtas "
"na paraan. Pakitandaan na hindi ito inirerekomenda, at dapat mo lang gawin "
"ito kung lubos mong naiintindihan kung anM
o ang iyong ginagawa."
#: src/guides/collecting/sparrow-wallet.md:103
"Using the `ord` software will remove much of the complexity we are "
"describing here, as it is able to automatically and safely handle sending "
"inscriptions in an easy way."
"Ang paggamit ng `ord` software ay mag-aalis sa pagiging kumplikado sa "
"paglalarawan dito, dahil awtomatiko at ligtas nitong pangasiwaan ang "
"pagpapadala ng mga inskripsiyon sa madaling paraan."
#: src/guides/collecting/sparrow-wallet.md:105
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
#: src\guides/collecting/sparrow-wallet.md:8
#: src\guides/collecting/sparrow-wallet.md:9
msgid "As a general rule if you take this approach, you should use this wallet with the Sparrow software as a receive-only wallet."
#: src\guides/colleM
cting/sparrow-wallet.md:11
msgid "Do not spend any satoshis from this wallet unless you are sure you know what you are doing. You could very easily inadvertently lose access to your ordinals and inscriptions if you don't heed this warning."
#: src\guides/collecting/sparrow-wallet.md:13
msgid "Wallet Setup & Receiving"
#: src\guides/collecting/sparrow-wallet.md:15
msgid "Download the Sparrow Wallet from the [releases page](https://sparrowwallet.com/download/) for your particular operating system."
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"OXBT","amt":"42000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"SunL","amt":"30000000000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
{"p": "tap","op": "dmt-mint","dep": "4d967af36dcacd7e6199c39bda855d7b1b37268f4c8031fed5403a99ac57fe67i0","tick": "nat","blk": "819102"}h!
{"p": "tap","op": "dmt-mint","dep": "4d967af36dcacd7e6199c39bda855d7b1b37268f4c8031fed5403a99ac57fe67i0","tick": "nat","blk": "819104"}h!
text/plain;charset=utf-8
    .rpc_server(&rpc_server)
    .expected_exit_code(1)
    .stderr_regex("error: individual inscription destinations cannot be set in shared-output mode\n")
    .run_and_extract_stdout();
fn batch_inscribe_works_with_some_destinations_set_and_others_not() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  rpc_server.mine_blocks(1);
  assert_eq!(rpc_server.descriptors().len(), 0);
  create_wallet(&rpc_server);
  let output = CommandBuilder::new("wallet inscribe --batch batch.yaml --fee-rate 55")
  .write("inscription.txt", "Hello World")
    .write("tulip.png", [0; 555])
    .write("meow.wav", [0; 2048])
      "mode: separate-outputs\ninscriptions:\n- file: inscription.txt\n  destination: bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4\n- file: tulip.png\n- file: meow.wav\n  destination: bc1pxwww0ct9ue7e8tdnlmug5m2tamfn7q06sahstg39ys4c9f3340qqxrdu9k\n"
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Inscribe>();
  rpc_server.mine_blocks(1);
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
msgid "`ord --enable-json-api server`"
msgstr "`ord --enable-json-api server`"
#: src/guides/explorer.md:22
msgid "To test how your inscriptions will look you can run:"
msgstr "Maaring i-test ang iyong inscriptions gamit naman ang:"
#: src/guides/explorer.md:24
msgid "`ord preview <FILE1> <FILE2> ...`"
msgstr "`ord preview <FILE1> <FILE2> ...`"
#: src/guides/explorer.md:26
#: src/guides/explorer.md:29
msgid "The search box accepts a variety of object representations."
tanggap ng paghahanap ng iba't ibang representasyon ng object."
#: src/guides/explorer.md:31
#: src/guides/explorer.md:33
msgid "Blocks can be searched by hash, for example, the genesis block:"
"Maaaring hanapin ang mga block sa pamamagitan ng hash, halimbawa, ang "
#: src/guides/explorer.md:35
"[000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f](https://"
"search/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3
text/plain;charset=utf-8
"I strive to follow this advice myself, and am always better off when I do."
o para seguir esse conselho e sempre fico melhor quando o fa
#: src/contributing.md:57
"Small changes are fast to write, review, and merge, which is much more fun "
"than laboring over a single giant PR that takes forever to write, review, "
"and merge. Small changes don't take much time, so if you need to stop "
"working on a small change, you won't have wasted much time as compared to a "
ger change that represents many hours of work. Getting a PR in quickly "
"improves the project a little bit immediately, instead of having to wait a "
"long time for larger improvement. Small changes are less likely to "
"accumulate merge conflict. As the Athenians said: _The fast commit what they "
"will, the slow merge what they must._"
pidas de escrever, revisar e mesclar, o que
"divertido do que trabalhar em uma
nica PR gigante que leva uma eternidade para
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
    Timestamp, WalletTxInfo,
  jsonrpc_core::{IoHandler, Value},
  jsonrpc_http_server::{CloseHandle, ServerBuilder},
  serde::{Deserialize, Serialize},
    collections::{BTreeMap, BTreeSet, HashMap},
    sync::{Arc, Mutex, MutexGuard},
pub fn builder() -> Builder {
    fail_lock_unspent: false,
    network: Network::Bitcoin,
    version: 240000,
pub struct Builder {
  pub fn fail_lock_unspent(self, fail_lock_unspent: bool) -> Self {
      fail_lock_unspent,
  pub fn network(self, network: Network) -> Self {
    Self { network, ..self }
  pub fn version(self, version: usize) -> Self {
    Self { version, ..self }
  pub fn build(self) -> Handle {
    let state = Arc::new(Mutex::new(State::new(
      self.fail_lock_unspent,
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"domo","amt":"2000"}h!
text/plain;charset=utf-8
"Mga generative na koleksyon ng profile picture kung saan ang mga accessory "
"at attribute ay naka-inscribe bilang mga indibidwal na larawan, o sa isang "
"shared texture atlas, at pagkatapos ay pinagsama, parang collage, na may "
"kanya kanyang combinasyon."
#: src/inscriptions/recursion.md:23
msgid "A few other endpoints that inscriptions may access are the following:"
"Ang ilan pang mga endpoint na maaaring ma-access ng mga inskripsiyon ay ang "
#: src/inscriptions/recursiM
msgid "`/blockheight`: latest block height."
msgstr "`/blockheight`: pinakabagong block height."
#: src/inscriptions/recursion.md:26
msgid "`/blockhash`: latest block hash."
msgstr "`/blockhash`: pinakabagong block hash."
#: src/inscriptions/recursion.md:27
msgid "`/blockhash/<HEIGHT>`: block hash at given block height."
msgstr "`/blockhash/<HEIGHT>`: block hash sa ibinigay na block height."
#: src/inscriptions/recursion.md:28
msgid "`/blocktime`: UNIX time stamp of latest block."
msgstr "`/blocktime`: (UNIX time stamp ng pinakabagong block."
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
- Use bitcoin core node for integration tests (#263)
- List transaction outputs (#292)
- Add `/output/:outpoint` endpoint (#293)
- Add /range/:start/:end endpoint (#291)
- Move /list endpoint to /api/list (#288)
- List block transactions at `/block/:hash` (#286)
- Display ordinals at `/ordinal/:ordinal` (#287)
- Wait for bitcoind and ord to become available (#285)
- List blocks on root page (#276)
- Remove user-facing list page (#275)
- Add network option (#274)
- Serve HTTPS with ACME certs (#256)
functionality (#270)
- Revise homepage (#268)
- Link to blog post (#267)
- Use hour, minute, second, and third terminology (#262)
- Allow passing ordinals in degree and decimal notation (#261)
- Update dependencies (#258)
- Make genesis sat mythic (#260)
- Overhaul traits (#255)
- Clarify duplicate transaction rule in BIP (#254)
- Add justfile with commands for moving ordinals around manually (#238)
- Add links to discord server (#237)
- Make `nft verify` take input as argume
text/plain;charset=utf-8
use {super::*, ord::subcommand::epochs::Output, ord::Sat};
    CommandBuilder::new("epochs").run_and_deserialize_output::<Output>(),
      starting_sats: vec![
        Sat(1050000000000000),
        Sat(1575000000000000),
        Sat(1837500000000000),
        Sat(1968750000000000),
        Sat(2034375000000000),
        Sat(2067187500000000),
        Sat(2083593750000000),
        Sat(2091796875000000),
        Sat(2095898437500000),
        Sat(2098974609270000),
        Sat(2099487304530000),
        Sat(2099743652160000),
        Sat(2099871825870000),
        Sat(2099935912620000),
        Sat(2099967955890000),
        Sat(2099983977420000),
        Sat(2099991988080000),
        Sat(2099995993410000),
        Sat(2099997995970000),
        Sat(2099998997250000),
        Sat(2099999497890000),
        Sat(2099999748210000),
        Sat(2099999873370000),
        Sat(2099999935950000),
        Sat(2099999967240000),
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
name = "strum_macros"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
"What are digital artifacts? Simply put, they are the digital equivalent of "
"physical artifacts."
#: src/digital-artifacts.md:21
"For a digital thing to be a digital artifact, it must be like that coin of "
#: src/digital-artifacts.md:24
s can have owners. A number is not a digital artifact, "
"because nobody can own it."
#: src/digital-artifacts.md:27
"Digital artifacts are complete. An NFT that points to off-chain content on "
"IPFS or Arweave is incomplete, and thus not a digital artifact."
#: src/digital-artifacts.md:30
"Digital artifacts are permissionless. An NFT which cannot be sold without "
"paying a royalty is not permissionless, and thus not a digital artifact."
#: src/digital-artifacts.md:33
text/plain;charset=utf-8
"[000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f](https://"
"search/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f)"
#: src/guides/explorer.md:37
msgid "Transactions"
msgstr "Transactions"
#: src/guides/explorer.md:39
"Transactions can be searched by hash, for example, the genesis block "
"coinbase transaction:"
"Maaaring hanapin ang mga transaksyon sa pamamagitan ng hash, halimbawa, ang "
"genesis block coinbase na transaksyon:"
 src/guides/explorer.md:42
"[4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b](https://"
"search/4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b)"
"[4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b](https://"
"search/4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b)"
#: src/guides/explorer.md:44
#: src/guides/explorer.md:46
"Transaction outputs can searched ,by outpoint, for example, the only output "
text/plain;charset=utf-8
3{"p":"brc-20","op":"mint","tick":"eorb","amt":"10"}h!
text/plain;charset=utf-8
    blockdata::{opcodes, script, script::PushBytesBuf},
    ScriptBuf, Witness,
  pretty_assertions::assert_eq as pretty_assert_eq,
  test_bitcoincore_rpc::TransactionTemplate,
  unindent::Unindent,
macro_rules! assert_regex_match {
  ($value:expr, $pattern:expr $(,)?) => {
    let regex = Regex::new(&format!("^(?s){}$", $pattern)).unwrap();
    let string = $value.to_string();
    if !regex.is_match(string.as_ref()) {
did not match string:\n\n{}",
        regex, string
macro_rules! assert_matches {
  ($expression:expr, $( $pattern:pat_param )|+ $( if $guard:expr )? $(,)?) => {
    match $expression {
      $( $pattern )|+ $( if $guard )? => {}
      left => panic!(
        "assertion failed: (left ~= right)\n  left: `{:?}`\n right: `{}`",
        stringify!($($pattern)|+ $(if $guard)?)
pub(crate) fn blockhash(n: u64) -> BlockHash {
  let hex = format!("{n:x}");
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/plain;charset=utf-8
"which targets a popular and proven use case, NFTs, which makes it highly "
"Las inscripciones tambi
n contrarrestan la narrativa de que no se puede ampliar o usar "
"Bitcoin para nuevos casos de uso. Si sigues proyectos como DLCs, Fedimint, "
"Lightning, Taro y RGB, sabes que esta narrativa es falsa, pero las "
"inscripciones proporcionan un contraargumento que es f
cil de entender y que apunta a un caso de uso popular y que ha sido utilizado, NFTs, lo que lo hace muy atractivo."
"If inscriptions prove, as the authors hope, to be highly sought after "
"digital artifacts with a rich history, they will serve as a powerful hook "
"for Bitcoin adoption: come for the fun, rich art, stay for the decentralized "
"Si las inscripciones se demuestran, como esperan los autores, ser artefactos "
"digitales muy buscados con una historia rica, servir
n como un poderoso gancho para la adopci
n de Bitcoin: ven por el arte divertido, qu
date por el dinero digit
al descentralizado."
text/plain;charset=utf-8
        buffer.as_slice(),
    // increment entries with burned runes
    for (id, amount) in burned {
      let id = RuneId::try_from(id).unwrap().store();
      let mut entry = RuneEntry::load(self.id_to_entry.get(id)?.unwrap().value());
      entry.burned += amount;
      self.id_to_entry.insert(id, entry.store())?;
  fn claim_from_id() {
    assert_eq!(claim(1), None);
    assert_eq!(claim(1
 | CLAIM_BIT), Some(1));
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
  fn inscription_with_known_type_and_no_body_has_unknown_preview() {
    let server = TestServer::new_with_regtest_with_index_sats();
    server.mine_blocks(1);
    let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
        Inscription::new(Some("image/png".as_bytes().to_vec()), None).to_witness(),
      ..Default::default()
    let inscription_id = InscriptionId { txid, index: 0 };
    server.mine_bloM
    server.assert_response(
      format!("/preview/{inscription_id}"),
      StatusCode::OK,
      &fs::read_to_string("templates/preview-unknown.html").unwrap(),
  fn content_responses_have_cache_control_headers() {
    let server = TestServer::new_with_regtest();
    server.mine_blocks(1);
    let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
      inputs: &[(1, 0, 0, inscription("text/foo", "hello").to_witness())],
      ..Default::default()
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
viTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c145 79.163499, 2018/08/13-16:40:22        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginM
alDocumentID="xmp.did:2a208043-1367-5d45-82ef-001941732b36" xmpMM:DocumentID="xmp.did:F8DBEECF64F011EEB60E9C6E323120C0" xmpMM:InstanceID="xmp.iid:F8DBEECE64F011EEB60E9C6E323120C0" xmp:CreatorTool="Adobe Photoshop CC 2019 (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:b304e028-62dd-c841-b64a-6f5c3de58cca" stRef:documentID="xmp.did:2a208043-1367-5d45-82ef-001941732b36"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
"[ordinals.com](https://ordinals.com) to validate that it has moved to the "
"new output location and address."
"Cuando la transacci
n haya sido confirmada, puedes revisar la p
"de inscripciones en [ordinals.com](https://ordinals.com/) para confirmar que "
"ha sido movida a la nueva ubicaci
n de salida y direcci
#: src/guides/collecting/sparrow-wallet.md:173
msgid "Troubleshooting"
#: src/guides/collecting/sparrow-wallet.md:175
"Sparrow wallet is nM
ot showing a transaction/UTXO, but I can see it on "
El monedero Sparrow no est
 mostrando una transacci
n/UTXO, pero puedo "
"verla en mempool.space!"
#: src/guides/collecting/sparrow-wallet.md:177
"Make sure that your wallet is connected to a bitcoin node. To validate this, "
"head into the `Preferences`\\-> `Server` settings, and click `Edit Existing "
rate de que tu monedero est
 conectado a un nodo de bitcoin. Para validar esto, "
text/plain;charset=utf-8
"must be displayed as \"unbound\", that is, without a location."
#: src/inscriptions.md:93
msgid "Odd tags are used for fields which do not affect creation, initial assignment, or transfer, such as additional metadata, and thus are safe to ignore."
#: src/inscriptions.md:96
msgid "Inscription IDs"
#: src/inscriptions.md:99
msgid "The inscriptions are contained within the inputs of a reveal transaction. In order to uniquely identify them they are assigned an ID of the form:"
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
{"p": "tap","op": "dmt-mint","dep": "4d967af36dcacd7e6199c39bda855d7b1b37268f4c8031fed5403a99ac57fe67i0","tick": "nat","blk": "819103"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"sats","amt":"400000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"zbit","amt":"777"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/html;charset=utf-8
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport"content="width=device-width, initial-scale=1.0">
    body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
    #dogs { position: relative; width: 100%; height: 100%; background-color: #cdcdcd; }
    #dogs img { position: absolute; width: 100%; height: 100%; object-fit: contain; top: 0; left: 0; image-rendering: pixelated }
    <div id="dogs"><img src="/content/2dacd962c6b418095f9152275e99a92c9db873c2a5f6b9645debe4e1c0c5e0c9i0" alt="skin"><img src="/content/a84b330ebd99e46fe1cc0482789ad183a31a5484794ddacd63ab8fa443e027f2i0" alt="mouth"><img src="/content/66689c57ce62d36cf8b1ddfd75af12545df6e3ad16cb982b0b560c3cac6cbbcdi0" alt="eye"><img src="/content/6c0dd84fa3dded46fbf72f9dbac5171884477e0fd3de26103f3c5fe4296ec96bi0" alt="cloth"><img src="/content/8a5dbf6ff081135d4dba2da77d828f5b277d2a7a4bf59408986d019f137c5039i0" alt="necklace"><imLtg src="/content/bd329cf070580d307efc59d0ad45828bbc5d0d2cec039638df6b7bcf2ccc56b6i0" alt="hat"></div>
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
text/plain;charset=utf-8
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2d684d1b59e0dc07b37e2203ef576987473288f530082512aff850585c61b1f"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
source = "registry+https://github.com/rusM
t-lang/crates.io-index"
checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "608e7659b5c3d7cba262d-894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
text/html;charset=utf-8
    <html lang="en"><head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
    #Monkey img { position: absolute; width: 100%; height: 100%; object-fit: contain; top: 0; left: 0; }
    <div id="Monkey">
        <img src="/content/5fe9cb24da21cd285124bcbf9acb75a6365359a693cad575d5dfff4a8eef8ed1i0" alt="backgrouM
        <img src="/content/39ee2775d8802a2e4e80aaa848834230a16b3b0e0b8c123629b43836a945969ai0" alt="element">
        <img src="/content/34620f987752e769aa3866d5255e9f66846ccad9d427221428987861e1a87132i0" alt="body">
        <img src="/content/91df04f8d37b214953eeabb678e8066cf9d0639b142bd0ca5de3ce60f661771bi0" alt="face">
        <img src="/content/306483c861b501e2a945a6cca912d2f5beb37e0806fb6ac40d055ab389100011i0" alt="eyes">
        <img src="/content/659ba5cca7cc02ab44d534ef8ff393d14f9b6375b715396d0998853eeM
9b64c6bi0" alt="clothes">
        <img src="/content/6853c9bab5e5b549e21961278dcdc5fc2bdd4f74606d5eb24d6809daad588bc8i0" alt="hat">
        <img src="/content/fa9f0ba8724ec3bb0880019078e13fa9a6d4a6142b3b1de2f472051d2cae0ef9i0" alt="mouth">
text/html;charset=utf-8
    <html lang="en"><head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
    #Monkey img { position: absolute; width: 100%; height: 100%; object-fit: contain; top: 0; left: 0; }
    <div id="Monkey">
        <img src="/content/ff340b0b1d8e24823b6706bb94ab19496b356a8f76f44b685bf02362917e1987i0" alt="backgrouM
        <img src="/content/20583609702ac2621a0a430d4af80464f6deee32b87090ed0f97344c15564eeci0" alt="element">
        <img src="/content/34620f987752e769aa3866d5255e9f66846ccad9d427221428987861e1a87132i0" alt="body">
        <img src="/content/91df04f8d37b214953eeabb678e8066cf9d0639b142bd0ca5de3ce60f661771bi0" alt="face">
        <img src="/content/512b2391e60ad35e460c0f752926a3f9284585b158e0b3b3b626ebd454b2b01ai0" alt="eyes">
        <img src="/content/524d9a21cc18cee052c7fd2cdec1d033397905e15e99e206968be8837M
b127007i0" alt="clothes">
        <img src="/content/6853c9bab5e5b549e21961278dcdc5fc2bdd4f74606d5eb24d6809daad588bc8i0" alt="hat">
        <img src="/content/fca3cd2a8807157dab9d159c326b46a340cb2d14badd853a78d04e574fcedff9i0" alt="mouth">
text/plain;charset=utf-8
 "concurrent-queue",
 "futures-lite 1.13.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
 "event-listener 2.5.3",
source = "registry+https://github.com/rust-lang/crates.io-index"
 "dea8b3453dd7cc96711834b75400d671b73e3656975fa68d9f277163b7f7e316"
 "event-listener 4.0.0",
 "event-listener-strategy",
 "pin-project-lite",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0434b1ed18ce1cf5769b8ac540e33f01fa9471058b5e89da9e06f3c882a8c12f"
 "futures-lite 1.13.0",
source = "registry+https://github.com/rust-lan
text/plain;charset=utf-8
#[derive(Debug, PartialEq, Serialize, Deserialize)]
  pub last_mined_in_block: u32,
pub(crate) fn run() -> SubcommandResult {
    if Height(last + 1).subsidy() == 0 {
  Ok(Box::new(Output {
    supply: Sat::SUPPLY,
    last: Sat::SUPPLY - 1,
    last_mined_in_block: last,
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"0001","amt":"200000"}h!
text/plain;charset=utf-8
"What are digital artifacts? Simply put, they are the digital equivalent of "
"physical artifacts."
#: src/digital-artifacts.md:21
"For a digital thing to be a digital artifact, it must be like that coin of "
#: src/digital-artifacts.md:24
s can have owners. A number is not a digital artifact, "
"because nobody can own it."
#: src/digital-artifacts.md:27
"Digital artifacts are complete. An NFT that points to off-chain content on "
"IPFS or Arweave is incomplete, and thus not a digital artifact."
#: src/digital-artifacts.md:30
"Digital artifacts are permissionless. An NFT which cannot be sold without "
"paying a royalty is not permissionless, and thus not a digital artifact."
#: src/digital-artifacts.md:33
J{"p":"brc-20","op":"transfer","amt":"11.000000000000000000","tick":"hotx"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"DDMI","amt":"10000000000"}h!
J{"p":"brc-20","op":"transfer","amt":"14.000000000000000000","tick":"hotx"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
>{"p":"brc-20","op":"transfer","tick":"SATS","amt":"600000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"eorb","amt":"10"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
text/plain;charset=utf-8
#[derive(Boilerplate)]
pub(crate) struct SatHtml {
  pub(crate) sat: Sat,
  pub(crate) satpoint: Option<SatPoint>,
  pub(crate) blocktime: Blocktime,
  pub(crate) inscriptions: Vec<InscriptionId>,
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub struct SatJson {
  pub decimal: String,
  pub degree: String,
  pub rarity: Rarity,
  pub percentile: String,
tpoint: Option<SatPoint>,
  pub timestamp: i64,
  pub inscriptions: Vec<InscriptionId>,
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub struct SatInscriptionsJson {
  pub ids: Vec<InscriptionId>,
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub struct SatInscriptionJson {
  pub id: Option<InscriptionId>,
impl PageContent for SatHtml {
  fn title(&self) -> String {
    format!("Sat {}", self.sat)
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
text/plain;charset=utf-8
    let reveal_address = recipient();
    let (_commit_tx, reveal_tx, _private_key, _) = Batch {
      parent_info: None,
      inscriptions: vec![inscription],
      destinations: vec![reveal_address],
      commit_fee_rate: FeeRate::try_from(1.0).unwrap(),
      reveal_fee_rate: FeeRate::try_from(1.0).unwrap(),
      no_limit: true,
      reinscribe: false,
      postage: TransactionBuilder::TARGET_POSTAGE,
      mode: Mode::SharedOutput,
      ..Default::default()
    .create_batch_inscripM
      BTreeMap::new(),
      Chain::Mainnet,
      BTreeSet::new(),
      utxos.into_iter().collect(),
      [commit_address, change(1)],
    assert!(reveal_tx.size() >= MAX_STANDARD_TX_WEIGHT as usize);
  fn cbor_and_json_metadata_flags_conflict() {
    assert_regex_match!(
      Arguments::try_parse_from([
        "--cbor-metadata",
        "--json-metadata",
text/plain;charset=utf-8
"inevitability of the mathematics of Bitcoin, stemming not from their modern "
"documentation, but from their ancient genesis. They are the culmination of a "
"sequence of events set in motion with the mining of the first block, so many "
es independentes de Ordinals indicam de alguma forma que os Ordinals"
"foram descobertos, ou redescobertos, e n
o inventados. Os Ordinals s
"inevitabilidade da matem
o decorrente de sua "
o o resultado de uma "
ncia de eventos desencadeados com a minera
o do primeiro bloco, tantos "
#: src/digital-artifacts.md:4
"Imagine a physical artifact. A rare coin, say, held safe for untold years in "
"the dark, secret clutch of a Viking hoard, now dug from the earth by your "
"Imagine um artefato f
sico. Uma moeda rara, digamos, mantida em seguran
"um esconderijo escuro e se@creto de um tesouro viking, agora escavado na terra pelas suas"
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
J{"p":"brc-20","op":"transfer","amt":"14.000000000000000000","tick":"hotx"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"RDEX","amt":"10000"}h!
text/plain;charset=utf-8
name = "tower-layer"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
name = "tower-service"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
source = "registry+https://github.com/rust-lang/crates.io-index"
c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 "pin-project-lite",
name = "tracing-core"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3528ecfd12c466c6f163363caf2d02a71!161dd5e1cc6ae7b34207ea2d42d81ed"
text/plain;charset=utf-8
  .rpc_server(&rpc_server)
  .run_and_deserialize_output::<Output>();
  let tx = &rpc_server.mempool()[0];
  for input in &tx.input {
    fee += rpc_server
      .get_utxo_amount(&input.previous_output)
  for output in &tx.output {
    fee -= output.value;
  let fee_rate = fee as f64 / tx.vsize() as f64;
  assert!(f64::abs(fee_rate - 13.3) < 0.1);
    output.transaction,
    "00000000000000000000000000000000000000000000000000000000000M
    rpc_server.sent(),
      address: "bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4"
        .parse::<Address<NetworkUnchecked>>()
        .assume_checked(),
      locked: Vec::new(),
fn send_btc_locks_inscriptions() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  create_wallet(&rpc_server);
  rpc_server.mine_blocks(1);
  let (_, reveal) = inscribe(&rpc_server);
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
text/plain;charset=utf-8
"This handbook is a guide to ordinal theory. Ordinal theory concerns itself "
"with satoshis, giving them individual identities and allowing them to be "
"tracked, transferred, and imbued with meaning."
#: /workspaces/ord_ko/docs/src/introduction.md:8
"Satoshis, not bitcoin, are the atomic, native currency of the Bitcoin "
"network. One bitcoin can be sub-divided into 100,000,000 satoshis, but no "
#: /workspaces/ord_ko/docs/src/introduction.md:11
"Ordinal theory does not require a M
sidechain or token aside from Bitcoin, and "
"can be used without any changes to the Bitcoin network. It works right now."
#: /workspaces/ord_ko/docs/src/introduction.md:14
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
J{"p":"brc-20","op":"transfer","amt":"11.000000000000000000","tick":"hotx"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
J{"p":"brc-20","op":"transfer","amt":"13.000000000000000000","tick":"hotx"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCat","amt":"1000000"}h!
text/plain;charset=utf-8
 "pin-project-lite",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
 "pin-project-lite",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140"
 "async-compression",
 "http-range-header",
 "pin-project-lite",
 "tokio-util 0.7.10",
""""""""""""""""""""""""""""""""S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
33333333333333333333333333333333S
33333333333333333333333333333333S
33333333333333333333333333333333S
33333333333333333333333333333333S
33333333333333333333333333333333S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
""""""""""""""""""""""""""""""""S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ordi","amt":"10"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
"mediawiki) for the technical details, and the [ord repo](https://github.com/"
"ordinals/ord) for the `ord` wallet and block explorer."
"github.com/ordinals/ord/blob/master/bip.mediawiki)
"repo](https://github.com/ordinals/ord)
#: src/bounties.md:14
"Satoshi was the original developer of ordinal theory. However, he knewM
"others would consider it heretical and dangerous, so he hid his knowledge, "
"and it was lost to the sands of time. This potent theory is only now being "
"rediscovered. You can help by researching rare satoshis."
#: src/bounties.md:19
msgid "Good luck and godspeed!"
#: src/bounty/0.md:1
msgid "Ordinal Bounty 0"
#: src/bounty/0.md:4 src/bounty/1.md:4 src/bounty/2.md:4 src/bounty/3.md:4
#: src/bounty/0.md:7
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
"and especially early ordinals, are certainly of historical interest."
"Por outro lado, por
m, os Ordinals foram de fato criados por Satoshi Nakamoto "
"em 2009, quando ele extraiu o bloco G
nesis do Bitcoin. Nesse sentido, Ordinals, ",
"e especialmente os primeiros Ordinals, s
o certamente de interesse hist
#: src/overview.md:251
"Many ordinal theorists favor the latter view. This is not least because the "
"ordinals were independently discovered on at least two separate occasions, "M
"long before the era of modern NFTs began."
ricos de Ordinals favorecem este
"Ordinals foram descobertos independentemente em pelo menos duas ocasi
cio da era dos NFTs modernos."
#: src/overview.md:255
"On August 21st, 2012, Charlie Lee [posted a proposal to add proof-of-stake "
"to Bitcoin to the Bitcoin Talk "
"forum](https://bitcointalk.org/index.php?topic=102355.0). This wasn't an "
"asset scheme, but did use the ord*inal algorithm, and was implemented but "
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
    server.assert_response_regex(
      format!("/preview/{inscription_id}"),
      StatusCode::OK,
      format!(r".*<audio .*>\s*<source src=/content/{inscription_id}>.*"),
  fn font_preview() {
    let server = TestServer::new_with_regtest();
    server.mine_blocks(1);
    let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
      inputs: &[(1, 0, 0, inscription("font/ttf", "hello").to_witness())],
      ..Default::default()
    let inscription_id = InscriptionIM
d { txid, index: 0 };
    server.mine_blocks(1);
    server.assert_response_regex(
      format!("/preview/{inscription_id}"),
      StatusCode::OK,
      format!(r".*src: url\(/content/{inscription_id}\).*"),
  fn pdf_preview() {
    let server = TestServer::new_with_regtest();
    server.mine_blocks(1);
    let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
        inscription("application/pdf", "hello").to_witness(),
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
5{"p":"brc-20","tick":"mice","op":"mint","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","tick":"mice","op":"mint","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
J{"p":"brc-20","op":"transfer","amt":"13.000000000000000000","tick":"hotx"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
    fn new() -> Self {
      Self::new_with_args(&[], &[])
    fn new_with_sat_index() -> Self {
      Self::new_with_args(&["--index-sats"], &[])
    fn new_with_args(ord_args: &[&str], server_args: &[&str]) -> Self {
      Self::new_server(test_bitcoincore_rpc::spawn(), None, ord_args, server_args)
    fn new_with_regtest() -> Self {
      Self::new_server(
        test_bitcoincore_rpc::builder()
          .network(bitcoin::network::constants::Network::Regtest)
        &["--chain", "regtest"],
    fn new_with_regtest_with_json_api() -> Self {
      Self::new_server(
        test_bitcoincore_rpc::builder()
          .network(bitcoin::network::constants::Network::Regtest)
        &["--chain", "regtest"],
        &["--enable-json-api"],
    fn new_with_regtest_with_index_sats() -> Self {
      Self::new_server(
        test_bitcoincore_rpc::builder()
          .network(bitcoin::Network::Regtest)
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
"This handbook is a guide to ordinal theory. Ordinal theory concerns itself "
"with satoshis, giving them individual identities and allowing them to be "
"tracked, transferred, and imbued with meaning."
#: /workspaces/ord_ko/docs/src/introduction.md:8
"Satoshis, not bitcoin, are the atomic, native currency of the Bitcoin "
"network. One bitcoin can be sub-divided into 100,000,000 satoshis, but no "
#: /workspaces/ord_ko/docs/src/introduction.md:11
"Ordinal theory does not require a M
sidechain or token aside from Bitcoin, and "
"can be used without any changes to the Bitcoin network. It works right now."
#: /workspaces/ord_ko/docs/src/introduction.md:14
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"RDEX","amt":"2000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"10bf5231bd0334ecd2f41989328c23ef0a3dca9e983193f7a06bd62a3d1afefe","iid":"Pepega","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":898,"sig":"GzmwT6tiuJ7n/nny/tdRAPJsPpcU/XIgyFDrjiNKGvZmcYrxeTVTYNAOAvM2LBnpkAOlB+E4uh/x+wL6FBokw+A="}hA
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"DDMI","amt":"10000000000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/html;charset=utf-8
<!DOCTYPE html><html><head><script src="/content/f70eb401c30434e44360ff9a1c71c72cee3c3cc329ab7245246f4598bfd0c862i0"></script><style>body,html{min-height:100%}body{font-family:sans-serif;text-align:center;background:#3eb9ff;background-size:cover;color:#fff}#dosbox:hover .dosbox-start{opacity:1}#dosbox .dosbox-start{background-image:url(/content/14859fa9ebb59aac6fb3dcf0eaaf0c5969d7692012c69e2fdb5874663ff7d054i0);background-size:400px;background-position:center center;background-repeat:no-repeat;height:100%;image-renM
dering:pixelated;top:4%!important;color:#fff;opacity:1}.dosbox-powered{opacity:0}.dosbox-container{background:#3eb9ff;margin:10% auto 0 auto;width:100%;height:400px}.dosbox-container>.dosbox-overlay{background:#3eb9ff}.dosbox-loader,.dosbox-overlay{background-color:#3eb9ff!important}.dosbox-loader-message{opacity:0}.equal,.st-loader:after,.st-loader:before{border-color:#fff!important}button{background:#fdba02;border:0;padding:5px 15px;cursor:pointer;font-weight:700}p{font-size:11px}a{color:#fff}</style></head><bodyM
><div id="dosbox"></div><br><button onclick="dosbox.requestFullScreen()">Fullscreen</button><br><p>Click on Screen to start<br>Arrows to move, Alt to jump, Ctrl to speed up, Space to fire<br><br><br></p><script>var dosbox=new Dosbox({id:"dosbox",onload:function(o){o.run("https://ipfs.io/ipfs/QmYLCJaKFbiHqDAjTZd5BGWuxpCiVqKC2FropHkqHC8cbX","./MARIO.EXE")},onrun:function(o,n){}})</script></body></html>
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"DDMI","amt":"10000000000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ordi","amt":"55"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"RDEX","amt":"2000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"RDEX","amt":"10000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
    let response = test_server.get("/blockcount");
    assert_eq!(response.status(), StatusCode::OK);
    assert_eq!(response.text().unwrap(), "2");
  fn block_height_endpoint() {
    let test_server = TestServer::new();
    let response = test_server.get("/blockheight");
    assert_eq!(response.status(), StatusCode::OK);
    assert_eq!(response.text().unwrap(), "0");
    test_server.mine_blocks(2);
    let response = test_server.get("/blockheight");
    assert_eq!(response.status(), StatusCodM
    assert_eq!(response.text().unwrap(), "2");
  fn block_hash_endpoint() {
    let test_server = TestServer::new();
    let response = test_server.get("/blockhash");
    assert_eq!(response.status(), StatusCode::OK);
      response.text().unwrap(),
      "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f"
  fn block_hash_from_height_endpoint() {
    let test_server = TestServer::new();
    let response = test_server.get("/blockhash/0");
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","tick":"mice","op":"mint","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
"Digital artifacts are uncensorable. Perhaps you can change a database entry "
"on a centralized ledger today, but maybe not tomorrow, and thus one cannot "
"be a digital artifact."
#: src/digital-artifacts.md:37
"Digital artifacts are immutable. An NFT with an upgrade key is not a digital "
#: src/digital-artifacts.md:40
"The definition of a digital artifact is intended to reflect what NFTs "
"_should_ be, sometimes are, and what inscriptions _always_ are, by their "
#: src/inscriptions.md:4
"Inscriptions inscribe sats with arbitrary content, creating bitcoin-natM8
"digital artifacts, more commonly known as NFTs. Inscriptions do not require "
"a sidechain or separate token."
#: src/inscriptions.md:8
text/plain;charset=utf-8
name = "crossbeam-channel"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
name = "crossbeam-deque"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
name = "crossbeam-epoch"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
name = "crossbeam-utils"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
text/plain;charset=utf-8
5{"p":"brc-20","tick":"mice","op":"mint","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
 "unicode-normalization",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
 "hashbrown 0.12.3",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d5477fe223M
0a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
 "hashbrown 0.14.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ff8cc23a7393a397ed1d7f56e6365cba772aba9f9912ab968b03043c395d057"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"RDEX","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
#: /workspaces/ord_ko/docs/src/overview.md:52
#: /workspaces/ord_ko/docs/src/overview.md:55
"Humans are collectors, and since satoshis can now be tracked and "
"transferred, people will naM
turally want to collect them. Ordinal theorists "
"can decide for themselves which sats are rare and desirable, but there are "
#: /workspaces/ord_ko/docs/src/overview.md:59
Bitcoin has periodic events, some frequent, some more uncommon, and these "
"naturally lend themselves to a system of rarity. These periodic events are:"
#: /workspaces/ord_ko/docs/src/overview.md:62
"_Blocks_: A new block is mined approximately every 10 minutes, f
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
    let id = InscriptionId { txid, index: 0 };
    server.mine_blocks(1);
    server.assert_response_regex(
      format!("/inscription/{id}"),
      StatusCode::OK,
        ".*<h1>Inscription -1</h1>.*
  <dd class=monospace>{id}</dd>
    <span title=cursed>
  fn charm_uncommon() {
    let server = TestServer::new_with_regtest_with_index_sats();
    server.mine_blocks(2);
 txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
      inputs: &[(1, 0, 0, inscription("text/plain", "foo").to_witness())],
      ..Default::default()
    let id = InscriptionId { txid, index: 0 };
    server.mine_blocks(1);
    server.assert_response_regex(
      format!("/inscription/{id}"),
      StatusCode::OK,
        ".*<h1>Inscription 0</h1>.*
  <dd class=monospace>{id}</dd>
    <span title=uncommon>
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":581,"sig":"G1fLb5aCKOlyczoogF/BSZcDNhkNpmr/92PvKBxxuUkcBAdt9QQ5YIsMKJMiPFLwzH6eJlPoDrn9UMjWj07R0Dw="}hA
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"RDEX","amt":"10000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"300b41df242147dbfc800b14a393be57cde32a8d2d6ae1f96a66c2996e65237d","iid":"OrdinalsSharks ","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":48,"sig":"G9g2EBfJUASj9JcL0oGW3ScdPItThJAGTerEuRyerIpLZn/JNeY4UtmspkjfbLhrM3PELxtxfoRWnwhNVPchcR0="}hA
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"RDEX","amt":"10000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
5{"p":"brc-20","tick":"mice","op":"mint","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"10bf5231bd0334ecd2f41989328c23ef0a3dca9e983193f7a06bd62a3d1afefe","iid":"Pepega","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":4821,"sig":"HBe4JWHHBKkRC0juyNVFPbPHetKjhH1LU6YOVT3sA3qtcRm9hyo79cz7WFl9yLnIhzJMxm2hBeriUj3HMmBOeWs="}hA
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
"plateformes telles qu
Arweave reposent sur des hypoth
"sont susceptibles d
re catastrophique lorsque ces hypoth
"ne seront plus satisfaites. Les serveurs web centralis
"It is very hard for a non-technical user to determine where the content of a "
"given Ethereum NFT is stored."
s difficile pour un utilisateur non technique de d
un NFT sur Ethereum."
msgid "_Inscriptions are much simpler._"
msgstr "_Les inscriptions sont beaucoup plus simples._"
"Ethereum NFTs depend on the Ethereum network and virtual machine, which are "
"highly complex, constantly changing, and which introduce changes via "
"backwards-incompatible hard forks."
"Les NFTs sur Ethereum d
seau et de la machine virtuelle "
"Ethereum, qui sont tr
voluent constamment et introduisent deLNs "
"changements par le biais de hard forks incompatibles avec des versions "
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"RDEX","amt":"10000"}h!
text/plain;charset=utf-8
#: src/guides/sat-hunting.md:52
msgid "Searching for Rare Ordinals"
msgstr "Procurando por Ordinais Raros"
#: src/guides/sat-hunting.md:55
msgid "Searching for Rare Ordinals in a Bitcoin Core Wallet"
msgstr "Procurando por Ordinais Raros em uma Carteira Bitcoin Core"
#: src/guides/sat-hunting.md:57
"The `ord wallet` command is just a wrapper around Bitcoin Core's RPC API, so "
"searching for rare ordinals in a Bitcoin Core wallet is Easy. Assuming your "
"wallet is named `foo`:"
 apenas um wrapper da API RPC do Bitcoin Core, portanto, procurar por ordinais raros em uma carteira Bitcoin Core
cil. Supondo que sua carteira se chame `foo`:"
#: src/guides/sat-hunting.md:61
msgid "Load your wallet:"
msgstr "Carregue sua carteira:"
#: src/guides/sat-hunting.md:63
"bitcoin-cli loadwallet foo\n"
"bitcoin-cli loadwallet foo\n"
#: src/guides/sat-hunting.md:67
msgid "Display any rare ordinals wallet `foo`'s UTXOs:"
msgstr "Exiba o.s UTXOs da carteira `foo` de ordinais raros:"
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
"a sidechain or separate token."
#: src/inscriptions.md:8
"These inscribed sats can then be transferred using bitcoin transactions, "
"sent to bitcoin addresses, and held in bitcoin UTXOs. These transactions, "
"addresses, and UTXOs are normal bitcoin tranM
sactions, addresses, and UTXOS "
"in all respects, with the exception that in order to send individual sats, "
"transactions must control the order and value of inputs and outputs "
"according to ordinal theory."
#: src/inscriptions.md:15
"The inscription content model is that of the web. An inscription consists of "
"a content type, also known as a MIME type, and the content itself, which is "
"a byte string. This allows inscription content to be returned from a web "
text/plain;charset=utf-8
#: src/guides/collecting/sparrow-wallet.md:122
msgid "![](images/sending_01.png)"
#: src/guides/collecting/sparrow-wallet.md:124
msgid "There is a few of important things to check here:"
#: src/guides/collecting/sparrow-wallet.md:125
"The `output` identifier matches the identifier of the UTXO you are going to "
#: src/guides/collecting/sparrow-wallet.md:126
"The `offset` of the inscription is `0` (this means that the inscription is "
"located on the first sat in the UTXO)"
#: src/guides/collecting/sparrow-wallet.md:127
"the `output_value` has enough sats to cover the transaction fee (postage) "
"for sending the transaction. The exact amount you will need depends on the "
l select for the transaction"
#: src/guides/collecting/sparrow-wallet.md:129
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
#: src\guides/sat-hunting.md:143
msgid "First get the multi-path descriptor from your wallet. It will look something like this:"
#: src\guides/sat-hunting.md:146
"wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/<0;1>/*)#fw76ulgt\n"
 src\guides/sat-hunting.md:150
msgid "Create a descriptor for the receive address path:"
#: src\guides/sat-hunting.md:152
"wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)\n"
#: src\guides/sat-hunting.md:156
msgid "And the change address path:"
#: src\guides/sat-hL
"wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)\n"
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
      Runestone::decipher(&Transaction {
        input: Vec::new(),
        output: vec![TxOut {
          script_pubkey: script::Builder::new()
            .push_opcode(opcodes::all::OP_RETURN)
            .push_slice(b"RUNE_TEST")
            .push_slice(payload)
            .into_script(),
        lock_time: locktime::absolute::LockTime::ZERO,
      Ok(Some(Runestone {
        edicts: vec![Edict {
          amount: 2,
          output: 3,
        etching: Some(Etching {
          rune: Rune(4),
          ..Default::default()
        ..Default::default()
  fn symbol_above_max_is_ignored() {
    let payload = payload(&[2, 4, 3, u128::from(u32::from(char::MAX) + 1), 0, 1, 2, 3]);
    let payload: &PushBytes = payload.as_slice().try_into().unwrap();
      Runestone::decipher(&Transaction {
        input: Vec::new(),
        output: vec![TxOut {
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
use {super::*, crate::wallet::Wallet};
#[derive(Debug, Parser)]
pub(crate) struct Sats {
    help = "Find satoshis listed in first column of tab-separated value file <TSV>."
  tsv: Option<PathBuf>,
#[derive(Serialize, Deserialize)]
pub struct OutputTsv {
  pub output: OutPoint,
#[derive(Serialize, Deserialize)]
pub struct OutputRare {
  pub output: OutPoint,
  pub rarity: Rarity,
  pub(crate) fn run(&self, options: OM
ptions) -> SubcommandResult {
    let index = Index::open(&options)?;
    if !index.has_sat_index() {
      bail!("sats requires index created with `--index-sats` flag");
    index.update()?;
    let utxos = index.get_unspent_output_ranges(Wallet::load(&options)?)?;
    if let Some(path) = &self.tsv {
      let mut output = Vec::new();
      for (outpoint, sat) in sats_from_tsv(
        &fs::read_to_string(path)
          .with_context(|| format!("I/O error reading `{}`", path.display()))?,
text/plain;charset=utf-8
: [6685000001337](https://ordinals.com/sat/6685000001337)"
#: src/bounty/2.md:13
msgid "Confirm that the submission address has not received transactions before submitting your entry. Only the first successful submission will be rewarded."
msgid "300,000 sats"
msgstr "300,000 sats"
#: src/bounty/2.md:23
msgid "[`1Hyr94uypwWq5CQffaXHvwUMEyBPp3TUZH`](https://mempool.space/address/1Hyr94uypwWq5CQffaXHvwUMEyBPp3TUZH)"
msgstr "[`1Hyr94uypwWq5CQffaXHvwUMEyBPp3TUZH`](https://mempool.space/address/1Hyr94uypwWq5CQffaXHvwUMEyBPp3TUZH)"
#: src/bounty/2.md:28
msgid "Claimed by [@utxoset](https://twitter.com/rodarmor/status/1582424455615172608)!"
 [@utxoset](https://twitter.com/rodarmor/status/1582424455615172608)!"
msgid "Ordinal Bounty 3"
#: src/bounty/3.md:7
"Ordinal bounty 3 has two parts, both of which are based on _ordinal names_. Ordinal names are a modified base-26 encoding of ordinal numbers. To avoid locking "
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e6c0ea0e621c2a3aa34850ebd711526f0ac7385921f57d2430a47cecc7b9cbc"
 "atom_syndication",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1e7d90385b59f0a6bf3d3b757f3ca4ece2048265d70db20a2016043d4509a40"
 "rust-embed-utils",
name = "rust-embed-impl"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c3d8c6fd84090ae348e63a84336b112b5c3918b3bf0493a581f7bd8ee623c29"
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
text/plain;charset=utf-8
LT{"p":"orc-20","op":"mint","params":{"tick":"mouse","tid":"43911153","amt":"500000"}}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
7{"p":"brc-20","op":"mint","tick":"wfwp","amt":"500000"}h!
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
rhe/Foundry USA Pool #dropgold/7
>j<+:BTC.BTC:thor1d339u5pszjj5z4zkmstnx4detrdu6fms7p6xav:wr:100
text/plain;charset=utf-8
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
%hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
text/plain;charset=utf-8
"They are the culmination of a sequence of events set in motion with the mining of the first block, so many years ago."
#: src\digital-artifacts.md:4
msgid "Imagine a physical artifact. A rare coin, say, held safe for untold years in the dark, secret clutch of a Viking hoard, now dug from the earth by your grasping hands. It
#: src\digital-artifacts.md:8
has an owner. You. As long as you keep it safe, nobody can take it from you."
#: src\digital-artifacts.md:10
is complete. It has no missing parts."
text/plain;charset=utf-8
    server.assert_response_regex(
      format!("/preview/{inscription_id}"),
      StatusCode::OK,
      format!(r".*<audio .*>\s*<source src=/content/{inscription_id}>.*"),
  fn font_preview() {
    let server = TestServer::new_with_regtest();
    server.mine_blocks(1);
    let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
      inputs: &[(1, 0, 0, inscription("font/ttf", "hello").to_witness())],
      ..Default::default()
    let inscription_id = InscriptionIM
d { txid, index: 0 };
    server.mine_blocks(1);
    server.assert_response_regex(
      format!("/preview/{inscription_id}"),
      StatusCode::OK,
      format!(r".*src: url\(/content/{inscription_id}\).*"),
  fn pdf_preview() {
    let server = TestServer::new_with_regtest();
    server.mine_blocks(1);
    let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
        inscription("application/pdf", "hello").to_witness(),
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
Chbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
fhbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
text/plain;charset=utf-8
- Use bitcoin core node for integration tests (#263)
- List transaction outputs (#292)
- Add `/output/:outpoint` endpoint (#293)
- Add /range/:start/:end endpoint (#291)
- Move /list endpoint to /api/list (#288)
- List block transactions at `/block/:hash` (#286)
- Display ordinals at `/ordinal/:ordinal` (#287)
- Wait for bitcoind and ord to become available (#285)
- List blocks on root page (#276)
- Remove user-facing list page (#275)
- Add network option (#274)
- Serve HTTPS with ACME certs (#256)
functionality (#270)
- Revise homepage (#268)
- Link to blog post (#267)
- Use hour, minute, second, and third terminology (#262)
- Allow passing ordinals in degree and decimal notation (#261)
- Update dependencies (#258)
- Make genesis sat mythic (#260)
- Overhaul traits (#255)
- Clarify duplicate transaction rule in BIP (#254)
- Add justfile with commands for moving ordinals around manually (#238)
- Add links to discord server (#237)
- Make `nft verify` take input as argume
text/plain;charset=utf-8
#: src\overview.md:224
"Satoshis can be inscribed with arbitrary content, creating Bitcoin-native digital artifacts. Inscribing is done by sending the satoshi to be inscribed in a transaction that reveals the inscription content on-chain. This content is then inextricably linked to that "
"satoshi, turning it into an immutable digital artifact that can be tracked, transferred, hoarded, bought, sold, lost, and rediscovered."
#: src\overview.md:231
#: src\overview.md:234
msgid "A lively community of archaeologists devoted to cataloging and collecting early NFTs has sprung up. [Here's a great summary of historical NFTs by Chainleft.](https://mirror.xyz/chainleft.eth/MzPWRsesC9mQflxlLo-N29oF4iwCgX3lacrvaG9Kjko)"
text/plain;charset=utf-8
msgid "Let's imagine a transaction with three inputs and two outputs. The inputs are on the left of the arrow and the outputs are on the right, all labeled with their values:"
 label the same transaction with the ordinal numbers of the satoshis that each input contains, and question marks for each output slot. Ordinal numbers are large, so let's use letters to represent them:"
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"50000000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"TURT","amt":"504151"}h!
text/plain;charset=utf-8
          .get_children_by_inscription_id(parent_inscription_id)
          .unwrap(),
        vec![child_inscription_id]
  fn inscriptions_in_same_input_with_pointers_to_same_output() {
    for context in Context::configurations() {
      context.mine_blocks(1);
      let builder = script::Builder::new();
      let builder = Inscription {
        pointer: Some(100u64.to_le_bytes().to_vec()),
        ..Default::default()
      .append_reveal_script_to_builder(M
      let builder = Inscription {
        pointer: Some(300_000u64.to_le_bytes().to_vec()),
        ..Default::default()
      .append_reveal_script_to_builder(builder);
      let builder = Inscription {
        pointer: Some(1_000_000u64.to_le_bytes().to_vec()),
        ..Default::default()
      .append_reveal_script_to_builder(builder);
      let witness = Witness::from_slice(&[builder.into_bytes(), Vec::new()]);
      let txid = context.rpc_server.broadcast_tx(TransactionTemplate {
text/plain;charset=utf-8
          1050000000000000,
          1150000000000000,
          100000000000000,
          5 * COIN_VALUE + 90,
          Rarity::Epic,
          "gkjbdrhkfqf".to_string()
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":836,"sig":"HHD58cSCQV7QAyqwZ6honF9f5IMdogb0/8B90Z40xi4ZYd7RxFzR/znxc1Ya0yMCE1pFxr7evU7fzAMYinz4hr8="}hA
FjDOUT:1294BB53B0B67DB5A230B2FA12D439B50A7B8EDB73B92EF473075D444D719666
FjDOUT:C24CD0516279DCFE71FF1F7605B44D28DD7C17DC101D817ADC8C416961750A8B
FjDOUT:D91E8000DFDD6E6484A93EA7CE2E764BBF302D8D5A8818DF9209BF18988C0F6F
FjD=:ETH.USDT-EC7:0x931A55AeFd08D8F025A66dF120104f21455De38F:0/1/0:tr:0
text/plain;charset=utf-8
#: src\SUMMARY.md:10
msgstr "Anleitungen"
#: src\SUMMARY.md:11
#: src\SUMMARY.md:13 src\guides/sat-hunting.md:1
#: src\SUMMARY.md:14 src\guides/collecting.md:1
#: src\SUMMARY.md:15 src\guides/sat-hunting.md:239
msgid "Sparrow Wallet"
msgstr "Sparrow Wallet"
#: src\SUMMARY.md:16 src\guides/testing.md:1
#: src\SUMMARY.md:17 src\guides/modeM
#: src\SUMMARY.md:18 src\guides/reindexing.md:1
msgstr "Erneutes Indizieren"
#: src\SUMMARY.md:19
#: src\SUMMARY.md:20
msgid "Bounty 0: 100,000 sats Claimed!"
msgstr "Bounty 0: 100.000 sats beansprucht!"
#: src\SUMMARY.md:21
msgid "Bounty 1: 200,000 sats Claimed!"
msgstr "Bounty 1: 200.000 sats beansprucht!"
#: src\SUMMARY.md:22
msgid "Bounty 2: 300,000 sats Claimed!"
msgstr "Bounty 2: 300.000 sats beanspru
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
text/plain;charset=utf-8
use {super::*, crate::wallet::Wallet};
#[derive(Debug, Parser)]
pub(crate) struct Sats {
    help = "Find satoshis listed in first column of tab-separated value file <TSV>."
  tsv: Option<PathBuf>,
#[derive(Serialize, Deserialize)]
pub struct OutputTsv {
  pub output: OutPoint,
#[derive(Serialize, Deserialize)]
pub struct OutputRare {
  pub output: OutPoint,
  pub rarity: Rarity,
  pub(crate) fn run(&self, options: OM
ptions) -> SubcommandResult {
    let index = Index::open(&options)?;
    if !index.has_sat_index() {
      bail!("sats requires index created with `--index-sats` flag");
    index.update()?;
    let utxos = index.get_unspent_output_ranges(Wallet::load(&options)?)?;
    if let Some(path) = &self.tsv {
      let mut output = Vec::new();
      for (outpoint, sat) in sats_from_tsv(
        &fs::read_to_string(path)
          .with_context(|| format!("I/O error reading `{}`", path.display()))?,
text/plain;charset=utf-8
    blockdata::{opcodes, script, script::PushBytesBuf},
    ScriptBuf, Witness,
  pretty_assertions::assert_eq as pretty_assert_eq,
  test_bitcoincore_rpc::TransactionTemplate,
  unindent::Unindent,
macro_rules! assert_regex_match {
  ($value:expr, $pattern:expr $(,)?) => {
    let regex = Regex::new(&format!("^(?s){}$", $pattern)).unwrap();
    let string = $value.to_string();
    if !regex.is_match(string.as_ref()) {
did not match string:\n\n{}",
        regex, string
macro_rules! assert_matches {
  ($expression:expr, $( $pattern:pat_param )|+ $( if $guard:expr )? $(,)?) => {
    match $expression {
      $( $pattern )|+ $( if $guard )? => {}
      left => panic!(
        "assertion failed: (left ~= right)\n  left: `{:?}`\n right: `{}`",
        stringify!($($pattern)|+ $(if $guard)?)
pub(crate) fn blockhash(n: u64) -> BlockHash {
  let hex = format!("{n:x}");
text/plain;charset=utf-8
msgid "_Inscription content is always on-chain._"
msgid "There is no way for an inscription to refer to off-chain content. This makes inscriptions more durable, because content cannot be lost, and scarcer, because inscription creators must pay fees proportional to the size of the content."
"Some Ethereum NFT content is on-chain, but much is off-chain, and is stored on platforms like IPFS or Arweave, or on traditional, fully centralized web servers. Content on IPFS is not guaranteed to continue to be availabM
le, and some NFT content stored on IPFS has "
"already been lost. Platforms like Arweave rely on weak economic assumptions, and will likely fail catastrophically when these economic assumptions are no longer met. Centralized web servers may disappear at any time."
text/plain;charset=utf-8
text/plain;charset=utf-8
name = "anstyle-parse"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
name = "anstyle-query"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
 "windows-sys 0.48.0",
name = "anstyle-wincon"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
source = "registry+https://github.com/rust-la
text/plain;charset=utf-8
checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
source = "registry+https://github.com/rust-lang/crates.io-iM
checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
name = "sync_wrapper"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
name = "synstructure"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376
text/plain;charset=utf-8
rience utilisateur des inscriptions est susceptible "
tre plus simple et plus raffin
e que celle des NFTs de RGB et Taro."
"RGB and Taro both store content off-chain, which requires additional "
"infrastructure, and which may be lost. By contrast, inscription content is "
"stored on-chain, and cannot be lost."
"RGB et Taro stockent le contenu en dehors de la blockchain, ce qui n
"une infrastructure suppl
mentaire qui pourrait
due. En revanche, le "
"contenu des inscriptions est stock
 sur la blockchain et ne peut pas
"Ordinal theory, RGB, and Taro are all very early, so this is speculation, "
"but ordinal theory's focus may give it the edge in terms of features for "
"digital artifacts, including a better content model, and features like "
"globally unique symbols."
orie ordinale, RGB et Taro n
orie ordinale pourrait "
text/plain;charset=utf-8
use {super::*, bitcoin::BlockHash};
fn get_sat_without_sat_index() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  let response = TestServer::spawn_with_server_args(&rpc_server, &[], &["--enable-json-api"])
    .json_request("/sat/2099999997689999");
  assert_eq!(response.status(), StatusCode::OK);
  let mut sat_json: SatJson = serde_json::from_str(&response.text().unwrap()).unwrap();
  // this is a hack to ignore the timestamp, since it changes for every request
  sat_json.timestamp = 0;
      number: 2099999997689999,
      decimal: "6929999.0".into(),
      name: "a".into(),
      block: 6929999,
      rarity: Rarity::Uncommon,
      percentile: "100%".into(),
      satpoint: None,
      inscriptions: vec![],
fn get_sat_with_inscription_and_sat_index() {
  let rpc_server = test_bitcoincore_rpc::spa
text/plain;charset=utf-8
 de nouveaux sats cr
s dans chaque bloc est r
#: src\overview.md:72
"_Cycles_: Every six halvings, something magical happens: the halving and the "
"difficulty adjustment coincide. This is called a conjunction, and the time "
"period between conjunctions a cycle. A conjunction occurs roughly every 24 "
"years. The first conjunction should happen sometime in 2032."
"_Cycles _: Tous les six halvings, un ph
ne magique se produit: la "
ajustement de la difficult
on appelle une conjonction, et la p
riode de temps entre les conjonctions "
sente un cycle. Une conjonction se produit environ tous les 24 ans. La "
re conjonction devrait se produire en 2032."
#: src\overview.md:77
msgid "This gives us the following rarity levels:"
msgstr "Cela nous donne les niveaux de raret
#: src\overview.md:79
msgid "`common`: Any sat that is not the first sat of its block"
msgstr "`commun`: Tout 0sat qui n
est pas le premier sat de son bloc"
text/plain;charset=utf-8
use {super::*, crate::wallet::Wallet};
#[derive(Debug, Parser)]
pub(crate) struct Sats {
    help = "Find satoshis listed in first column of tab-separated value file <TSV>."
  tsv: Option<PathBuf>,
#[derive(Serialize, Deserialize)]
pub struct OutputTsv {
  pub output: OutPoint,
#[derive(Serialize, Deserialize)]
pub struct OutputRare {
  pub output: OutPoint,
  pub rarity: Rarity,
  pub(crate) fn run(&self, options: OM
ptions) -> SubcommandResult {
    let index = Index::open(&options)?;
    if !index.has_sat_index() {
      bail!("sats requires index created with `--index-sats` flag");
    index.update()?;
    let utxos = index.get_unspent_output_ranges(Wallet::load(&options)?)?;
    if let Some(path) = &self.tsv {
      let mut output = Vec::new();
      for (outpoint, sat) in sats_from_tsv(
        &fs::read_to_string(path)
          .with_context(|| format!("I/O error reading `{}`", path.display()))?,
text/plain;charset=utf-8
use {super::*, crate::wallet::Wallet};
#[derive(Debug, Parser)]
pub(crate) struct Sats {
    help = "Find satoshis listed in first column of tab-separated value file <TSV>."
  tsv: Option<PathBuf>,
#[derive(Serialize, Deserialize)]
pub struct OutputTsv {
  pub output: OutPoint,
#[derive(Serialize, Deserialize)]
pub struct OutputRare {
  pub output: OutPoint,
  pub rarity: Rarity,
  pub(crate) fn run(&self, options: OM
ptions) -> SubcommandResult {
    let index = Index::open(&options)?;
    if !index.has_sat_index() {
      bail!("sats requires index created with `--index-sats` flag");
    index.update()?;
    let utxos = index.get_unspent_output_ranges(Wallet::load(&options)?)?;
    if let Some(path) = &self.tsv {
      let mut output = Vec::new();
      for (outpoint, sat) in sats_from_tsv(
        &fs::read_to_string(path)
          .with_context(|| format!("I/O error reading `{}`", path.display()))?,
text/plain;charset=utf-8
path = "src/bin/main.rs"
name = "integration"
path = "tests/lib.rs"
[build-dependencies]
pulldown-cmark = "0.9.2"
text/plain;charset=utf-8
"head into the `Preferences`\\-> `Server` settings, and click `Edit Existing "
"Um sicherzustellen, dass Ihre Wallet mit einem Bitcoin-Knoten (Node) "
"verbunden ist, befolgen Sie diese Schritte `Preferences`\\-> `Server` "
"settings, and click `Edit Existing Connection`."
#: src\guides/collecting/sparrow-wallet.md:179
msgid "![](images/troubleshooting_01.png)"
msgstr "![](images/troubleshooting_01.png)"
#: src\guides/collecting/sparrow-wallet.md:181
"From there you can select a M
node and click `Test Connection` to validate "
"that Sparrow is able to connect successfully."
nnen Sie einen Knoten ausw
hlen und auf `Test Connection` "
fen, ob Sparrow erfolgreich eine Verbindung herstellen "
#: src\guides/collecting/sparrow-wallet.md:183
msgid "![](images/troubleshooting_02.png)"
msgstr "![](images/troubleshooting_02.png)"
#: src\guides/testing.md:4
"Ord can be tested using the following flags to specify the test network. F
text/plain;charset=utf-8
 SAT 2,099,999,997,689,999
#: /workspaces/ord_ko/docs/src/bounty/3.md:14
"The bounty is open for submissions until block 840000
the first block after "
"the fourth halvening. Submissions included in block 840000 or later will not "
#: /workspaces/ord_ko/docs/src/bounty/3.md:18
"Both parts use [frequency.tsv](frequency.tsv), a list of words and the "
"number of times they occur in the [Google Books Ngram dataset](http://"
"storage.googleapis.com/books/ngrams/books/datasetsv2.html). filtered to only "
"include the names of sats which will have been mined by the end of the "
"submission period, that appear at least 5000 times in the corpuM$
 [frequency.tsv](frequency.tsv)
"Ngram dataset](http://storage.googleapis.com/books/ngrams/books/datasetsv2."
text/plain;charset=utf-8
- Add --version flag (#236)
- Bump version: 0.0.2
- Change deploy target in recipe (#232)
- Use default port and set ambient capabilities in ord service (#230)
- Test deploy on vagrant (#229)
- Update slide deck (#227)
- Add link to video (#226)
- Separate deck pages (#225)
- Fix docs HTML (#224)
- Add side deck (#223)
- Change slot notation to AxBxCxD (#222)
- Improve NFT encoding (#221)
- Remove use of sha256d in signature algorithm (#219)
- Use standard formats (#218)
- Use CBOR for serializatioM
n/deserialization (#217)
- Add nix flake (#214)
- Build binaries for releases (#213)
[0.0.1](https://github.com/ordinals/ord/releases/tag/0.0.1) - 2022-06-05
---------------------------------------------------------------------
- Add commands to mint and verify NFTs (#211)
- Add legendary sat location hints (#208)
- Re-implement find (#206)
- Add explanation to bounty page (#205)
- Change bounty dir to bounties (#204)
- Add ordinal bounty page (#203)
- Add drawbacks section to BIP (#202)
- Remove log spam (#200)
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":3046,"sig":"G9WMBlR0MHBR33pfO7WhDUbpxrkqcjZUJuEWbWwX0KhCOb+iEQ7c5RqzjarUagLlZtYqPj3IjcSCpemJVwbdFBo="}hA
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":469,"sig":"G5kMMa8EOnlQcgRg4pybUuBgePCvh+0GZOeriV9jfjPkfS5KkefbuTl8A2psKVXg841P6hPgNTDgVt3hdVkss7c="}hA
text/plain;charset=utf-8
- Use bitcoin core node for integration tests (#263)
- List transaction outputs (#292)
- Add `/output/:outpoint` endpoint (#293)
- Add /range/:start/:end endpoint (#291)
- Move /list endpoint to /api/list (#288)
- List block transactions at `/block/:hash` (#286)
- Display ordinals at `/ordinal/:ordinal` (#287)
- Wait for bitcoind and ord to become available (#285)
- List blocks on root page (#276)
- Remove user-facing list page (#275)
- Add network option (#274)
- Serve HTTPS with ACME certs (#256)
functionality (#270)
- Revise homepage (#268)
- Link to blog post (#267)
- Use hour, minute, second, and third terminology (#262)
- Allow passing ordinals in degree and decimal notation (#261)
- Update dependencies (#258)
- Make genesis sat mythic (#260)
- Overhaul traits (#255)
- Clarify duplicate transaction rule in BIP (#254)
- Add justfile with commands for moving ordinals around manually (#238)
- Add links to discord server (#237)
- Make `nft verify` take input as argume
text/plain;charset=utf-8
  rpc_server.mine_blocks(1);
  assert_eq!(rpc_server.descriptors().len(), 3);
  let parent_id = parent_output.inscriptions[0].id;
  let output = CommandBuilder::new("wallet inscribe --fee-rate 1 --batch batch.yaml")
    .write("inscription.txt", "Hello World")
    .write("tulip.png", [0; 555])
    .write("meow.wav", [0; 2048])
      format!("parent: {parent_id}\nmode: separate-outputs\npostage: 777\ninscriptions:\n- file: inscription.txt\n- file: tulip.png\n- file: meow.wav\n")
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Inscribe>();
  for inscription in &output.inscriptions {
    assert_eq!(inscription.location.offset, 0);
  let mut outpoints = output
    .map(|inscription| inscription.location.outpoint)
    .collect::<Vec<OutPoint>>();
  outpoints.dedup();
  assert_eq!(outpoints.len(), output.inscriptions.len());
  rpc_server.mine_blocks(1);
  let ord_server = TestServer::spawn_with_args(&rpc_server, &[]);
hbitworkcg1840000kmint_tickerhelectronh!
text/plain;charset=utf-8
      rarity: Rarity::Common,
      percentile: "0.000714285715119048%".into(),
      satpoint: Some(SatPoint::from_str(&format!("{}:{}:{}", reveal, 0, 0)).unwrap()),
      inscriptions: vec![inscription_id],
fn get_inscription() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  create_wallet(&rpc_server);
  let (inscription_id, reveal) = inscribe(&rpc_server);
    TestServer::spawn_with_server_args(&rpc_server, &["--index-sats"], &["--enable-json-apiM
      .json_request(format!("/inscription/{}", inscription_id));
  assert_eq!(response.status(), StatusCode::OK);
  let mut inscription_json: InscriptionJson =
    serde_json::from_str(&response.text().unwrap()).unwrap();
  assert_regex_match!(inscription_json.address.unwrap(), r"bc1p.*");
  inscription_json.address = None;
  pretty_assert_eq!(
    inscription_json,
    InscriptionJson {
      children: Vec::new(),
      inscription_id,
      inscription_number: 0,
      genesis_height: 2
text/plain;charset=utf-8
#: src/digital-artifacts.md:40
"The definition of a digital artifact is intended to reflect what NFTs "
"_should_ be, sometimes are, and what inscriptions _always_ are, by their "
o de artefato digital pretende refletir o que NFTs "
o, e o que as inscri
#: src/inscriptions.md:4
"Inscriptions inscribe sats with arbitrary content, creating bitcoin-native "
ts, more commonly known as NFTs. Inscriptions do not require "
"a sidechain or separate token."
rio em sats, criando artefatos digitais "
"nativos de bitcoin, mais comumente conhecidos como NFTs. As inscri
"uma sidechain ou token separado."
#: src/inscriptions.md:8
"These inscribed sats can then be transferred using bitcoin transactions, "
"sent to bitcoin addresses, and held in bitcoin UTXOs. These transactions, "
"addresses, and UTX;Os are normal bitcoin transactions, addresses, and UTXOS "
text/plain;charset=utf-8
  fn unknown_preview() {
    let server = TestServer::new_with_regtest();
    server.mine_blocks(1);
    let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
      inputs: &[(1, 0, 0, inscription("text/foo", "hello").to_witness())],
      ..Default::default()
    server.mine_blocks(1);
    server.assert_response_csp(
      format!("/preview/{}", InscriptionId { txid, index: 0 }),
      StatusCode::OK,
      "default-src 'self'",
      fs::read_to_string("templates/preview-unM
known.html").unwrap(),
  fn video_preview() {
    let server = TestServer::new_with_regtest();
    server.mine_blocks(1);
    let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
      inputs: &[(1, 0, 0, inscription("video/webm", "hello").to_witness())],
      ..Default::default()
    let inscription_id = InscriptionId { txid, index: 0 };
    server.mine_blocks(1);
    server.assert_response_regex(
      format!("/preview/{inscription_id}"),
      StatusCode::OK,
text/plain;charset=utf-8
    let reveal_address = recipient();
    let (_commit_tx, reveal_tx, _private_key, _) = Batch {
      parent_info: None,
      inscriptions: vec![inscription],
      destinations: vec![reveal_address],
      commit_fee_rate: FeeRate::try_from(1.0).unwrap(),
      reveal_fee_rate: FeeRate::try_from(1.0).unwrap(),
      no_limit: true,
      reinscribe: false,
      postage: TransactionBuilder::TARGET_POSTAGE,
      mode: Mode::SharedOutput,
      ..Default::default()
    .create_batch_inscripM
      BTreeMap::new(),
      Chain::Mainnet,
      BTreeSet::new(),
      utxos.into_iter().collect(),
      [commit_address, change(1)],
    assert!(reveal_tx.size() >= MAX_STANDARD_TX_WEIGHT as usize);
  fn cbor_and_json_metadata_flags_conflict() {
    assert_regex_match!(
      Arguments::try_parse_from([
        "--cbor-metadata",
        "--json-metadata",
text/plain;charset=utf-8
msgid "Creating Inscriptions"
#: src/guides/inscriptions.md:218
msgid "To create an inscription with the contents of `FILE`, run:"
#: src/guides/inscriptions.md:220
"ord wallet inscribe --fee-rate FEE_RATE FILE\n"
#: src/guides/inscriptions.md:224
"Ord will output two transactions IDs, one for the commit transaction, and "
"one for the reveal transaction, and the inscription ID. InscriptiM
"of the form `TXIDiN`, where `TXID` is the transaction ID of the reveal "
"transaction, and `N` is the index of the inscription in the reveal "
#: src/guides/inscriptions.md:229
"The commit transaction commits to a tapscript containing the content of thL
"inscription, and the reveal transaction spends from that tapscript, "
"revealing the content on chain and inscribing it on the first sat of the "
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/plain;charset=utf-8
    let blockhash = index.get_transaction_blockhash(txid)?;
      TransactionHtml::new(
          .get_transaction(txid)?
          .ok_or_not_found(|| format!("transaction {txid}"))?,
        inscription.map(|_| InscriptionId { txid, index: 0 }),
        page_config.chain,
        index.get_etching(txid)?,
      .page(page_config),
  async fn metadata(
    Extension(index): Extension<Arc<Index>>,
    Path(inscription_id): Path<InscriptionId>,
verResult<Json<String>> {
    let metadata = index
      .get_inscription_by_id(inscription_id)?
      .ok_or_not_found(|| format!("inscription {inscription_id}"))?
      .ok_or_not_found(|| format!("inscription {inscription_id} metadata"))?;
    Ok(Json(hex::encode(metadata)))
  async fn status(Extension(index): Extension<Arc<Index>>) -> (StatusCode, &'static str) {
    if index.is_unrecoverably_reorged() {
        StatusCode::OK,
        "unrecoverable reorg detected, please rebuild
text/plain;charset=utf-8
        script_sig: ScriptBuf::new(),
        sequence: Sequence::MAX,
        witness: witness.clone(),
    let value_per_output = (total_value - template.fee) / template.outputs as u64;
      value_per_output * template.outputs as u64 + template.fee,
    let mut tx = Transaction {
      lock_time: LockTime::ZERO,
      output: (0..template.outputs)
        .map(|i| TxOut {
          value: template
            .output_valueM
            .cloned()
            .unwrap_or(value_per_output),
          script_pubkey: script::Builder::new().into_script(),
    if let Some(script_pubkey) = template.op_return {
      tx.output.insert(
        template.op_return_index.unwrap_or(tx.output.len()),
          script_pubkey,
    self.mempool.push(tx.clone());
  pub(crate) fn mempool(&self) -> &[Transaction] {
text/plain;charset=utf-8
- Ignore temporary directory (#594)
- Add ordinal hunting how-to docs page (#596)
- Fix bounty example links (#595)
[0.0.5](https://github.com/ordinals/ord/releases/tag/0.0.5) - 2022-10-02
---------------------------------------------------------------------
- Add bitcoin.conf (#592)
- Add uncommon ordinal bounty (#588)
- Show output size on output page (#590)
- Implement `wallet identify` (#586)
- Report integration test times (#587)
- Show message when output couldn't be listed because it was spent (#585)
 server integration test (#583)
- Use constants from rust-bitcoin (#564)
- Update dependencies (#582)
- Move bounties into subpages (#576)
- Convert last find integration test to unit test (#580)
- Make index::custom_index_size test faster (#579)
- Make info::basic test faster (#578)
- Convert list unit tests to inegration tests (#572)
- Add prime trait (#563)
- Rename workflow jobs (#575)
- Convert some find integration tests to unit tests (#571)
- Remove /clock.svg route (#573)
- Fix test bitcoin core rpc server
text/plain;charset=utf-8
- Move test Bitcoin Core RPC server into sub-crate (#569)
- Remove spent output test (#568)
- Remove find-by-slot tests (#567)
- Remove BDK wallet (#566)
- Show if a reorg has happened on /status (#518)
- Convert block and transaction integration tests to unit tests (#560)
- Fix release script (#562)
[0.0.4](https://github.com/ordinals/ord/releases/tag/0.0.4) - 2022-09-26
---------------------------------------------------------------------
- Add more links and labels to clocks (#552)
- Add script to deploy dev sM
erver on production machines (#550)
- Update redb to 0.7.0 (#559)
- Don't block server on index (#551)
- Allow searching for block hashes, txids, and outputs things (#549)
- Convert more integration tests to unit tests (#548)
- Make range integration tests faster (#547)
- Add roadmap (#546)
- Convert some integration tests to unit tests (#544)
- Sync index on `Index::open` (#545)
- Make some tests faster (#543)
- Add search-by-path endpoint at /search/QUERY (#521)
- Note why unit tests should use regtest network (#
text/plain;charset=utf-8
fn target_as_block_hash(target: bitcoin::Target) -> BlockHash {
  BlockHash::from_raw_hash(Hash::from_byte_array(target.to_le_bytes()))
#[derive(Boilerplate)]
pub(crate) struct BlockHtml {
  target: BlockHash,
  best_height: Height,
  inscription_count: usize,
  featured_inscriptions: Vec<InscriptionId>,
  pub(crate) fn new(
    best_height: Height,
    inscription_count: usize,
red_inscriptions: Vec<InscriptionId>,
      hash: block.header.block_hash(),
      target: target_as_block_hash(block.header.target()),
      inscription_count,
      featured_inscriptions,
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub struct BlockJson {
  pub hash: BlockHash,
  pub target: BlockHash,
  pub best_height: u32,
  pub inscriptions: Vec<InscriptionId>,
  pub(crate) fn new(
text/plain;charset=utf-8
- Check that RPC server is on correct network (#642)
- Add /input page (#639)
- Expand search box to fill available space (#633)
- Add `ord rune publish` command (#637)
- Add links to docs (#635)
- Use docs for name of workflow and directory (#632)
- Remove multilingual book config key (#631)
- Add `ord wallet send` (#618)
- Streamline roadmap (#628)
- Improve styling (#626)
- Fix book publish directory (#625)
- Convert docs from Zola to mdBook (#623)
- Add nav bar (#614)
- Add status header to homepage (#620)
- Use reduced database durability during tests (#621)
- Add /rare.txt (#619)
- Embellish block page (#605)
- Refactor server error handling (#607)
- Profile tests (#608)
- Display ranges with an en dash (#606)
- Display more information homepage (#610)
- Remove prime trait (#612)
- Sort ordinal properties (#609)
- Add dark mode (#611)
- Add more help text to CLI (#613)
- Expand ordinal hunting guide (#600)
- Embellish transaction page (#602)
- Add `ord wallet list` command (#601)
text/plain;charset=utf-8
#: src/overview.md:164
 Not first block in difficulty adjustment period\n"
 Not first block in halving epoch\n"
#: src/overview.md:171
msgid "Rare Satoshi Supply"
#: src/overview.md:174
msgid "Total Supply"
#: src/overview.md:176
msgid "`common`: 2.1 quadrillion"
msgstr "`common`: 2.1
#: src/overview.md:177
msgid "`uncommon`: 6,929,9M
msgstr "`uncommon`: 6,929,999"
#: src/overview.md:178
msgid "`rare`: 3437"
msgstr "`rare`: 3437"
#: src/overview.md:179
#: src/overview.md:180
msgid "`legendary`: 5"
msgstr "`legendary`: 5"
#: src/overview.md:181 src/overview.md:190
text/plain;charset=utf-8
"bitcoin-cli getdescriptorinfo \\\n"
"'wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)'\n"
#: src/guides/sat-hunting.md:170
"  \"descriptor\": "
"\"wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29\",\n"
"  \"checksum\": \"tpnxnxax\",\n"
"  \"isrange\": true,\M
"  \"issolvable\": true,\n"
"  \"hasprivatekeys\": false\n"
"  \"descriptor\": "
"\"wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29\",\n"
"  \"checksum\": \"tpnxnxax\",\n"
"  \"isrange\": true,\n"
"  \"issolvable\": true,\n"
"  \"hasprivatekeys\": false\n"
#: src/guides/sat-hunting.md:180
msgid "And for the change address descriptor, in this case `64k8wnd7`:"
text/plain;charset=utf-8
    Timestamp, WalletTxInfo,
  jsonrpc_core::{IoHandler, Value},
  jsonrpc_http_server::{CloseHandle, ServerBuilder},
  serde::{Deserialize, Serialize},
    collections::{BTreeMap, BTreeSet, HashMap},
    sync::{Arc, Mutex, MutexGuard},
pub fn builder() -> Builder {
    fail_lock_unspent: false,
    network: Network::Bitcoin,
    version: 240000,
pub struct Builder {
  pub fn fail_lock_unspent(self, fail_lock_unspent: bool) -> Self {
      fail_lock_unspent,
  pub fn network(self, network: Network) -> Self {
    Self { network, ..self }
  pub fn version(self, version: usize) -> Self {
    Self { version, ..self }
  pub fn build(self) -> Handle {
    let state = Arc::new(Mutex::new(State::new(
      self.fail_lock_unspent,
text/plain;charset=utf-8
 "ord-bitcoincore-rpc",
 "pretty_assertions",
 "test-bitcoincore-rpc",
 "tokio-util 0.7.10",
name = "ord-bitcoincore-rpc"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d57a4297d466506cde088e020b33819f9a496d50272b14d7890e6fde5595a3e"
text/plain;charset=utf-8
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
 "concurrent-queue",
 "pin-project-lite",
name = "event-listener-strategy"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 "event-listener 4.0.0",
 "pin-project-lite",
name = "executable-path"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ebc5a6d89e3c90b84e8f33c8737933dda8f1c106b5415900b38b9d433841478"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":986,"sig":"G/Q+xn+sd7m8hN/0/uEN5MeKrC/rhcd8qD7HXc1GLAObZFePwkj4cjRaeupYZaqCn4oV4y8LlszmcBGdKal457s="}hA
text/plain;charset=utf-8
        Some(_) => return Ok(None),
  use {super::*, bitcoin::absolute::LockTime};
  fn parse(witnesses: &[Witness]) -> Vec<ParsedEnvelope> {
    ParsedEnvelope::from_transaction(&Transaction {
      lock_time: LockTime::ZERO,
      input: witnesses
        .map(|witness| TxIn {
          previous_output: OutPoint::null(),
          script_sig: ScriptBuf::new(),
          sequence: Sequence::ENABLE_RBF_NO_LOCKTIME,
witness: witness.clone(),
      output: Vec::new(),
    assert_eq!(parse(&[Witness::new()]), Vec::new())
  fn ignore_key_path_spends() {
      parse(&[Witness::from_slice(&[bitcoin::script::Builder::new()
        .push_opcode(bitcoin::opcodes::OP_FALSE)
        .push_opcode(bitcoin::opcodes::all::OP_IF)
        .push_slice(b"ord")
        .push_opcode(bitcoin::opcodes::all::OP_ENDIF)
        .into_script()
text/plain;charset=utf-8
    let string = $string;
    if !regex.is_match(string.as_ref()) {
        "Regex:\n\n{}\n\n
did not match string:\n\n{}",
        regex, string
type Inscribe = ord::subcommand::wallet::inscribe::Output;
fn inscribe(rpc_server: &test_bitcoincore_rpc::Handle) -> (InscriptionId, Txid) {
  rpc_server.mine_blocks(1);
  let output = CommandBuilder::new("wallet inscribe --fee-rate 1 --file foo.txt")
    .write("foo.txt", "FOO")
    .rpc_server(rpc_server)
    .run_and_deserializM
e_output::<Inscribe>();
  rpc_server.mine_blocks(1);
  assert_eq!(output.inscriptions.len(), 1);
  (output.inscriptions[0].id, output.reveal)
fn envelope(payload: &[&[u8]]) -> bitcoin::Witness {
  let mut builder = bitcoin::script::Builder::new()
    .push_opcode(bitcoin::opcodes::OP_FALSE)
    .push_opcode(bitcoin::opcodes::all::OP_IF);
  for data in payload {
    let mut buf = bitcoin::script::PushBytesBuf::new();
    buf.extend_from_slice(data).unwrap();
    builder = builder.push_slice(buf);
text/plain;charset=utf-8
"_Name_: [`satoshi`](https://ordinals.com/sat/satoshi). An encoding of the "
"ordinal number using the characters `a` through `z`."
"_Nome_: [`satoshi`](https://ordinals.com/sat/satoshi). Uma codifica
mero ordinal usando os caracteres `a` at
#: src/overview.md:42
"Arbitrary assets, such as NFTs, security tokens, accounts, or stablecoins "
"can be attached to satoshis using ordinal numbers as stable identifiers."
rios, como NFTs, tokens deM
a, contas ou stablecoins "
"podem ser anexados a satoshis usando n
meros ordinais como identificadores est
#: src/overview.md:45
"Ordinals is an open-source project, developed [on "
"GitHub](https://github.com/ordinals/ord). The project consists of a BIP "
"describing the ordinal scheme, an index that communicates with a Bitcoin "
"Core node to track the location of all satoshis, a wallet that allows making "
"ordinal-aware transactions, a block explorer for interactive exploration of "
text/plain;charset=utf-8
msgid "Troubleshooting"
#: src\guides/collecting/sparrow-wallet.md:175
msgid "Sparrow wallet is not showing a transaction/UTXO, but I can see it on mempool.space!"
#: src\guides/collecting/sparrow-wallet.md:177
msgid "Make sure that your wallet is connected to a bitcoin node. To validate this, head into the `Preferences`\\-> `Server` settings, and click `Edit ExistingM
 `Preferences`\\-> `Server`
 `Edit Existing Connection`."
#: src\guides/collecting/sparrow-wallet.md:179
msgid "![](images/troubleshooting_01.png)"
#: src\guides/collecting/sparrow-wallet.md:181
msgid "From there you can select a node and click `Test Connection` to validate that Sparrow is able to connect successfully."
#: src\guides/collecting/sparrow-wallet.md:183
text/plain;charset=utf-8
?{"p":"brc-20","op":"mint","tick":"INJ\u000b","amt":"100000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"mint","tick":"INJ\u000b","amt":"100000000"}h!
text/plain;charset=utf-8
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
name = "strum_macros"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
  fn content_security_policy_with_origin() {
    let (headers, _) = Server::content_response(
      Inscription::new(Some("text/plain".as_bytes().to_vec()), Some(vec![1, 2, 3])),
      AcceptEncoding::default(),
        csp_origin: Some("https://ordinals.com".into()),
        ..Default::default()
    assert_eq!(headers["content-security-policy"], HeaderValue::from_static("default-src https://ordinals.com/content/ https://ordinalsM
.com/blockheight https://ordinals.com/blockhash https://ordinals.com/blockhash/ https://ordinals.com/blocktime https://ordinals.com/r/ 'unsafe-eval' 'unsafe-inline' data: blob:"));
  fn code_preview() {
    let server = TestServer::new_with_regtest();
    server.mine_blocks(1);
    let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
        inscription("text/javascript", "hello").to_witness(),
      ..Default::default()
Aj?=:BNB.BNB:bnb19tpuw32n4wayj5rakw25nwqn45fyadetw2ym7n:0/1/0:te:0
text/plain;charset=utf-8
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
name = "strum_macros"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
name = "strum_macros"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
msgid "Troubleshooting"
#: src\guides/collecting/sparrow-wallet.md:175
msgid "Sparrow wallet is not showing a transaction/UTXO, but I can see it on mempool.space!"
#: src\guides/collecting/sparrow-wallet.md:177
msgid "Make sure that your wallet is connected to a bitcoin node. To validate this, head into the `Preferences`\\-> `Server` settings, and click `Edit ExistingM
 `Preferences`\\-> `Server`
 `Edit Existing Connection`."
#: src\guides/collecting/sparrow-wallet.md:179
msgid "![](images/troubleshooting_01.png)"
#: src\guides/collecting/sparrow-wallet.md:181
msgid "From there you can select a node and click `Test Connection` to validate that Sparrow is able to connect successfully."
#: src\guides/collecting/sparrow-wallet.md:183
text/plain;charset=utf-8
"confusion around royalties, and is collectively coming to grips with the "
"reality that on-chain royalties, which were messaged to artists as an "
"advantage of NFTs, are not possible, while platforms race to the bottom and "
"remove royalty support."
"Os royalties na blockchain s
o, na teoria, uma boa ideia; mas n
"O pagamento de royalties n
o pode ser aplicado on-chain sem restri
"e invasivas. O ecossistema de NFTs do Ethereum est
 atualmente lutando contra a "
o em torno dos royalties e est
 enfrentando coletivamente a realidade que "
"os royalties on-chain, que foram transmitidos aos artistas como uma vantagem das NFTs, "
veis, enquanto as plataformas correm para o fundo do po
"apoio aos royalties."
"Inscriptions avoid this situation entirely by making no false promises of "
"supporting royalties on-chain, thus avoiding the confusion, chaos, and "
"negativity of the Ethereum NFT situation."
text/plain;charset=utf-8
"confusion around royalties, and is collectively coming to grips with the "
"reality that on-chain royalties, which were messaged to artists as an "
"advantage of NFTs, are not possible, while platforms race to the bottom and "
"remove royalty support."
"Os royalties na blockchain s
o, na teoria, uma boa ideia; mas n
"O pagamento de royalties n
o pode ser aplicado on-chain sem restri
"e invasivas. O ecossistema de NFTs do Ethereum est
 atualmente lutando contra a "
o em torno dos royalties e est
 enfrentando coletivamente a realidade que "
"os royalties on-chain, que foram transmitidos aos artistas como uma vantagem das NFTs, "
veis, enquanto as plataformas correm para o fundo do po
"apoio aos royalties."
"Inscriptions avoid this situation entirely by making no false promises of "
"supporting royalties on-chain, thus avoiding the confusion, chaos, and "
"negativity of the Ethereum NFT situation."
text/plain;charset=utf-8
"blocs ordinal de comprendre ses responsabilit
cider de la politique de mod
#: src\guides/moderation.md:13
"In order to prevent particular inscriptions from being displayed on an `ord` "
"instance, they can be included in a YAML config file, which is loaded with "
"the `--config` option."
cher que certaines inscriptions soient affich
es sur une instance "
"`ord`, elles peuvent
ans un fichier de configuration YAML, "
 avec l'option `--config`."
#: src\guides/moderation.md:17
"To hide inscriptions, first create a config file, with the inscription ID "
"Pour masquer des inscriptions, cr
ez d'abord un fichier de configuration, "
"avec l'identifiant de l'inscription que vous souhaitez masquer :"
#: src\guides/moderation.md:25
"The suggested name for `ord` config files is `ord.yaml`, but any filename "
text/plain;charset=utf-8
  rpc_server.mine_blocks(1);
  assert_eq!(rpc_server.descriptors().len(), 3);
  let parent_id = parent_output.inscriptions[0].id;
  let output = CommandBuilder::new("wallet inscribe --fee-rate 1 --batch batch.yaml")
    .write("inscription.txt", "Hello World")
    .write("tulip.png", [0; 555])
    .write("meow.wav", [0; 2048])
      format!("parent: {parent_id}\nmode: separate-outputs\npostage: 777\ninscriptions:\n- file: inscription.txt\n- file: tulip.png\n- file: meow.wav\n")
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Inscribe>();
  for inscription in &output.inscriptions {
    assert_eq!(inscription.location.offset, 0);
  let mut outpoints = output
    .map(|inscription| inscription.location.outpoint)
    .collect::<Vec<OutPoint>>();
  outpoints.dedup();
  assert_eq!(outpoints.len(), output.inscriptions.len());
  rpc_server.mine_blocks(1);
  let ord_server = TestServer::spawn_with_args(&rpc_server, &[]);
text/plain;charset=utf-8
     world based on applicable law or treaty, and any national
     implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
text/plain;charset=utf-8
 Bitcoin Core sincronizado com um
o. Para ativar a indexa
es, passe `-txindex` na linha de comando:"
#: src/guides/sat-hunting.md:23
"bitcoind -txindex\n"
"bitcoind -txindex\n"
#: src/guides/sat-hunting.md:27
"Or put the following in your [Bitcoin configuration "
"file](https://github.com/bitcoin/bitcoin/blob/master/doc/bitcoin-conf.md#configuration-file-path):"
"Ou coloque o seguinte em seu [arquivo de configura
o Bitcoin](https://github.com/bitcoin/bitcoin/blob/master/doc/bitcoin-conf.md#configuration-file-path):"
#: src/guides/sat-hunting.md:34
"Launch it and wait for it to catch up to the chain tip, at which point the "
"following command should print out the current block height:"
"Execute-o e espere que ele alcance a ponta da cadeia, momento em que o seguinte comando dever
 imprimir a altura atual do bloco:"
#: src/guides/sat-hunting.md:37
text/plain;charset=utf-8
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
name = "strum_macros"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
#: src\overview.md:224
"Satoshis can be inscribed with arbitrary content, creating Bitcoin-native digital artifacts. Inscribing is done by sending the satoshi to be inscribed in a transaction that reveals the inscription content on-chain. This content is then inextricably linked to that "
"satoshi, turning it into an immutable digital artifact that can be tracked, transferred, hoarded, bought, sold, lost, and rediscovered."
#: src\overview.md:231
#: src\overview.md:234
msgid "A lively community of archaeologists devoted to cataloging and collecting early NFTs has sprung up. [Here's a great summary of historical NFTs by Chainleft.](https://mirror.xyz/chainleft.eth/MzPWRsesC9mQflxlLo-N29oF4iwCgX3lacrvaG9Kjko)"
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/plain;charset=utf-8
Hello Anonymous. I hope this letter, or rather inscription, finds you well. You by no means owe me anything, however I wish to inquire you. I am a college student from the United States. I was hoping as an act of kindness you would help me cover the costs for the upcoming spring semester of school. Anything helps. The full amount I need is $9,650, or ~0.25 Bitcoin around the time of this inscription.
My Bitcoin address is: bc1q9sunw5r55qmrazugyg69jur6vctukq9l3qxduk
If you find this in poor taste, my apologies.
text/plain;charset=utf-8
  ord_server.assert_response_regex(
    format!("/inscription/{}", output.inscriptions[1].id),
      r".*<dt>parent</dt>\s*<dd>.*{parent_id}.*</dd>.*<dt>output value</dt>.*<dd>10000</dd>.*.*<dt>location</dt>.*<dd class=monospace>{}:0</dd>.*",
  ord_server.assert_response_regex(
    format!("/inscription/{}", output.inscriptions[2].id),
      r".*<dt>parent</dt>\s*<dd>.*{parent_id}.*</dd>.*<dt>output value</dt>.*<dd>10000</dd>.*.*<dt>lM
ocation</dt>.*<dd class=monospace>{}:0</dd>.*",
fn batch_in_separate_outputs_with_parent_and_non_default_postage() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  rpc_server.mine_blocks(1);
  assert_eq!(rpc_server.descriptors().len(), 0);
  create_wallet(&rpc_server);
  let parent_output = CommandBuilder::new("wallet inscribe --fee-rate 5.0 --file parent.png")
    .write("parent.png", [1; 520])
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Inscribe>();
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/plain;charset=utf-8
          .get_children_by_inscription_id(parent_inscription_id)
          .unwrap(),
        vec![child_inscription_id]
  fn inscriptions_in_same_input_with_pointers_to_same_output() {
    for context in Context::configurations() {
      context.mine_blocks(1);
      let builder = script::Builder::new();
      let builder = Inscription {
        pointer: Some(100u64.to_le_bytes().to_vec()),
        ..Default::default()
      .append_reveal_script_to_builder(M
      let builder = Inscription {
        pointer: Some(300_000u64.to_le_bytes().to_vec()),
        ..Default::default()
      .append_reveal_script_to_builder(builder);
      let builder = Inscription {
        pointer: Some(1_000_000u64.to_le_bytes().to_vec()),
        ..Default::default()
      .append_reveal_script_to_builder(builder);
      let witness = Witness::from_slice(&[builder.into_bytes(), Vec::new()]);
      let txid = context.rpc_server.broadcast_tx(TransactionTemplate {
text/plain;charset=utf-8
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
name = "event-listener"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
 "concurrent-queue",
 "pin-project-lite",
name = "event-listener-strategy"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 "event-listener 4.0.0",
 "pin-project-lite",
name = "executable-path"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ebc5a6d89e3c90b84e8f33c8737933dda8f1c106b5415900b38b9d433841478"
source = "registry+https://github.com/rust-lang/crates.io-index"
FjDOUT:940FBE77820B726F43BFD17CA6BEA09C974C7DD75F05E5214D80D78C425C33E8
text/plain;charset=utf-8
"sat/3891094.16797) Die erste Zahl ist die Blockh
he, in der der Satoshi "
"abgebaut wurde, die zweite die Verschiebung des Satoshis innerhalb des "
#: src\overview.md:31
"_Degree notation_: [`3
`](https://ordinals.com/"
"sat/3%C2%B0111094%E2%80%B2214%E2%80%B316797%E2%80%B4). We'll get to that in "
"_Degree notation_: [`3
`](https://ordinals.com/"
"sat/3%C2%B0111094%E2%80%B2214%E2%80%B316797%E2%80%B4). We'll get to that in "
#: src\overview.md:35
"_Percentile notation_: [`99.99971949060254%`](https://ordinals.com/"
"sat/99.99971949060254%25) . The satoshi's position in Bitcoin's supply, "
"expressed as a percentage."
"_Prozentnotation_: [`99.99971949060254%`](https://ordinals.com/"
"sat/99.99971949060254%25). Die Position des Satoshis im Bitcoin-Vorrat, "
ckt als Prozentsatz."
#: src\overview.md:39
"_Name_: [`satoshi`](https://ordinals.com/sat/satoshi). An encoding of the "
"ordinal n-umber using the characters `a` through `z`."
text/plain;charset=utf-8
    blockdata::{opcodes, script, script::PushBytesBuf},
    ScriptBuf, Witness,
  pretty_assertions::assert_eq as pretty_assert_eq,
  test_bitcoincore_rpc::TransactionTemplate,
  unindent::Unindent,
macro_rules! assert_regex_match {
  ($value:expr, $pattern:expr $(,)?) => {
    let regex = Regex::new(&format!("^(?s){}$", $pattern)).unwrap();
    let string = $value.to_string();
    if !regex.is_match(string.as_ref()) {
did not match string:\n\n{}",
        regex, string
macro_rules! assert_matches {
  ($expression:expr, $( $pattern:pat_param )|+ $( if $guard:expr )? $(,)?) => {
    match $expression {
      $( $pattern )|+ $( if $guard )? => {}
      left => panic!(
        "assertion failed: (left ~= right)\n  left: `{:?}`\n right: `{}`",
        stringify!($($pattern)|+ $(if $guard)?)
pub(crate) fn blockhash(n: u64) -> BlockHash {
  let hex = format!("{n:x}");
text/plain;charset=utf-8
        ..Default::default()
      context.mine_blocks(1);
      let inscription_id = InscriptionId { txid, index: 0 };
      context.index.assert_inscription_location(
        inscription_id,
          outpoint: OutPoint { txid, vout: 0 },
          offset: 0,
        Some(50 * COIN_VALUE),
  fn inscription_with_pointer_into_fee_ignored_and_assigned_default_location() {
    for context in Context::configurations() {
      context.mine_blocks(M
      let inscription = Inscription {
        content_type: Some("text/plain".into()),
        body: Some("hello".into()),
        pointer: Some((25 * COIN_VALUE).to_le_bytes().to_vec()),
        ..Default::default()
      let txid = context.rpc_server.broadcast_tx(TransactionTemplate {
        inputs: &[(1, 0, 0, inscription.to_witness())],
        fee: 25 * COIN_VALUE,
        ..Default::default()
      context.mine_blocks(1);
      let inscription_id = InscriptionId { txid, index: 0 };
hbitworkcd8642kmint_tickerdatonh!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
DiagonAlley.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
            output: 0,
          ..Default::default()
        .encipher(),
      ..Default::default()
    context.mine_blocks(1);
    let id = RuneId {
    context.assert_runes(
          etching: txid,
          rune: Rune(RUNE),
          limit: Some(1000),
          timestamp: 2,
          supply: 1000,
          ..Default::default()
      [(OutPoint { txid, vout: 0 },M
 vec![(id, 1000)])],
  fn limit_over_max_limit_is_ignored() {
    let context = Context::builder()
      .arg("--index-runes-pre-alpha-i-agree-to-get-rekt")
    context.mine_blocks(1);
    let etching = context.rpc_server.broadcast_tx(TransactionTemplate {
      inputs: &[(1, 0, 0, Witness::new())],
      op_return: Some(
          etching: Some(Etching {
            rune: Rune(RUNE),
            limit: Some(MAX_LIMIT + 1),
            ..Default::default()
text/plain;charset=utf-8
text/plain;charset=utf-8
ChamberofSecrets.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
"  OP_PUSH \"text/plain;charset=utf-8\"\n"
"  OP_PUSH \"Hello, world!\"\n"
#: src\inscriptions.md:53
"First the string `ord` is pushed, to disambiguate inscriptions from other "
"uses of envelopes."
"Zuerst wird die Zeichenfolge `ord` gedr
ckt, um inscriptions von anderen "
"Verwendungszwecken von Umschl
gen zu unterscheiden."
#: src\inscriptions.md:56
"`OP_PUSH 1` indicates that the next push contains the content type, and "
"`OP_PUSH 0` indicates M
that subsequent data pushes contain the content "
"itself. Multiple data pushes must be used for large inscriptions, as one of "
"taproot's few restrictions is that individual data pushes may not be larger "
"`OP_PUSH 1` gibt an, dass der n
chste Push den Inhaltstyp enth
"`OP_PUSH 0` gibt an, dass nachfolgende Datenpushs den Inhalt selbst "
ssen mehrere Daten-Pushes verwendet "
"werden, da eine der wenigen Einschr
nkungen von Taproot d
arin besteht, dass "
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
"other inscriptions."
"El modelo de contenido de las inscripciones funciona similar al de la web."
 conformada por el tipo de contenido, conocido como el "
"tipo MIME, y el contenido que es una cadena de bytes. Esto permite que el "
"contenido de la inscripci
n se pueda obtener de un servidor web y tener la "
"posibilidad de crear inscripciones HTML que usen el contenido de otras "
#: src/inscriptions.md:21
"Inscription content is entirely on-chain, storeM
d in taproot script-path "
"spend scripts. Taproot scripts have very few restrictions on their content, "
"and additionally receive the witness discount, making inscription content "
"storage relatively economical."
"El contenido de la inscripci
 completamente en la cadena de bloques "
"o blockchain, almacenado en scripts de taproot. Los scripts de taproot tienen "
"muy pocas restricciones en cuanto a lo que pueden contener, y adem
"el descuento de testigo, lo que hace que el almacena
miento de contenido de las "
text/plain;charset=utf-8
msgid "Troubleshooting"
#: src\guides/collecting/sparrow-wallet.md:175
msgid "Sparrow wallet is not showing a transaction/UTXO, but I can see it on mempool.space!"
#: src\guides/collecting/sparrow-wallet.md:177
msgid "Make sure that your wallet is connected to a bitcoin node. To validate this, head into the `Preferences`\\-> `Server` settings, and click `Edit ExistingM
 `Preferences`\\-> `Server`
 `Edit Existing Connection`."
#: src\guides/collecting/sparrow-wallet.md:179
msgid "![](images/troubleshooting_01.png)"
#: src\guides/collecting/sparrow-wallet.md:181
msgid "From there you can select a node and click `Test Connection` to validate that Sparrow is able to connect successfully."
#: src\guides/collecting/sparrow-wallet.md:183
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"SHID","amt":"900000000000"}h!
@s/hbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
hbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
\P7hbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
`#@hbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
hbitworkcd0000harcs.txtX7{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"EFlL","amt":"10000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"rats","amt":"10000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"BNBs","amt":"10000"}h!
DjB=:THOR.RUNE:thor1753qj0xq5jf42k2hra6kq98qphg4y5n5z2atxr:0/1/0:te:0
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"fish","amt":"30000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"15999999999"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"fish","amt":"11500"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"SHID","amt":"800000000000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"stxo","amt":"5"}h!
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/plain;charset=utf-8
es provarem, como os autores esperam, serem artefatos digitais "
"muito procurados com uma hist
ria rica, elas servir
o como um gancho poderoso "
o do Bitcoin: venha pela divers
o e arte rica, fique pelo dinheiro "
"digital descentralizado."
"Inscriptions are an extremely benign source of demand for block space. "
"Unlike, for example, stablecoins, which potentially give large stablecoin "
"issuers influence over the future ofM
 Bitcoin development, or DeFi, which "
"might centralize mining by introducing opportunities for MEV, digital art "
"and collectables on Bitcoin, are unlikely to produce individual entities "
"with enough power to corrupt Bitcoin. Art is decentralized."
o uma fonte extremamente benigna de demanda por espa
rio, por exemplo, das stablecoins, que potencialmente d
"emissores de stablecoin influ
ncia sobre o futuro do desenvolvimento do Bitcoin, "
text/plain;charset=utf-8
text/plain;charset=utf-8
"confusion around royalties, and is collectively coming to grips with the "
"reality that on-chain royalties, which were messaged to artists as an "
"advantage of NFTs, are not possible, while platforms race to the bottom and "
"remove royalty support."
"Os royalties na blockchain s
o, na teoria, uma boa ideia; mas n
"O pagamento de royalties n
o pode ser aplicado on-chain sem restri
"e invasivas. O ecossistema de NFTs do Ethereum est
 atualmente lutando contra a "
o em torno dos royalties e est
 enfrentando coletivamente a realidade que "
"os royalties on-chain, que foram transmitidos aos artistas como uma vantagem das NFTs, "
veis, enquanto as plataformas correm para o fundo do po
"apoio aos royalties."
"Inscriptions avoid this situation entirely by making no false promises of "
"supporting royalties on-chain, thus avoiding the confusion, chaos, and "
"negativity of the Ethereum NFT situation."
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"piin","amt":"2000000"}h!
hbitworkcg1840000kmint_tickerhelectronenonce
text/plain;charset=utf-8
LL{"p":"brc-20","op":"deploy","tick":"FLZT","max":"21000000","lim":"21000000"}h!
text/plain;charset=utf-8
"bitcoin-cli getdescriptorinfo \\\n"
"'wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)'\n"
#: src/guides/sat-hunting.md:170
"  \"descriptor\": "
"\"wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29\",\n"
"  \"checksum\": \"tpnxnxax\",\n"
"  \"isrange\": true,\M
"  \"issolvable\": true,\n"
"  \"hasprivatekeys\": false\n"
"  \"descriptor\": "
"\"wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29\",\n"
"  \"checksum\": \"tpnxnxax\",\n"
"  \"isrange\": true,\n"
"  \"issolvable\": true,\n"
"  \"hasprivatekeys\": false\n"
#: src/guides/sat-hunting.md:180
msgid "And for the change address descriptor, in this case `64k8wnd7`:"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"STST","amt":"6000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"rats","amt":"333333.888"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"UCAT","amt":"92000000"}h!
text/plain;charset=utf-8
    let acme_cache = if let Some(acme_cache) = acme_cache {
      acme_cache.clone()
      options.data_dir()?.join("acme-cache")
  fn acme_domains(&self) -> Result<Vec<String>> {
    if !self.acme_domain.is_empty() {
      Ok(self.acme_domain.clone())
      Ok(vec![System::new()
        .host_name()
        .ok_or(anyhow!("no hostname found"))?])
  fn http_port(&self) -> Option<u16> {
    if self.http || self.http_port.is_some() || (self.https_poM
rt.is_none() && !self.https) {
      Some(self.http_port.unwrap_or(80))
  fn https_port(&self) -> Option<u16> {
    if self.https || self.https_port.is_some() {
      Some(self.https_port.unwrap_or(443))
  fn acceptor(&self, options: &Options) -> Result<AxumAcceptor> {
    let config = AcmeConfig::new(self.acme_domains()?)
      .contact(&self.acme_contact)
      .cache_option(Some(DirCache::new(Self::acme_cache(
        self.acme_cache.as_ref(),
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"200000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$OG$","amt":"1000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"5000000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"50365"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"tbci","amt":"10000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"rats","amt":"10000000"}h!
text/plain;charset=utf-8
        FeeRate::try_from(1.0).unwrap(),
        Target::Value(Amount::from_sat(1))
      .build_transaction(),
      Err(Error::Dust {
        output_value: Amount::from_sat(1),
        dust_value: Amount::from_sat(294)
  fn do_not_select_outputs_which_do_not_pay_for_their_own_fee_at_default_fee_rate() {
    let utxos = vec![
      (outpoint(1), Amount::from_sat(1_000)),
      (outpoint(2), Amount::from_sat(100)),
    pretty_assert_eq!(
      TransactionBuilder::new(
       satpoint(1, 0),
        BTreeMap::new(),
        utxos.into_iter().collect(),
        BTreeSet::new(),
        recipient(),
        [change(0), change(1)],
        FeeRate::try_from(1.0).unwrap(),
        Target::Value(Amount::from_sat(1000))
      .build_transaction(),
      Err(Error::NotEnoughCardinalUtxos),
  fn do_not_select_outputs_which_do_not_pay_for_their_own_fee_at_higher_fee_rate() {
    let utxos = vec![
      (outpoint(1), Amount::from_sat(1_000)),
, Amount::from_sat(500)),
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":311,"sig":"G13+P9PH6hTgClHcEfeoEWb5KS1dcDv7anNcJNhB8tt1cGg6ysBSVNFI+dIfe6AylICDFBszhgwldbBIvtNyG+o="}hA
text/plain;charset=utf-8
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 "windows-sys 0.48.0",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
name = "strum_macros"
source = "registry+https://github.com/rust-lang/crates.io-index"
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"Bear","amt":"340"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"mint","tick":"FLZT","amt":"21000000"}h!
={"p":"brc-20","op":"transfer","tick":"rats","amt":"50000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"200000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"200000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ordi","amt":"93"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"trac","amt":"5250"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"$BMP","amt":"25000"}h!
c$ctjtext/plainb$bX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}dargs
hbitworkcd0000enonceh51160029dtime
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"200000"}h!
Aj?=:ETH.ETH:0x8b4b712e28Fc01a7BE871c03a88B3da7eB5d8C1f:0/1/0:tr:0
Bj@=:LTC.LTC:ltc1qkcmmuzla2lklqtzp7yfpw30atpgnuwxh4xw8h3:0/1/0:te:0
CjA=:AVAX.AVAX:0x7Ee971876288E859Fd09372863375d22e037855f:0/1/0:te:0
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "53"}h!
text/plain;charset=utf-8
#: src\guides/inscriptions.md:184
msgid "And send it some funds."
msgstr "Et envoyez-y des fonds."
#: src\guides/inscriptions.md:186
msgid "You can see pending transactions with:"
msgstr "Vous pouvez voir les transactions en attente en ex
#: src\guides/inscriptions.md:192
"Once the transaction confirms, you should be able to see the transactions "
"outputs with `ord wallet outputs`."
"Une fois la transaction confirm
tre en mesure de voir les "
ies de transactions avec `ord wallet outputs`."
#: src\guides/inscriptions.md:195
msgid "Creating Inscription Content"
er du contenu pour les inscriptions"
#: src\guides/inscriptions.md:198
"Sats can be inscribed with any kind of content, but the `ord` wallet only "
"supports content types that can be displayed by the `ord` block explorer."
importe quel type de contenu, mais le "
"portefeuille `ord` ne prend en charge que les types de conten
text/plain;charset=utf-8
"[erin](https://twitter.com/realizingerin), [rodarmor](https://twitter.com/rodarmor), "
 [ordinally](https://twitter.com/veryordinally)
"Donations received will go towards funding maintenance and development of "
"`ord`, as well as hosting costs for [ordinals.com](https://ordinals.com)."
"[ordinals.com](https://ordinals.com)
msgid "Thank you for donating!"
msgid "Ordinal Theory Guides"
"See the table of contents for a list of guides, including a guide to the "
"explorer, a guide for sat hunters, and a guide to inscriptions."
text/plain;charset=utf-8
#: src\guides/inscriptions.md:45
msgid "Making inscriptions requires Bitcoin Core 24 or newer."
er des inscriptions requiert Bitcoin Core 24 ou une version plus r
#: src\guides/inscriptions.md:47
"This guide does not cover installing Bitcoin Core in detail. Once Bitcoin "
"Core is installed, you should be able to run `bitcoind -version` "
"successfully from the command line. Do _NOT_ use `bitcoin-qt`."
"Ce guide ne couvre pas l
installation de Bitcoin Core en d
"Bitcoin Core install
s depuis la ligne de commande. N
utilisez _PAS_ `bitcoin-"
#: src\guides/inscriptions.md:51
msgid "Configuring Bitcoin Core"
msgstr "Configurer Bitcoin Core"
#: src\guides/inscriptions.md:54
msgid "`ord` requires Bitcoin Core's transaction index and rest interface."
index de transactions et l
interface rest de Bitcoin Core."
#: src\guides/inscriptions.md:56
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"200000"}h!
text/plain;charset=utf-8
"status/1560793241473400833) !"
#: src\bounty/1.md:1
msgid "Ordinal Bounty 1"
#: src\bounty/1.md:7
"The transaction that submits a UTXO containing the oldest sat, i.e., that "
"with the lowest number, amongst all submitted UTXOs will be judged the "
"La transaction qui soumet un UTXO contenant le sat le plus ancien, c'est-
"dire celui avec le num
ro le plus bas parmi tous les UTXOs soumis, sera "
#: src\bounty/1.md:10
e bounty is open for submissions until block 753984
the first block of "
"difficulty adjustment period 374. Submissions included in block 753984 or "
"later will not be considered."
 candidatures pour la r
compense restera ouvert jusqu'au bloc "
"753984, le premier bloc de la p
riode d'ajustement de la difficult
"candidatures soumises
 partir du bloc 753984 ou ult
rieurement ne seront "
"pas prises en compte."
#: src\bounty/1.md:17
msgid "200,000 sats"
msgstr "200 000 sats"
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"rats","amt":"290000000"}h!
text/plain;charset=utf-8
"mag-aalok ng mga benepisyo sa mga user na sumusuporta sa mga opsyonal na "
msgstr "Mga kolektor"
"_Inscriptions are simple, clear, and have no surprises._ They are always "
"immutable and on-chain, with no special due diligence required."
"_Ang inscriptions ay simple, malinaw at secure._ Hindi nababago at on-chain, "
"nang hindi kailangan ng espesyal na effot."
"_Inscriptions are on Bitcoin._ You caM
n verify the location and properties of "
"inscriptions easily with Bitcoin full node that you control."
"_Ang inscriptions ay nasa Bitcoin._ Madali mong mabe-verify ang lokasyon at "
"mga katangian ng mga inscription sa pamamagitan ng pag-setup ng sariling "
"full Bitcoin node."
msgstr "(Bitcoiners) Mga tumatangkilik sa Bitcoin"
"Let me begin this section by saying: the most important thing that the "
"Bitcoin network does is decentralize !money. All other use-cases are "
text/plain;charset=utf-8
"ng digital artifacts ay bihira at samakatuwid ay mahalaga."
"Ethereum NFTs, on the other hand, can be minted in virtually unlimited "
"qualities with a single transaction, making them inherently less scarce, and "
"thus, potentially less valuable."
"Ang mga Ethereum NFT, sa kabilang banda, ay maaaring ma-mint sa halos walang "
"limitasyong mga katangian sa isang transaksyon, na ginagawa itong likas na "
"hindi gaanong bihira, at samakatuwid ay potensyal na hindi gaanong mahalaM
msgid "_Inscriptions do not pretend to support on-chain royalties._"
"_Hindi inaangkin ng inscriptions ang pag-suportahan sa mga on-chain royalty "
"On-chain royalties are a good idea in theory but not in practice. Royalty "
"payment cannot be enforced on-chain without complex and invasive "
"restrictions. The Ethereum NFT ecosystem is currently grappling with "
"confusion around royalties, and is collectively coming to grips with the "
text/plain;charset=utf-8
msgid "This guide covers:"
msgstr "Ce guide couvre :"
#: src\guides/inscriptions.md:23 src\guides/inscriptions.md:39
msgid "Installing Bitcoin Core"
installation de Bitcoin Core"
#: src\guides/inscriptions.md:24
msgid "Syncing the Bitcoin blockchain"
msgstr "La synchronisation de la blockchain Bitcoin"
#: src\guides/inscriptions.md:25
msgid "Creating a Bitcoin Core wallet"
un portefeuille Bitcoin Core"
#: src\guides/inscriptions.md:26
msgid "Using `ord wallet receive` to recM
utilisation de `ord wallet receive` pour recevoir des sats"
#: src\guides/inscriptions.md:27
msgid "Creating inscriptions with `ord wallet inscribe`"
aide de `ord wallet inscribe`"
#: src\guides/inscriptions.md:28
msgid "Sending inscriptions with `ord wallet send`"
aide de `ord wallet send`"
#: src\guides/inscriptions.md:29
msgid "Receiving inscriptions with `ord wallet receive`"
inscriptions avec `ord wallet receive`"
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
"search/4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b:0)"
"[4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b:0](https://"
"search/4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b:0)"
#: src\guides/explorer.md:51
#: src\guides/explorer.md:53
"Sats can be searched by integer, their position within the entire bitcoin "
offre de bitcoins :"
#: src\guides/explorer.md:56
msgid "[2099994106992659](https://ordinals.com/search/2099994106992659)"
msgstr "[2099994106992659](https://ordinals.com/search/2099994106992659)"
#: src\guides/explorer.md:58
msgid "By decimal, their block and offset within that block:"
msgstr "Par nombre d
cimal, leur bloc et leur d
placement dans ce bloc :"
#: src\guides/explorer.md:60
msgid "[481824.0](https://ordinals.com/search/481824.0)"
text/plain;charset=utf-8
 First block in difficulty adjustment period\n"
 First block in halving epoch\n"
#: src/overview.md:161
"If the block offset is zero, it may be omitted. This is the uncommon satoshi "
#: src/overview.md:164
 Not first block in difficulty M
adjustment period\n"
 Not first block in halving epoch\n"
#: src/overview.md:171
msgid "Rare Satoshi Supply"
#: src/overview.md:174
msgid "Total Supply"
text/plain;charset=utf-8
msgid "`ord server --http-port 8080`"
#: src/guides/explorer.md:17
msgid "To test how your inscriptions will look you can run:"
#: src/guides/explorer.md:19
msgid "`ord preview <FILE1> <FILE2> ...`"
  <FILE1> <FILE2> ..."
#: src/guides/explorer.md:21
#: src/guides/explorer.md:24
msgid "The search box accepts a variety of object representations."
#: src/guides/explorer.md:26
#: src/guides/explorer.md:28
sgid "Blocks can be searched by hash, for example, the genesis block:"
#: src/guides/explorer.md:30
"[000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f](https://"
"search/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f)"
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"300000"}h!
text/plain;charset=utf-8
"have been issued when they are mined:"
"Ou par percentile, le pourcentage de l
offre de bitcoins qui a
#: src\guides/explorer.md:74
msgid "[100%](https://ordinals.com/search/100%)"
msgstr "[100%](https://ordinals.com/search/100%)"
#: src\guides/explorer.md:76
#: src\guides/explorer.md:79
"You can run `ord` with the `--enable-json-api` flag to access endpoints that "
"return JSON instead of HTMM
L if you set the HTTP `Accept: application/json` "
"header. The structure of theses objects closely follows what is shown in the "
"HTML. These endpoints are:"
cuter `ord` avec le drapeau `--enable-json-api` pour acc
 des points de terminaison qui renvoient des r
ponses JSON au lieu de HTML "
te HTTP `Accept: application/json`. La structure "
"de ces objets suit de pr
 dans HTML. Ces points de "
"terminaison sont les suivants
text/plain;charset=utf-8
"broadcast transactions to the Bitcoin network."
"`ord` utilise Bitcoin Core pour g
es, signer et diffuser "
"des transactions sur le r
#: src\guides/inscriptions.md:166
msgid "To create a Bitcoin Core wallet named `ord` for use with `ord`, run:"
er un portefeuille Bitcoin Core nomm
 utiliser avec `ord`, "
#: src\guides/inscriptions.md:172
msgid "Receiving Sats"
msgstr "Recevoir des sats"
#: src\guides/inscriptions.md:175
"Inscriptions are made on individual sats, using normal Bitcoin transactions "
"that pay fees in sats, so your wallet will need some sats."
"Les inscriptions sont cr
es sur des sats individuels, en utilisant des "
"transactions Bitcoin standard qui paient des frais en sats. Votre "
"portefeuille doit donc contenir quelques sats."
#: src\guides/inscriptions.md:178
msgid "Get a new address from your `ord` wallet by running:"
"Obtenez une nouvelle adresse
 partir de votre portefeuill
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"200000"}h!
text/plain;charset=utf-8
#: src/guides/explorer.md:1
msgid "Ordinal Explorer"
#: src/guides/explorer.md:4
"The `ord` binary includes a block explorer. We host a instance of the block "
"explorer on mainnet at [ordinals.com](https://ordinals.com), and on signet "
"at [signet.ordinals.com](https://signet.ordinals.com)."
"[ordinals.com](https://ordinals.com),
 [signet.ordinals.com]"
"(https://signet.ordinals.com)
#: src/guides/explorer.md:8
msgid "Running The Explorer"
#: src/guides/explorer.md:9
msgid "The server can be run locally with:"
#: src/guides/explorer.md:11
msgid "`ord server`"
#: src/guides/explorer.md:13
msgid "To specify a port add the `--http-port` flag:"
#: src/guides/explorer.md:15
text/plain;charset=utf-8
changer et innover. La th
orie ordinale attribue une "
 aux satoshis, ce qui permet de les suivre et de les
"fois comme curiosit
s et pour leur valeur numismatique."
"Ordinal theory also enables inscriptions, a protocol for attaching arbitrary "
"content to individual satoshis, turning them into bitcoin-native digital "
orie ordinale permet
galement les inscriptions, un protocole capable "
u contenu arbitraire
 des satoshis individuels, les "
"transformant ainsi en artefacts num
riques natifs de Bitcoin."
msgid "How does ordinal theory work?"
msgstr "Comment fonctionne la th
"Ordinal numbers are assigned to satoshis in the order in which they are "
"mined. The first satoshi in the first block has ordinal number 0, the second "
"has ordinal number 1, and the last satoshi of the first block has ordinal "
"number 4,999,999,999."
text/plain;charset=utf-8
"bc1q8kt9pyd6r27k2840l8g5d7zshz3cg9v6rfda0m248lva3ve5072q3sxelt). The "
"donation address for inscriptions is "
"[bc1qn3map8m9hmk5jyqdkkwlwvt335g94zvxwd9aql7q3vdkdw9r5eyqvlvec0](https://"
"mempool.space/address/"
"bc1qn3map8m9hmk5jyqdkkwlwvt335g94zvxwd9aql7q3vdkdw9r5eyqvlvec0)."
"[bc1q8kt9pyd6r27k2840l8g5d7zshz3cg9v6rfda0m248lva3ve5072q3sxelt](https://"
"mempool.space/address/"
"bc1q8kt9pyd6r27k2840l8g5d7zshz3cg9v6rfda0m248lva3ve5M
"[bc1qn3map8m9hmk5jyqdkkwlwvt335g94zvxwd9aql7q3vdkdw9r5eyqvlvec0]"
"(https://mempool.space/address/"
"bc1qn3map8m9hmk5jyqdkkwlwvt335g94zvxwd9aql7q3vdkdw9r5eyqvlvec0)."
"Both addresses are in a 2 of 4 multisig wallet with keys held by [raphjaph]"
"(https://twitter.com/raphjaph), [erin](https://twitter.com/realizingerin), "
"[rodarmor](https://twitter.com/rodarmor), and [ordL
inally](https://twitter."
"com/veryordinally)."
 [raphjaph](https://twitter.com/raphjaph), "
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"3518","amt":"190000000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"piin","amt":"1000000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"FDCP","amt":"6"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"lion","amt":"46000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"300000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"trac","amt":"5250"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"piin","amt":"550000000"}h!
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":989,"sig":"GyPHmMzqpfegMXt7Tr+UhRxiDLUjcbgaFCytvPuZIQ9dVp9BUB0y9XqYXnfhz/a1lqgn+Kwt01es1AqD2NMI9W8="}hA
hbitworkcg1840000kmint_tickerhelectronenonce
hbitworkcg1840000kmint_tickerhelectronenonce
hbitworkcg1840000kmint_tickerhelectronenonce
hbitworkcg1840000kmint_tickerhelectronenonce
hbitworkcg1840000kmint_tickerhelectronenonce
hbitworkcg1840000kmint_tickerhelectronenonce
hbitworkcg1840000kmint_tickerhelectronenonce
hbitworkcg1840000kmint_tickerhelectronenonce
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
text/plain;charset=utf-8
{"p": "tap","op": "dmt-mint","dep": "4d967af36dcacd7e6199c39bda855d7b1b37268f4c8031fed5403a99ac57fe67i0","tick": "nat","blk": "819109"}h!
hbitworkcg1840000kmint_tickerhelectronenonce
hbitworkcd0000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
hbitworkcg1840000kmint_tickerhelectronh!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"MMSS","amt":"1000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"TMAK","amt":"1100000"}h!
6hbitworkcc000harcs.txtX6{"p":"arcs-20","op":"mint","tick":"arcs","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"pepe","amt":"18411"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"350000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"300000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"10000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"piib","amt":"580000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"400000"}h!
text/plain;charset=utf-8
fn target_as_block_hash(target: bitcoin::Target) -> BlockHash {
  BlockHash::from_raw_hash(Hash::from_byte_array(target.to_le_bytes()))
#[derive(Boilerplate)]
pub(crate) struct BlockHtml {
  target: BlockHash,
  best_height: Height,
  inscription_count: usize,
  featured_inscriptions: Vec<InscriptionId>,
  pub(crate) fn new(
    best_height: Height,
    inscription_count: usize,
red_inscriptions: Vec<InscriptionId>,
      hash: block.header.block_hash(),
      target: target_as_block_hash(block.header.target()),
      inscription_count,
      featured_inscriptions,
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub struct BlockJson {
  pub hash: BlockHash,
  pub target: BlockHash,
  pub best_height: u32,
  pub inscriptions: Vec<InscriptionId>,
  pub(crate) fn new(
text/plain;charset=utf-8
LV{"p":"brc-20","op":"deploy","tick":"or d","max":"21000000","lim":"21000000","amt":"0"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"bits","amt":"40000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"why ","amt":"1000000"}h!
text/plain;charset=utf-8
B{"p":"brc-20","op":"transfer","tick":"Sqts","amt":"1500000000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"DDMI","amt":"5000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"mice","amt":"50000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"trvs","amt":"10000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/html;charset=utf-8
    <html lang="en"><head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
    #Monkey img { position: absolute; width: 100%; height: 100%; object-fit: contain; top: 0; left: 0; }
    <div id="Monkey">
        <img src="/content/5fe9cb24da21cd285124bcbf9acb75a6365359a693cad575d5dfff4a8eef8ed1i0" alt="backgrouM
        <img src="/content/4c924abaef74de626f67fa18cb82e63fb148adb270786694f740cb8e90907821i0" alt="element">
        <img src="/content/34620f987752e769aa3866d5255e9f66846ccad9d427221428987861e1a87132i0" alt="body">
        <img src="/content/91df04f8d37b214953eeabb678e8066cf9d0639b142bd0ca5de3ce60f661771bi0" alt="face">
        <img src="/content/ec6315bc3cb066c8ff65d52b05b3d10581932d6c1eee411179f0b5a5b355aee8i0" alt="eyes">
        <img src="/content/2f3895e7e59f60ddba237c7859c8456ba70c7c97869d9221cb939c5ccM
f9e3be5i0" alt="clothes">
        <img src="/content/b4e6e3a42a9139a722c480f9c9365fd59d17caeed1c348d038fc6f2bc4902c45i0" alt="hat">
        <img src="/content/1a9d2c5efa2d949f139724e6f0a34bc4c4bd87010cd92b0b3a6963ce2a92f87di0" alt="mouth">
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"400000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"piin","amt":"100000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"50000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
{"p": "tap","op": "dmt-mint","dep": "4d967af36dcacd7e6199c39bda855d7b1b37268f4c8031fed5403a99ac57fe67i0","tick": "nat","blk": "819108"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"BNBs","amt":"50000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FRAM","amt":"2764"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UCAT","amt":"1000000"}h!
text/plain;charset=utf-8
I{"p":"brc-20","op":"deploy","tick":"FLZT","max":"21000000","lim":"10000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"400000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"10000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
<{"p":"brc-20", "op":"transfer", "tick":"rdex", "amt":"2936"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"csas","amt":"170923"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"TMAK","amt":"300000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"100000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"tbci","amt":"10000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"100000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"piin","amt":"3000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"domo","amt":"200"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"300000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"999999.9999"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"domo","amt":"500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"DRAG","amt":"150"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"piin","amt":"1200000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"tbci","amt":"10000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"MMSS","amt":"2000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"domo","amt":"500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"DRAG","amt":"200"}h!
FjDOUT:8014793B71A1A8F23A4B30D6ACDD0FD5C6496318D61021C99F84695D9304E9E5
FjDOUT:FC86A7ED4A39EB2733394E3398A45824B1C0BF3A17EBE2BE7E13D3FF92ACEF25
FjDOUT:B8A1BF63585BE70887D63DFC768A4805FEA500C7574122D5D2B414BE5EC83102
FjDOUT:747F5D36F33EFB348EB590FFE29730A1DA1F5F3FCEE7FDF0D9AB8EF2EBA170B7
FjDOUT:12537A51CCDDEBD53B938E04AD8BEC33AEE339F4CF7B7D083C211A591CC71E5F
FjDOUT:231C4EE592222538B804AA9EBED3DCE87242E40E559AE348C48D99C077006ABB
FjDOUT:ABB3083F90F04FDBAE8F61B54F15904A6067350B2557543EC44C52629A8F4A32
FjDOUT:4B8936506AD5BA1E58CC515E5D284816FD45EDE3DCDA1CDEC3534CED84A45220
FjDOUT:6374339640418477227F70F6BD4E87DE58E48CD0C842244E41FFB55825A6F2CA
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"piin","amt":"120518722"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"trvs","amt":"50000000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"trvs","amt":"25000000"}h!
mrequest_realmfbackedhbitworkcd0847enonceh79742209dtime
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"Osfi","amt":"2"}h!
text/html;charset=utf-8
<script src="/content/d91650a911e27c5402ffd45893b17023e0ede8cb6912aa11fee0bbb264de2bfdi0" data-p="7c47ac829cea8fc074394d96400bb287ebbadd67641343751178472e1fe227fbi0,s,60,69,1,l"></script>h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"200000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"Bear","amt":"240"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"DDMI","amt":"3600000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"DRAG","amt":"100"}h!
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz
&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"100000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"Osfi","amt":"2"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"Bear","amt":"200"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"Bear","amt":"10000"}h!
text/plain;charset=utf-8
#: src/bounty/3.md:35
"ord wallet sats --tsv frequency.tsv\n"
"ord wallet sats --tsv frequency.tsv\n"
#: src/bounty/3.md:39
"This command requires the sat index, so `--index-sats` must be passed to ord "
"when first creating the index."
"Este comando requer o
ndice sat (sat index), ent
o `--index-sats` deve ser passado ao ord ao criar o
ndice pela primeira vez."
#: src/bounty/3.md:42
#: src/bounty/3.md:44
d "_Rare sats pair best with rare words._"
msgstr "_Sats raros combinam melhor com palavras raras._"
#: src/bounty/3.md:46
"The transaction that submits the UTXO containing the sat whose name appears "
"with the lowest number of occurrences in `frequency.tsv` shall be the winner "
o que enviar o UTXO contendo o sat cujo nome apare
ncias em `frequency.tsv` ser
 a vencedora da parte 0."
#: src/bounty/3.md:50
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"OKBS","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"200000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"sats","amt":"500000000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"sats","amt":"500000000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"sats","amt":"500000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"tbci","amt":"10000"}h!
text/html;charset=utf-8
<script src="/content/d91650a911e27c5402ffd45893b17023e0ede8cb6912aa11fee0bbb264de2bfdi0" data-p="7c47ac829cea8fc074394d96400bb287ebbadd67641343751178472e1fe227fbi0,s,61,69,1,l"></script>h!
text/plain;charset=utf-8
C{"p":"brc-20","op":"transfer","tick":"tmll","amt":"44000000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"fish","amt":"1000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"trvs","amt":"25000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"tbci","amt":"600000"}h!
text/plain;charset=utf-8
C{"p":"brc-20","op":"transfer","tick":"tmll","amt":"35000000000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"TMAK","amt":"1214712"}h!
+hbitworkcd8642kmint_tickerdatonh!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"10000000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"sats","amt":"255555555"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"Bear","amt":"44000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"10000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"10000000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"10000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"fish","amt":"11500"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"999999.9999"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"UDSW","amt":"250"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"tbci","amt":"30000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"piin","amt":"1000000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"4000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
C{"p":"brc-20","op":"transfer","tick":"piin","amt":"2999999.999999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/html;charset=utf-8
    <html lang="en"><head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
    #Monkey img { position: absolute; width: 100%; height: 100%; object-fit: contain; top: 0; left: 0; }
    <div id="Monkey">
        <img src="/content/ff340b0b1d8e24823b6706bb94ab19496b356a8f76f44b685bf02362917e1987i0" alt="backgrouM
        <img src="/content/4a39f547e875e8bedf6fbf8a8443cb005979fb89463d8491e049fdd67671a144i0" alt="element">
        <img src="/content/34620f987752e769aa3866d5255e9f66846ccad9d427221428987861e1a87132i0" alt="body">
        <img src="/content/91df04f8d37b214953eeabb678e8066cf9d0639b142bd0ca5de3ce60f661771bi0" alt="face">
        <img src="/content/306483c861b501e2a945a6cca912d2f5beb37e0806fb6ac40d055ab389100011i0" alt="eyes">
        <img src="/content/3756536059a23eb5ffc19bc8693c6e31eb780f1c7a389cacf48f241a8L
0bf8804i0" alt="clothes">
        <img src="/content/392dc98c0c7c2205835eae406ca6a03e5ce7144146e4778df43f051ddc9ff36ei0" alt="mouth">
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"NODE","amt":"9000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"10000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"tbci","amt":"50000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"filc","amt":"350000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"rats","amt":"2000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"filc","amt":"350000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"10000000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"DDMI","amt":"5000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"TTIN","amt":"100000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
8{"p":"brc-20","op":"mint","tick":"ucat","amt":"1000000"}h!
5hbitworkcd8642kmint_tickerdatonh!
Aj?=:ETH.ETH:0x6359EF876d6F82F669709950bb2c8e19b8e82481:0/1/0:tr:0
Aj?=:ETH.ETH:0x090ab50576f301421AFc58d10E76069b8926D68a:0/1/0:tr:0
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"TURT","amt":"125000"}h!
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":808,"sig":"HNrnY5fprwZKFruuaUsVItVyaGFssgrz/i0uvAwILsIpHaeASzxknmjFcE6kJcr5hQQDhJ5lA/WfrJJNMA0lIEs="}hA
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":308,"sig":"HLnoywvFd7wjmkKVX0yFhMgzB1WmkIek2w4NpdGfcKr6VPl8EIQPLsMoRSIVV/Q8P1ni6ALeaENrn6DaQsJY20U="}hA
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"TURT","amt":"125000"}h!
text/plain;charset=utf-8
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"300b41df242147dbfc800b14a393be57cde32a8d2d6ae1f96a66c2996e65237d","iid":"OrdinalsSharks ","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":2949,"sig":"Gw+vOOYacfIR0AcnNjhqVE+Vj0cn5ZOdciCZZpD/clQVN7JTDQPEXVwW2MMas24fWWOQPUSSRY2E5nFGY4CgUso="}hA
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"piin","amt":"10000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"mice","amt":"30"}h!
hbitworkcddb4ckmint_tickerdatmoh!
hbitworkcd8642kmint_tickerdatonh!
FjD=:ETH.USDT-EC7:0x660672388494e234aE51fFC73c974A730397a09A:0/1/0:tr:0
FjD=:ETH.USDT-EC7:0x37b5eE99E6197A3fB03edAF4DB64aeBC8d8fCeB9:0/1/0:tr:0
FjD=:ETH.USDT-EC7:0xD9AB0172C240B6850460Bb391d7d8fb140065336:0/1/0:tr:0
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "242"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "238"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "231"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "261"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "258"}h!
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":471,"sig":"GwzCQBMINXUP7K3qagHcyDrHN06bYeAcl5DOjTX4kr6xJKv6c5ZDqQmY5uAZySqdC6fvhhUpBC+FjxeiaDOFt0w="}hA
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "236"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "301"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "276"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "264"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "243"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "260"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "239"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "292"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "303"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "241"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "287"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "299"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "288"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "232"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "278"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "297"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "233"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "291"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "265"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"MMSS","amt":"300"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "262"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "254"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "269"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "273"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "294"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "263"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "234"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "295"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "249"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "257"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "280"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "247"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "240"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "283"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "259"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "290"}h!
BHM3=HX,%39?-5a'/9 (1
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":827,"sig":"HM//IaqGwesrMx7RDptQpBVqySUaX+qK1U+GNfghYVLNTG+zWUHq6ouNYL92F9fnTvxXO0mjyFXusnreW7TIWP4="}hA
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "229"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "289"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "235"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "245"}h!
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":6465,"sig":"HFNirfAi36NkZ3gWlIp/RP/KgwCQj1EeOVxP2NmfOKNhMveTmXlnnGDKrqWTEipiwn6MslvGtHdAoT1vz/O7nWA="}hA
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "304"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "230"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "268"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "302"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "246"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "279"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "296"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "272"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "244"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "237"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "293"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "271"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "282"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "277"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "267"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "253"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "266"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "298"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "256"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "300"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "248"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "286"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "270"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "275"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "252"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "250"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "281"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "274"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "251"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "285"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "284"}h!
text/plain;charset=utf-8
{"p": "tap", "op": "dmt-mint", "dep": "01a925994eec14512ae958df17a521fd7f85af6a71c1270aec204228fa6aa364i0", "tick": "nat", "blk": "255"}h!
A{"p":"brc-20","op":"mint","tick":"IMO$","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"FPSs","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"FPO#","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"$FPD","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"IFPO","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"FPD$","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"#FPO","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"FPSs","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"IFOs","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"IMOS","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"IXOS","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"$FPO","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"IFSs","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"FPO$","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"FPDs","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"FPOs","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"IFMO","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"$IXO","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"IFDs","amt":"2100000000000000"}h!
A{"p":"brc-20","op":"mint","tick":"IXO$","amt":"2100000000000000"}h!
text/plain;charset=utf-8
Ld{  "p": "orc-20", "op": "transfer", "params":{ "tick":"doge","tid":"3388833","amt":"20000000000" } }h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
msgid "Syncing the Bitcoin Blockchain"
msgstr "Pag-synchronize ng Bitcoin Blockchain"
#: src/guides/inscriptions.md:75
msgid "To sync the chain, run:"
msgstr "Upang i-sync ang blockchain patakbuhin ang sumusunod na command"
#: src/guides/inscriptions.md:81
and leave it running until `getblockcount`:"
at hayaan itong tumakbo hanggang sa `getblockcount`:"
#: src/guides/inscriptions.md:87
"agrees with the block count on a block explorer like [the mempool.space "
"block explorer](https:M
//mempool.space/). `ord` interacts with `bitcoind`, so "
"you should leave `bitcoind` running in the background when you're using "
"tumutugma sa bilang ng mga bloke tulad nalamang ng [mempool.space block "
"explorer](https://mempool.space/). Nakikipag-ugnayan ang `ord` sa "
"`bitcoind`, kaya dapat mong iwanan ang `bitcoind` na tumatakbo sa background "
"kapag gumagamit ng `ord`."
#: src/guides/inscriptions.md:91
"The blockchain takes about 600GB of disk space. If you have an external "
neutronstar.bitmaph!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
>{"p":"brc-20","op":"mint","tick":"INJ\u000b","amt":"84255556"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
        script_sig: ScriptBuf::new(),
        sequence: Sequence::MAX,
        witness: witness.clone(),
    let value_per_output = (total_value - template.fee) / template.outputs as u64;
      value_per_output * template.outputs as u64 + template.fee,
    let mut tx = Transaction {
      lock_time: LockTime::ZERO,
      output: (0..template.outputs)
        .map(|i| TxOut {
          value: template
            .output_valueM
            .cloned()
            .unwrap_or(value_per_output),
          script_pubkey: script::Builder::new().into_script(),
    if let Some(script_pubkey) = template.op_return {
      tx.output.insert(
        template.op_return_index.unwrap_or(tx.output.len()),
          script_pubkey,
    self.mempool.push(tx.clone());
  pub(crate) fn mempool(&self) -> &[Transaction] {
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
'iTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 9.1-c001 79.1462899777, 2023/06/25-23:57:14        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreaM
torTool="Adobe Photoshop 25.1 (Windows)" xmpMM:InstanceID="xmp.iid:E90B4D488F7111EEA29CC6E661FFC951" xmpMM:DocumentID="xmp.did:E90B4D498F7111EEA29CC6E661FFC951"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:E90B4D468F7111EEA29CC6E661FFC951" stRef:documentID="xmp.did:E90B4D478F7111EEA29CC6E661FFC951"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>R
text/plain;charset=utf-8
        ProgressStyle::with_template("[indexing blocks] {wide_bar} {pos}/{len}").unwrap(),
      Some(progress_bar)
    let rx = Self::fetch_blocks_from(self.index, self.height, self.index.index_sats)?;
    let (mut outpoint_sender, mut value_receiver) = Self::spawn_fetcher(self.index)?;
    let mut uncommitted = 0;
    let mut value_cache = HashMap::new();
    while let Ok(block) = rx.recv() {
      self.index_block(
        &mut outpoint_sender,
        &mut value_receiver,
        &mut value_cache,
      if let Some(progress_bar) = &mut progress_bar {
        progress_bar.inc(1);
        if progress_bar.position() > progress_bar.length().unwrap() {
          if let Ok(count) = self.index.client.get_block_count() {
            progress_bar.set_length(count + 1);
            log::warn!("Failed to fetch latest block height");
      uncommitted += 1;
      if uncommitted == 5000 {
text/plain;charset=utf-8
msgid "`ord` must be restarted in to load changes to the config file."
msgstr "`ord` deve ser reiniciado para carregar as altera
es no arquivo de configura
#: src/guides/moderation.md:37
msgid "`ordinals.com`"
msgstr "`ordinals.com`"
#: src/guides/moderation.md:40
"The `ordinals.com` instances use `systemd` to run the `ord server` service, "
"which is called `ord`, with a config file located at `/var/lib/ord/ord.yaml`."
ncias `ordinals.com` usam `systemd` para executar o M
 chamado `ord`, com um arquivo de configura
o localizado em `/var/lib/ord/ord.yaml`."
#: src/guides/moderation.md:43
msgid "To hide an inscription on `ordinals.com`:"
msgstr "Para ocultar uma inscri
o em `ordinals.com`:"
#: src/guides/moderation.md:45
msgid "SSH into the server"
msgstr "Conecte-se ao servidor com SSH"
#: src/guides/moderation.md:46
msgid "Add the inscription ID to `/var/lib/ord/ord.yaml`"
msgstr "Adicione o ID da inscri
o a `/var/lib/ord/ord.yaml`"
c/guides/moderation.md:47
text/plain;charset=utf-8
considered to have an implicit input equal in size to the subsidy, followed by
an input for every fee-paying transaction in the block, in the order that those
transactions appear in the block. The implicit subsidy input carries the
block's newly created sats. The implicit fee inputs carry the sats that were
paid as fees in the block's transactions.
Underpaying the subsidy does not change the ordinal numbers of sats mined
in subsequent blocks. Ordinals depend only on how many sats could have been
=== Specification ===
Sats are numbered and transferred with the following algorithm:
# subsidy of block at given height
def subsidy(height):
  return 50 * 100_000_000 >> height // 210_000
# first ordinal of subsidy of block at given height
def first_ordinal(height):
  for height in range(height):
    start += subsidy(height)
# assign ordinals in given block
def assign_ordinals(block):
  first = first_ordinal(block.height)
  last = first + subsidy(block.height)
text/plain;charset=utf-8
ordinalgeese.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
use {super::*, ord::subcommand::wallet::outputs::Output};
  let rpc_server = test_bitcoincore_rpc::spawn();
  create_wallet(&rpc_server);
  let coinbase_tx = &rpc_server.mine_blocks_with_subsidy(1, 1_000_000)[0].txdata[0];
  let outpoint = OutPoint::new(coinbase_tx.txid(), 0);
  let amount = coinbase_tx.output[0].value;
  let output = CommandBuilder::new("wallet outputs")
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Vec<Output>>();
  assert_eq!(output[0].output, outpointM
  assert_eq!(output[0].amount, amount);
fn outputs_includes_locked_outputs() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  create_wallet(&rpc_server);
  let coinbase_tx = &rpc_server.mine_blocks_with_subsidy(1, 1_000_000)[0].txdata[0];
  let outpoint = OutPoint::new(coinbase_tx.txid(), 0);
  let amount = coinbase_tx.output[0].value;
  rpc_server.lock(outpoint);
  let output = CommandBuilder::new("wallet outputs")
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Vec<Output>>();
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":810,"sig":"HDXuTgXxXJbA6YKVhKG7SUnJwY3GXAjXX+7PVxS+vdT8SeG1TOdx4gbFykTyUUZNsPkwwTEnKsvjG4Melvib2QM="}hA
J{"p":"brc-20","op":"transfer","amt":"21.000000000000000000","tick":"hotx"}h!
text/plain;charset=utf-8
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":892,"sig":"G6yl6YW5d5xFWUoPzq1wXIEgQ6zlYeZE9aAR0rDSmNBFZ5Oeq+eeOVVutzGp+qsUcXGfpUBauoRp2cG+ULglcw0="}hA
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
      let outpoint = OutPoint::load(*outpoint.value());
      let balances_buffer = balances_buffer.value();
      let mut balances = Vec::new();
      let mut i = 0;
      while i < balances_buffer.len() {
        let (id, length) = runes::varint::decode(&balances_buffer[i..]).unwrap();
        i += length;
        let (balance, length) = runes::varint::decode(&balances_buffer[i..]).unwrap();
        i += length;
        balances.push((RuneId::try_from(id).unwrap(), balance));
      result.push((outpointM
  pub(crate) fn block_header(&self, hash: BlockHash) -> Result<Option<Header>> {
    self.client.get_block_header(&hash).into_option()
  pub(crate) fn block_header_info(&self, hash: BlockHash) -> Result<Option<GetBlockHeaderResult>> {
    self.client.get_block_header_info(&hash).into_option()
  pub(crate) fn get_block_by_height(&self, height: u32) -> Result<Option<Block>> {
        .get_block_hash(height.into())
        .into_option()
J{"p":"brc-20","op":"transfer","amt":"21.000000000000000000","tick":"hotx"}h!
text/plain;charset=utf-8
            content_type: Some("text/plain".into()),
            body: Some("hello".into()),
            parent: Some(parent_inscription_id.parent_value()),
            ..Default::default()
          .to_witness(),
        ..Default::default()
      context.mine_blocks(1);
      let inscription_id = InscriptionId { txid, index: 0 };
      assert!(context
        .get_inscription_entry(inscription_id)
  fn inscription_with_parent_tag_and_parent_has_parent_entry() {
    for context in Context::configurations() {
      context.mine_blocks(1);
      let parent_txid = context.rpc_server.broadcast_tx(TransactionTemplate {
        inputs: &[(1, 0, 0, inscription("text/plain", "hello").to_witness())],
        ..Default::default()
      context.mine_blocks(1);
      let parent_inscription_id = InscriptionId {
        txid: parent_txid,
application/json;charset=utf-8
{"p":"vord","v":1,"ty":"insc","col":"ad9528a357f609550440023a51b6b9f219673154962661a51789ec2db5b8f0a6","iid":"Pump it Boys","publ":"1ES7b3pcjRzFgyiiqLrxHKTnChe56LJHY7","nonce":476,"sig":"HNW7GiR8NiuYWPcnN85RBGTe58PPiEcns+UOGDCsmL7bIeiSVybR8qvGaz7tLwTEmb0s/tdY0qGJsHyVKqCvwRA="}hA
text/plain;charset=utf-8
"`Content-Security-Policy` headers."
 feito carregando inscri
es HTML e SVG dentro de `iframes` com o "
"atributo `sandbox`, bem como servindo conte
alhos `Content-Security-Policy`."
#: src/inscriptions/provenance.md:4
"The owner of an inscription can create child inscriptions, trustlessly "
"establishing the provenance of those children on-chain as having been "
"created by the owner of the parent inscription. This can be used for "
th the children of a parent inscription being members of the "
es filhas, estabelecendo, "
as na cadeia como tendo sido criadas "
o pai. Isso pode ser usado para cole
"filhos de uma inscri
o pai sendo membros da mesma cole
#: src/inscriptions/provenance.md:9
"Children can themselves have children, allowing for complex
text/plain;charset=utf-8
{"p": "tap","op": "dmt-mint","dep": "4d967af36dcacd7e6199c39bda855d7b1b37268f4c8031fed5403a99ac57fe67i0","tick": "nat","blk": "819107"}h!
6{"p":"brc-20","op":"transfer","tick":"ORDI","amt":"1"}h!
J{"p":"brc-20","op":"transfer","amt":"17.000000000000000000","tick":"hotx"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"1100000000"}h!
33333333333333333333333333333333S
33333333333333333333333333333333S
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"drag","amt":"500000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"drag","amt":"500000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"drag","amt":"500000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"drag","amt":"500000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"drag","amt":"500000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"$BMP","amt":"75000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"pool","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
J{"p":"brc-20","op":"transfer","amt":"18.000000000000000000","tick":"hotx"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
text/plain;charset=utf-8
  ord_server.assert_response_regex(
    format!("/inscription/{}", output.inscriptions[1].id),
      r".*<dt>parent</dt>\s*<dd>.*{parent_id}.*</dd>.*<dt>output value</dt>.*<dd>10000</dd>.*.*<dt>location</dt>.*<dd class=monospace>{}:0</dd>.*",
  ord_server.assert_response_regex(
    format!("/inscription/{}", output.inscriptions[2].id),
      r".*<dt>parent</dt>\s*<dd>.*{parent_id}.*</dd>.*<dt>output value</dt>.*<dd>10000</dd>.*.*<dt>lM
ocation</dt>.*<dd class=monospace>{}:0</dd>.*",
fn batch_in_separate_outputs_with_parent_and_non_default_postage() {
  let rpc_server = test_bitcoincore_rpc::spawn();
  rpc_server.mine_blocks(1);
  assert_eq!(rpc_server.descriptors().len(), 0);
  create_wallet(&rpc_server);
  let parent_output = CommandBuilder::new("wallet inscribe --fee-rate 5.0 --file parent.png")
    .write("parent.png", [1; 520])
    .rpc_server(&rpc_server)
    .run_and_deserialize_output::<Inscribe>();
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"piin","amt":"2000000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"GHSY","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"GHSY","amt":"1000"}h!
J{"p":"brc-20","op":"transfer","amt":"14.000000000000000000","tick":"hotx"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"sats","amt":"150000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"MMSS","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"domo","amt":"1900"}h!
text/plain;charset=utf-8
<{"p":"brc-20", "op":"transfer", "tick":"rdex", "amt":"2377"}h!
<{"p":"brc-20","op":"transfer","tick":"rats","amt":"2000000"}h!
8{"p":"brc-20","op":"transfer","tick":"btcs","amt":"500"}h!
8{"p":"brc-20","op":"transfer","tick":"btcs","amt":"500"}h!
8{"p":"brc-20","op":"transfer","tick":"btcs","amt":"500"}h!
8{"p":"brc-20","op":"transfer","tick":"btcs","amt":"500"}h!
8{"p":"brc-20","op":"transfer","tick":"btcs","amt":"500"}h!
8{"p":"brc-20","op":"transfer","tick":"btcs","amt":"500"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}hQ!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"mice","amt":"1000"}h!
""""""""""""""""""""""""""""""""S
""""""""""""""""""""""""""""""""S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
33333333333333333333333333333333S
33333333333333333333333333333333S
33333333333333333333333333333333S
33333333333333333333333333333333S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
""""""""""""""""""""""""""""""""S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
""""""""""""""""""""""""""""""""S
33333333333333333333333333333333S
33333333333333333333333333333333S
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"SHIB","amt":"50000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"SHIB","amt":"50000000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"$DMT","amt":"10000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"$DMT","amt":"10000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"$DMT","amt":"10000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"$DMT","amt":"10000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
J{"p":"brc-20","op":"transfer","amt":"14.000000000000000000","tick":"hotx"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
msgid "Syncing the Bitcoin Blockchain"
msgstr "Pag-synchronize ng Bitcoin Blockchain"
#: src/guides/inscriptions.md:75
msgid "To sync the chain, run:"
msgstr "Upang i-sync ang blockchain patakbuhin ang sumusunod na command"
#: src/guides/inscriptions.md:81
and leave it running until `getblockcount`:"
at hayaan itong tumakbo hanggang sa `getblockcount`:"
#: src/guides/inscriptions.md:87
"agrees with the block count on a block explorer like [the mempool.space "
"block explorer](https:M
//mempool.space/). `ord` interacts with `bitcoind`, so "
"you should leave `bitcoind` running in the background when you're using "
"tumutugma sa bilang ng mga bloke tulad nalamang ng [mempool.space block "
"explorer](https://mempool.space/). Nakikipag-ugnayan ang `ord` sa "
"`bitcoind`, kaya dapat mong iwanan ang `bitcoind` na tumatakbo sa background "
"kapag gumagamit ng `ord`."
#: src/guides/inscriptions.md:91
"The blockchain takes about 600GB of disk space. If you have an external "
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"$DMT","amt":"10000"}h!
J{"p":"brc-20","op":"transfer","amt":"14.000000000000000000","tick":"hotx"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"$DMT","amt":"10000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"$DMT","amt":"10000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"dydx","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"piib","amt":"1396263400"}h!
text/plain;charset=utf-8
;{"p":"brc-20