Inscription #76559998#76,559,998jpgtransfer100.pizza#71,189,961brc-20Inscription #65942645#65,942,645pngInscription #51177486#51,177,486pngInscription #51158821#51,158,821pngmint1,000.ibit#49,190,001brc-20mint1,000.ibit#49,190,000brc-20mint1,000.ibit#49,189,999brc-20mint1,000.ibit#49,189,998brc-20mint1,000.ibit#49,189,997brc-20mint1,000.ibit#49,189,996brc-20mint1,000.ibit#49,189,995brc-20mint1,000.ibit#49,189,993brc-20mint1,000.ibit#49,189,992brc-20mint1,000.ibit#49,189,991brc-20mint1,000.ibit#49,189,989brc-20mint1,000.ibit#49,189,988brc-20mint1,000.ibit#49,189,987brc-20mint1,000.ibit#49,189,986brc-20mint1,000.ibit#49,189,985brc-20mint1,000.ibit#49,189,983brc-20mint1,000.ibit#49,189,982brc-20mint1,000.ibit#49,189,981brc-20mint1,000.ibit#49,189,980brc-20mint1,000.ibit#49,189,979brc-20mint1,000.ibit#49,189,978brc-20mint1,000.ibit#49,189,977brc-20mint1,000.ibit#49,189,975brc-20mint1,000.ibit#49,189,974brc-20Inscription #45323161#45,323,161pngInscription #45321443#45,321,443pnguse super::*; #[derive(Debug, PartialEq, Serialize, Deserialize)] pub struct Output { pub supply: u64, pub first: u64, pub last: u64, pub last_mined_in_block: u32, } pub(crate) fn run() -> SubcommandResult { let mut last = 0; loop { if Height(last + 1).subsidy() == 0 { break; } last += 1; } Ok(Box::new(Output { supply: Sat::SUPPLY, first: 0, last: Sat::SUPPLY - 1, last_mined_in_block: last, })) } #45,004,192text } .store(), 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())?; } Ok(()) } } #[cfg(test)] mod tests { use super::*; #[test] fn claim_from_id() { assert_eq!(claim(1), None); assert_eq!(claim(1 | CLAIM_BIT), Some(1)); } } #45,004,167text <circle r="0.7" stroke="#d00505" stroke-width="0.3"/>.* </svg> "##, ); } } #45,004,085text CommandBuilder::new("subsidy 6930000") .expected_stderr("error: block 6930000 has no subsidy\n") .expected_exit_code(1) .run_and_extract_stdout(); } #45,004,073text } 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()?; } Ok(()) } } #45,003,970textuse super::*; #[test] fn version_flag_prints_version() { CommandBuilder::new("--version") .stdout_regex("ord .*\n") .run_and_extract_stdout(); } #45,003,272text assert_eq!(output[0].end, 1); assert_eq!(output[0].count, 1); 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[1].start, 1); assert_eq!(output[1].end, 11); assert_eq!(output[1].count, 10); } #45,001,675textminnesinger 20106 kantorovich 20111 carburetion 20119 greasepaint 20129 catachresis 20132 economywide 20133 ecuatoriana 20146 aphasiology 20150 centralizes 20151 euphausiids 20156 greenlander 20173 donnithorne 20180 amercements 20183 lactococcus 20192 jamaicensis 20202 attachement 20209 atelectatic 20222 monocentric 20235 consulships 20237 kampfgruppe 20254 milligramme 20257 baumgardner 20269 cyclobutane 20283 fyodorovich 20283 ectoplasmic 20286 grangemouth 20290 hinchcliffe 20294 derailments 20296 hasselquist 20298 autogestion 20299 clusterings 20299 kinetoplast 20301 marginalism 20303 clackmannan 20305 isselbacher 20316 deodorizing 20329 cabinetwork 20332 congruently 20335 gnotobiotic 20335 ergebnissen 20336 nonpunitive 20340 applanation 20352 godchildren 20357 desaturated 20375 inalterable 20384 gortchakoff 20392 amenorrheic 20396 nudibranchs 20397 calendaring 20414 laryngismus 20415 cataloguers 20444 dyssynergia 20444 intermeshed 20444 neurologica 20447 negligences 20450 idiomorphic 20465 brantingham 20467 #45,001,674text internal: None, range: None, next: None, }) .collect(), }) } fn load_wallet(&self, wallet: String) -> Result<LoadWalletResult, jsonrpc_core::Error> { if self.state().wallets.contains(&wallet) { self.state().loaded_wallets.insert(wallet.clone()); Ok(LoadWalletResult { name: wallet, warning: None, }) } else { Err(Self::not_found()) } } fn list_wallets(&self) -> Result<Vec<String>, jsonrpc_core::Error> { Ok( self .state() .loaded_wallets .clone() .into_iter() .collect::<Vec<String>>(), ) } } #45,001,668textmsgid "Platform" msgstr "平台" #: src/guides/reindexing.md:15 msgid "Value" msgstr "" #: src/guides/reindexing.md:17 msgid "Linux" msgstr "" #: src/guides/reindexing.md:17 msgid "`$XDG_DATA_HOME`/ord or `$HOME`/.local/share/ord" msgstr "" #: src/guides/reindexing.md:17 msgid "/home/alice/.local/share/ord" msgstr "" #: src/guides/reindexing.md:18 msgid "macOS" msgstr "" #: src/guides/reindexing.md:18 msgid "`$HOME`/Library/Application Support/ord" msgstr "" #: src/guides/reindexing.md:18 msgid "/Users/Alice/Library/Application Support/ord" msgstr "" #: src/guides/reindexing.md:19 msgid "Windows" msgstr "" #: src/guides/reindexing.md:19 msgid "`{FOLDERID_RoamingAppData}`\\\\ord" msgstr "" #: src/guides/reindexing.md:19 msgid "C:\\Users\\Alice\\AppData\\Roaming\\ord" msgstr "" #: 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:" msgstr "因此,要在 MacOS 上删除数据库并重新索引,您必须在终端中执行以下命令:" #: src/guides/reindexing.md:24 #45,001,667textmsgstr "" "确保你可以通过 `bitcoin-cli -getinfo` 来访问`bitcoind` ,并且它已经完全同步 " #: src/guides/inscriptions.md:104 msgid "" "If `bitcoin-cli -getinfo` returns `Could not connect to the server`, " "`bitcoind` is not running." msgstr "" "假如 `bitcoin-cli -getinfo` 返回的是 `Could not connect to the server`, " "这可能是`bitcoind` 没有运行" #: src/guides/inscriptions.md:107 msgid "" "Make sure `rpcuser`, `rpcpassword`, or `rpcauth` are _NOT_ set in your " "`bitcoin.conf` file. `ord` requires using cookie authentication. Make sure " "there is a file `.cookie` in your bitcoin data directory." msgstr "" "确保 `rpcuser`, `rpcpassword`, 或者 `rpcauth` _没有_ 在你的 " "`bitcoin.conf` 文件里进行设置。 `ord` 需要使用 cookie 认证。因此需要确保 " "你的bitcoin data的文件夹里有 `.cookie`文件。" #: src/guides/inscriptions.md:111 msgid "" "If `bitcoin-cli -getinfo` returns `Could not locate RPC credentials`, then " "you must specify the cookie file location. If you are using a custom data " "directory (specifying the `datadir` option), then you must specify the " "cookie location like `bitcoin-cli -rpccookiefile=<your_bitcoin_datadir>/." #45,001,327textVagrant.configure("2") do |config| config.vm.box = "debian/bullseye64" config.vm.provider "virtualbox" do |v| v.memory = 1024 * 4 end config.vm.network "private_network", ip: "192.168.56.4" config.vm.provision "shell" do |s| s.inline = "" Dir.glob("#{Dir.home}/.ssh/*.pub").each do |path| key = File.read(path).strip s.inline << "echo '#{key}' >> /root/.ssh/authorized_keys\n" end end end #45,001,229textpub(crate) struct PreviewUnknownHtml; #[derive(boilerplate::Boilerplate)] pub(crate) struct PreviewVideoHtml { pub(crate) inscription_id: InscriptionId, } #45,001,109textmsgid "Creating Inscriptions" msgstr "创建铭文" #: src/guides/inscriptions.md:218 msgid "To create an inscription with the contents of `FILE`, run:" msgstr "以`FILE`的内容创建一个铭文,需要运行:" #: src/guides/inscriptions.md:220 msgid "" "```\n" "ord wallet inscribe --fee-rate FEE_RATE FILE\n" "```" msgstr "" #: src/guides/inscriptions.md:224 msgid "" "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, and `N` is the index of the inscription in the reveal " "transaction." msgstr "" "Ord会输出两个交易ID,一个是commit交易,一个是reveal交易,还有铭文ID。铭文 ID " "的格式为`TXIDiN`,其中`TXID` 是揭示交易的交易 ID,`N` 是揭示交易中铭文的索" "引。" #: src/guides/inscriptions.md:229 msgid "" "The commit transaction commits to a tapscript containing the content of the " "inscription, and the reveal transaction spends from that tapscript, " "revealing the content on chain and inscribing it on the first sat of the " #45,000,995textOrdinal Bounty 3 ================ Criteria -------- 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`. 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 be considered. 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 corpus. `frequency.tsv` is a file of tab-separated values. The first column is the #45,000,796textInscription #43866062#43,866,062pngInscription #43855145#43,855,145pngInscription #42615018#42,615,018pngInscription #42601079#42,601,079pngInscription #42592935#42,592,935pngtransfer10,000.oxbt#28,065,441brc-20transfer500.btoc#12,235,296brc-20transfer10,000.oxbt#11,180,097brc-20transfer5,500.mxrc#11,044,658brc-20transfer5,000.oxbt#10,229,616brc-20transfer5,000.oxbt#10,228,031brc-20transfer20,000.bxrd#9,325,266brc-20mint1,000.bxrd#8,112,220brc-20mint1,000.bxrd#8,112,219brc-20