SHOWING: First 60
"Les nombres ordinaux sont attribués aux satoshis dans l’ordre dans lequel "
"ils sont minés. Le premier satoshi du premier bloc a le nombre ordinal 0, le "
"deuxième a le nombre ordinal 1 et le dernier satoshi du premier bloc a le "
"nombre ordinal 4 999 999 999."
#: src\faq.md:39
msgid ""
"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."
msgstr ""
"Les satoshis se trouvent dans les sorties de transactions, mais les "
"transactions sont détruites lorsqu’elles sont émises et de nouvelles "
"transactions sont créées. La théorie ordinale utilise donc un algorithme "
"pour déterminer comment les satoshis se déplacent entre les sorties de "
"transactions et les entrées de transactions."
#: src\faq.md:43
msgid "Fortunately, that algorithm is very simple."
msgstr "Heureusement, cet algorithme est très simple."
#: src\faq.md:45
msgid ""
"Satoshis transfer in first-in-first-out order. Think of the inputs to a "
#45,159,956text Timestamp, WalletTxInfo,
},
jsonrpc_core::{IoHandler, Value},
jsonrpc_http_server::{CloseHandle, ServerBuilder},
serde::{Deserialize, Serialize},
server::Server,
state::State,
std::{
collections::{BTreeMap, BTreeSet, HashMap},
sync::{Arc, Mutex, MutexGuard},
thread,
time::Duration,
},
};
mod api;
mod server;
mod state;
pub fn builder() -> Builder {
Builder {
fail_lock_unspent: false,
network: Network::Bitcoin,
version: 240000,
}
}
pub struct Builder {
fail_lock_unspent: bool,
network: Network,
version: usize,
}
impl Builder {
pub fn fail_lock_unspent(self, fail_lock_unspent: bool) -> Self {
Self {
fail_lock_unspent,
..self
}
}
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.network,
self.version,
self.fail_lock_unspent,#45,054,501textathanasians 6434
ferrichrome 6434
leptospirae 6434
hollenhorst 6435
chronologer 6436
chemoreflex 6439
intimidator 6441
ectosylvian 6442
commissives 6443
manducation 6444
microbursts 6444
musculaires 6447
mountcashel 6449
mediocriter 6452
dichlobenil 6453
alleghanian 6454
fullinwider 6455
changkufeng 6456
constellate 6457
inferieures 6457
martikainen 6457
fictionists 6458
hogglestock 6458
macrospores 6458
morgenblatt 6458
neopalatial 6458
linderstrom 6459
intrarectal 6461
doerflinger 6462
glaswegians 6462
lachrymalis 6463
microneedle 6465
mosscovered 6468
bordercolor 6469
gemeinsamer 6469
gondophares 6470
kohlbergian 6472
developnent 6473
indikatoren 6474
feasability 6476
hameenlinna 6476
cancioneros 6480
hausmannite 6480
neuropraxia 6480
diamictites 6481
lichtenthal 6481
comediennes 6482
minneconjou 6482
cheiroptera 6483
contraposed 6483
cyanophytes 6484
humanitatem 6488
modernistas 6488
agromyzidae 6489
arzobispado 6489
complaineth 6491
bargeboards 6492
montgommery 6492
cummerbunds 6493
fundamentis 6493
glycinergic 6494
#45,054,446textmsgstr ""
"Envía un sat cuyo número ordinal termine en cero a la dirección de entrega:"
#: src/bounty/0.md:9
msgid "✅: [1857578125803250](https://ordinals.com/ordinal/1857578125803250)"
msgstr "✅: [1857578125803250](https://ordinals.com/ordinal/1857578125803250)"
#: src/bounty/0.md:11
msgid "❌: [1857578125803251](https://ordinals.com/ordinal/1857578125803251)"
msgstr "❌: [1857578125803251](https://ordinals.com/ordinal/1857578125803251)"
#: src/bounty/0.md:13
msgid "The sat must be the first sat of the output you send."
msgstr "El sat debe ser el primer sat de la salida que envíes."
#: src/bounty/0.md:15
#: src/bounty/1.md:14
#: src/bounty/2.md:15
#: src/bounty/3.md:63
msgid "Reward"
msgstr "Recompensa"
#: src/bounty/0.md:18
msgid "100,000 sats"
msgstr "100,000 sats"
#: src/bounty/0.md:20
#: src/bounty/1.md:19
#: src/bounty/2.md:20
#: src/bounty/3.md:70
msgid "Submission Address"
msgstr "Dirección de Entrega"
#: src/bounty/0.md:23
msgid ""
"[`1PE7u4wbDP2RqfKN6geD1bG57v9Gj9FXm3`](https://mempool.space/address/1PE7u4wbDP2RqfKN6geD1bG57v9Gj9FXm3)"
#45,041,282text 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,040,907text
#[test]
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-unknown.html").unwrap(),
);
}
#[test]
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,#45,026,228text- Add docs and examples for sat recursive endpoint (#2735)
- Remove `RUNE` from `<h1>` on /rune (#2728)
- Add docs for metadata recursive endpoint (#2734)
- Fix typo in docs/src/inscriptions/metadata.md (#2731)
- Only accept sat number in recursive endpoint (#2732)
- Add Homebrew install instructions to readme (#2726)
- Add Debian packaging instructions (#2725)
- Use redb's recovery callback API (#2584)
- Refactor inscriptions paginations (#2715)
- Update redb to 1.4.0 (#2714)
- Only try to create the database if it wasn't found (#2703)
- Only load used language highlight module in code preview (#2696)
- Clean up install.sh (#2669)
- Add binary media type (#2671)
- Fix unbound outpoint server error (#2479)
- Update schema version for charms (#2687)
- Fix media table formatting (#2686)
- Group rune server tests (#2685)
- Don't color links in headers (#2678)
- Remove Index::index_block_inscription_numbers (#2667)
- Fix lost sats bug (#2666)
[0.11.1](https://github.com/ordinals/ord/releases/tag/0.11.1) - 2023-11-09
#45,023,159textname = "windows_x86_64_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "winreg"
version = "0.50.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
dependencies = [
"cfg-if 1.0.0",
"windows-sys 0.48.0",
]
[[package]]
name = "x509-parser"
version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9fb9bace5b5589ffead1afb76e43e34cff39cd0f3ce7e170ae0c29e53b88eb1c"
dependencies = [
"asn1-rs",
"base64 0.13.1",
"data-encoding",
"der-parser",
"lazy_static",
"nom",
"oid-registry",
"rusticata-macros",
"thiserror",
"time",
]
[[package]]
name = "yansi"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
[[package]]
name = "yasna"
version = "0.5.2"
#45,022,988text"which targets a popular and proven use case, NFTs, which makes it highly "
"legible."
msgstr ""
"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."
#: src/faq.md:323
msgid ""
"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 "
"digital money."
msgstr ""
"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 digital descentralizado."
#45,004,166text"`ord` is [raphjaph](https://github.com/raphjaph/). Raph's work on `ord` is "
"entirely funded by donations. If you can, please consider donating!"
msgstr ""
"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`."
#: src/donate.md:8
msgid ""
"The donation address for Bitcoin is "
"[bc1q8kt9pyd6r27k2840l8g5d7zshz3cg9v6rfda0m248lva3ve5072q3sxelt](https://"
"mempool.space/address/"
"bc1q8kt9pyd6r27k2840l8g5d7zshz3cg9v6rfda0m248lva3ve5072q3sxelt). The "
"donation address for inscriptions is "
"[bc1qn3map8m9hmk5jyqdkkwlwvt335g94zvxwd9aql7q3vdkdw9r5eyqvlvec0](https://"
"mempool.space/address/"
"bc1qn3map8m9hmk5jyqdkkwlwvt335g94zvxwd9aql7q3vdkdw9r5eyqvlvec0)."
msgstr ""
"Ang Bitcoin address para sa donasyon ay "
"[bc1q8kt9pyd6r27k2840l8g5d7zshz3cg9v6rfda0m248lva3ve5072q3sxelt](https://"
#45,004,035text"Афиняне: _Быстрые фиксируют то, что хотят, медленные сливают то, что должны._"
#: src/contributing.md:67
msgid "Get help"
msgstr "Обратиться за помощью"
#: 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."
msgstr "Если вы застряли более чем на 15 минут, попросите помощи, например, в Rust Discord, Stack Exchange или в чате обсуждения проекта."
#: src/contributing.md:73
msgid "Practice hypothesis-driven debugging"
msgstr "Практика отладки, основанной на гипотезах"
#: src/contributing.md:76
msgid ""
"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 hypothesis."
msgstr ""
"Сформулируйте гипотезу о том, что является причиной проблемы. Придумайте, как проверить эту гипотезу. Проведите тестирование. Если она работает, то вы "
"устранили проблему или теперь знаете, как ее устранить. Если нет, повторите тест с новой гипотезой."
#45,003,427text"wrong tack, you won't have wasted much time."
msgstr "Los cambios pequeños te permitirán tener un impacto rápidamente, y si eliges el enfoque equivocado, no habrás perdido mucho tiempo."
#: src/contributing.md:33
msgid "Ideas for small issues:"
msgstr "Ideas para problemas pequeños:"
#: src/contributing.md:34
msgid "Add a new test or test case that increases test coverage"
msgstr "Añadir una prueba nueva o un caso de prueba que amplíe la cobertura de las pruebas."
#: src/contributing.md:35
msgid "Add or improve documentation"
msgstr "Mejorar o añadir a la documentación existente."
#: src/contributing.md:36
msgid ""
"Find an issue that needs more research, and do that research and summarize "
"it in a comment"
msgstr ""
"Identificar un problema que requiera más investigación, realizarla y resumir los hallazgos en un comentario."
#: src/contributing.md:38
msgid "Find an out-of-date issue and comment that it can be closed"
msgstr "Encontrar un problema que ha quedado desactualizado y sugerir su cierre a través de un comentario."
#45,002,633text
server.assert_response_regex(
format!("/preview/{inscription_id}"),
StatusCode::OK,
format!(r".*<audio .*>\s*<source src=/content/{inscription_id}>.*"),
);
}
#[test]
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 = InscriptionId { txid, index: 0 };
server.mine_blocks(1);
server.assert_response_regex(
format!("/preview/{inscription_id}"),
StatusCode::OK,
format!(r".*src: url\(/content/{inscription_id}\).*"),
);
}
#[test]
fn pdf_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("application/pdf", "hello").to_witness(),#45,000,807textversion = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
dependencies = [
"bytes",
"hyper",
"native-tls",
"tokio",
"tokio-native-tls",
]
[[package]]
name = "iana-time-zone"
version = "0.1.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
dependencies = [
"android_system_properties",
"core-foundation-sys",
"iana-time-zone-haiku",
"js-sys",
"wasm-bindgen",
"windows-core",
]
[[package]]
name = "iana-time-zone-haiku"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
dependencies = [
"cc",
]
[[package]]
name = "ident_case"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
[[package]]
#45,000,622text let reveal_address = recipient();
let (_commit_tx, reveal_tx, _private_key, _) = Batch {
satpoint,
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_inscription_transactions(
BTreeMap::new(),
Chain::Mainnet,
BTreeSet::new(),
utxos.into_iter().collect(),
[commit_address, change(1)],
)
.unwrap();
assert!(reveal_tx.size() >= MAX_STANDARD_TX_WEIGHT as usize);
}
#[test]
fn cbor_and_json_metadata_flags_conflict() {
assert_regex_match!(
Arguments::try_parse_from([
"ord",
"wallet",
"inscribe",
"--cbor-metadata",
"foo",
"--json-metadata",
"bar",
"--file",#44,997,411textname = "event-listener"
version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
[[package]]
name = "event-listener"
version = "4.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
dependencies = [
"concurrent-queue",
"parking",
"pin-project-lite",
]
[[package]]
name = "event-listener-strategy"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
dependencies = [
"event-listener 4.0.0",
"pin-project-lite",
]
[[package]]
name = "executable-path"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ebc5a6d89e3c90b84e8f33c8737933dda8f1c106b5415900b38b9d433841478"
[[package]]
name = "fastrand"
version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"#44,996,744text let acme_cache = if let Some(acme_cache) = acme_cache {
acme_cache.clone()
} else {
options.data_dir()?.join("acme-cache")
};
Ok(acme_cache)
}
fn acme_domains(&self) -> Result<Vec<String>> {
if !self.acme_domain.is_empty() {
Ok(self.acme_domain.clone())
} else {
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_port.is_none() && !self.https) {
Some(self.http_port.unwrap_or(80))
} else {
None
}
}
fn https_port(&self) -> Option<u16> {
if self.https || self.https_port.is_some() {
Some(self.https_port.unwrap_or(443))
} else {
None
}
}
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(),#44,996,486text"must be displayed as \"unbound\", that is, without a location."
msgstr ""
"Четные метки используются для полей, которые могут повлиять на создание, первичное присвоение или перенос надписи. Таким образом, надписи с нераспознанными "
"четными полями должны отображаться как \"несвязанные\", т.е. без указания местоположения."
#: 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."
msgstr ""
"Нечетные теги используются для полей, которые не влияют на создание, первоначальное назначение или передачу, например, дополнительные метаданные, и поэтому их "
"можно игнорировать."
#: src/inscriptions.md:96
msgid "Inscription IDs"
msgstr "ID надписей"
#: 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:"
msgstr "Надписи содержатся во входах транзакции раскрытия. Для их однозначной идентификации им присваивается ID вида:"
#44,996,042text"root. Or it might be due to a connection to a historical event, such as satoshis from block 477,120, the block in which SegWit activated, or 2099999997689999°, "
"the last satoshi that will ever be mined."
msgstr ""
"Сатоши могут цениться не только по причине их названия или редкости. Это может быть связано с качеством самого числа, например, с наличием целого квадратного "
"или кубического корня. Или это может быть связано с историческим событием, например, сатоши из блока 477 120 - блока, в котором активировался SegWit, или "
"2099999997689999° - последнего сатоши, который когда-либо будет добыт."
#: src/overview.md:217
msgid ""
"Such satoshis are termed \"exotic\". Which satoshis are exotic and what makes them so is subjective. Ordinal theorists are encouraged to seek out exotics based "
"on criteria of their own devising."
msgstr ""
"Такие сатоши называются \"экзотическими\". Какие сатоши являются экзотическими и что их делает таковыми - вопрос субъективный. Теоретикам ordinal предлагается "
"искать экзотику по собственным критериям."
#44,992,033text"À collectionner, échanger et innover. La théorie ordinale attribue une "
"identité aux satoshis, ce qui permet de les suivre et de les échanger, à la "
"fois comme curiosités et pour leur valeur numismatique."
#: src\faq.md:27
msgid ""
"Ordinal theory also enables inscriptions, a protocol for attaching arbitrary "
"content to individual satoshis, turning them into bitcoin-native digital "
"artifacts."
msgstr ""
"La théorie ordinale permet également les inscriptions, un protocole capable "
"d’attacher du contenu arbitraire à des satoshis individuels, les "
"transformant ainsi en artefacts numériques natifs de Bitcoin."
#: src\faq.md:31
msgid "How does ordinal theory work?"
msgstr "Comment fonctionne la théorie ordinale ?"
#: src\faq.md:34
msgid ""
"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."
msgstr ""#44,991,471text