SHOWING: First 60
#71,562,237texttransfer300.pizza#71,410,128brc-20transfer500,000.merm#70,878,377brc-20transfer5,000,000.merm#70,296,477brc-20transfer200,000.cats#70,285,312brc-20transfer100,000.cats#69,499,638brc-20transfer250,000.cats#69,481,020brc-20transfer500,000.pmbs#68,421,673brc-20transfer30,000,000.atmt#68,325,489brc-20transfer500,000.cats#68,269,159brc-20minting-claim#66,035,863orc-20transfer1,050,000.cats#65,694,870brc-20reg108084.uniworlds#64,848,410snstransfer10,000.0522#60,612,524brc-20transfer200,000.cats#59,356,580brc-20transfer1,000,000.rats#54,273,532brc-20transfer1,000,000.rats#54,273,526brc-20transfer7,000,000.rats#54,200,481brc-20transfer300,000.cats#53,414,005brc-20mint.charactor:cultivator#51,558,709brc-1024mint.charactor:thunder#51,551,875brc-1024mint.charactor:soulbinder#51,548,243brc-1024mint.charactor:techie#51,548,242brc-1024transfer100,000.cats#51,497,879brc-20transfer1,000,000.rats#48,483,375brc-20transfer12,000.mice#48,063,037brc-20transfer200,000.cats#47,518,051brc-20 <div id="searchresults-header" class="searchresults-header"></div>
<ul id="searchresults">
</ul>
</div>
</div>
{{/if}}
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script>
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
});
</script>
<div id="content" class="content">
<main>
{{{ content }}}
</main>
<nav class="nav-wrapper" aria-label="Page navigation">
#45,054,471text assert_eq!(
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::<&PushBytes>(varint::encode(2).as_slice().try_into().unwrap())
.push_slice::<&PushBytes>(varint::encode(4).as_slice().try_into().unwrap())
.push_slice::<&PushBytes>(varint::encode(1).as_slice().try_into().unwrap())
.push_slice::<&PushBytes>(varint::encode(5).as_slice().try_into().unwrap())
.push_slice::<&PushBytes>(varint::encode(0).as_slice().try_into().unwrap())
.push_slice::<&PushBytes>(varint::encode(1).as_slice().try_into().unwrap())
.push_slice::<&PushBytes>(varint::encode(2).as_slice().try_into().unwrap())
.push_slice::<&PushBytes>(varint::encode(3).as_slice().try_into().unwrap())
.into_script(),
value: 0
}],
lock_time: locktime::absolute::LockTime::ZERO,
#45,023,075textmsgstr "寄付"
#: src/SUMMARY.md:11
msgid "Guides"
msgstr "ガイド"
#: src/SUMMARY.md:12
msgid "Explorer"
msgstr "ブラウザ"
#: src/SUMMARY.md:14 src/guides/sat-hunting.md:1
msgid "Sat Hunting"
msgstr "聡狩り"
#: src/SUMMARY.md:15 src/guides/collecting.md:1
msgid "Collecting"
msgstr "コレクション"
#: src/SUMMARY.md:16 src/guides/sat-hunting.md:239
msgid "Sparrow Wallet"
msgstr "雀のウォレット"
#: src/SUMMARY.md:17 src/guides/testing.md:1
msgid "Testing"
msgstr "テスティング"
#: src/SUMMARY.md:18 src/guides/moderation.md:1
msgid "Moderation"
msgstr "調節"
#: src/SUMMARY.md:19 src/guides/reindexing.md:1
msgid "Reindexing"
msgstr "再インデックス"
#: src/SUMMARY.md:20
msgid "Bounties"
msgstr "賞金"
#: src/SUMMARY.md:21
msgid "Bounty 0: 100,000 sats Claimed!"
msgstr "ミッション 0: 100,000 sats 完成!"
#: src/SUMMARY.md:22
msgid "Bounty 1: 200,000 sats Claimed!"
msgstr "ミッション 1: 200,000 sats 完成!"
#: src/SUMMARY.md:23
msgid "Bounty 2: 300,000 sats Claimed!"
msgstr "ミッション 2: 300,000 sats 完成!"
#: src/SUMMARY.md:24
msgid "Bounty 3: 400,000 sats"
msgstr "ミッション 3: 400,000 sats"
#45,022,966text rune: Rune(RUNE),
..Default::default()
}),
..Default::default()
}
.encipher(),
),
..Default::default()
});
context.mine_blocks(1);
let id = RuneId {
height: 2,
index: 1,
};
context.assert_runes(
[(
id,
RuneEntry {
etching: txid,
rune: Rune(RUNE),
supply: u128::max_value(),
timestamp: 2,
..Default::default()
},
)],
[(OutPoint { txid, vout: 0 }, vec![(id, u128::max_value())])],
);
}
}
#[test]
fn etching_with_non_zero_divisibility_and_rune() {
let context = Context::builder()
.arg("--index-runes-pre-alpha-i-agree-to-get-rekt")
.build();
context.mine_blocks(1);
let txid = context.rpc_server.broadcast_tx(TransactionTemplate {
inputs: &[(1, 0, 0, Witness::new())],
op_return: Some(
Runestone {
edicts: vec![Edict {#45,000,630textuse super::*;
#[derive(Debug, PartialEq, Copy, Clone, Eq, PartialOrd, Ord, Default)]
pub struct SatPoint {
pub outpoint: OutPoint,
pub offset: u64,
}
impl Display for SatPoint {
fn fmt(&self, f: &mut Formatter) -> fmt::Result {
write!(f, "{}:{}", self.outpoint, self.offset)
}
}
impl Encodable for SatPoint {
fn consensus_encode<S: io::Write + ?Sized>(&self, s: &mut S) -> Result<usize, io::Error> {
let len = self.outpoint.consensus_encode(s)?;
Ok(len + self.offset.consensus_encode(s)?)
}
}
impl Decodable for SatPoint {
fn consensus_decode<D: io::Read + ?Sized>(
d: &mut D,
) -> Result<Self, bitcoin::consensus::encode::Error> {
Ok(SatPoint {
outpoint: Decodable::consensus_decode(d)?,
offset: Decodable::consensus_decode(d)?,
})
}
}
impl Serialize for SatPoint {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serializer.collect_str(self)
}
}
impl<'de> Deserialize<'de> for SatPoint {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
#44,996,662text"╰─────── Second cycle\n"
"```"
msgstr ""
"```\n"
"1°1′0″0‴\n"
"│ │ │ ╰─ ブロック最初の聡\n"
"│ │ ╰─── 難易度調整周期の最初の聡ではない\n"
"│ ╰───── 半減周期の最初の聡ではない\n"
"╰─────── 二番目の循環周期\n"
"```"
#: src/overview.md:131
msgid "This satoshi is epic:"
msgstr "史詩レベルの聡です"
#: src/overview.md:133
msgid ""
"```\n"
"1°0′1″0‴\n"
"│ │ │ ╰─ First sat in block\n"
"│ │ ╰─── Not first block in difficulty adjustment period\n"
"│ ╰───── First block in halving epoch\n"
"╰─────── Second cycle\n"
"```"
msgstr ""
"```\n"
"1°0′1″0‴\n"
"│ │ │ ╰─ ブロック最初の聡\n"
"│ │ ╰─── 難易度調整周期の最初の聡ではない\n"
"│ ╰───── 半減周期の最初の聡ではない\n"
"╰─────── 二番目の循環周期\n"
"```"
#: src/overview.md:141
msgid "This satoshi is legendary:"
msgstr "伝奇レベルの聡です。"
#: src/overview.md:143
msgid ""
"```\n"
"1°0′0″0‴\n"
"│ │ │ ╰─ First sat in block\n"
"│ │ ╰─── First block in difficulty adjustment period\n"
"│ ╰───── First block in halving epoch\n"
"╰─────── Second cycle\n"
"```"
msgstr ""
"```\n"
"1°0′0″0‴\n"
"│ │ │ ╰─ ブロック最初の聡\n"
"│ │ ╰─── 難易度調整周期の最初の聡ではない\n"
"│ ╰───── 半減周期の最初の聡ではない\n"
"╰─────── 二番目の循環周期\n"
#44,995,978texttransfer10,000,000.rats#41,627,946brc-20transfer10,000,000.rats#41,618,602brc-20transfer350,000.cats#40,828,845brc-20transfer50,000,000.rats#40,642,875brc-20transfer1,000.bear#40,302,075brc-20transfer50,000,000.rats#40,299,502brc-20transfer10,000.moon#39,128,659brc-20transfer100,000.cats#38,895,665brc-20transfer1,000.lbow#38,230,125brc-20mint100,000,000.sats#35,236,200brc-20mint100,000,000.sats#35,236,199brc-20mint100,000,000.sats#35,236,198brc-20mint100,000,000.sats#35,236,197brc-20mint100,000,000.sats#35,236,196brc-20mint100,000,000.sats#35,236,195brc-20mint100,000,000.sats#35,236,194brc-20mint100,000,000.sats#35,236,193brc-20mint100,000,000.sats#35,234,864brc-20mint100,000,000.sats#35,234,863brc-20mint100,000,000.sats#35,231,736brc-20mint100,000,000.sats#35,231,735brc-20mint100,000,000.sats#35,231,734brc-20mint100,000,000.sats#35,230,896brc-20mint100,000,000.sats#35,230,895brc-20mint100,000,000.sats#35,230,894brc-20mint100,000,000.sats#35,230,893brc-20