Snapshot của casey/ord: 99★ · Rust. 👁🗨 Rare and exotic sats
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
ord is an index, block explorer, and command-line wallet. It is experimental
software with no warranty. See LICENSE for more details.
Ordinal theory imbues satoshis with numismatic value, allowing them to
be collected and traded as curios.
Ordinal numbers are serial numbers for satoshis, assigned in the order in which
they are mined, and preserved across transactions.
See the docs for documentation and guides.
See the BIP for a technical description of the assignment and
transfer algorithm.
See the project board for
currently prioritized issues.
Join the Discord server to chat with fellow
ordinal degenerates.
Donate
Ordinals is open-source and community funded. The current lead maintainer of
ord is raphjaph. Raph's work on ord is
entirely funded by donations. If you can, please consider donating!
The donation address is
bc1qguzk63exy7h5uygg8m2tcenca094a8t464jfyvrmr0s6wkt74wls3zr5m3.
This address is 2 of 4 multisig wallet with keys held by
raphjaph,
erin,
rodarmor, and
ordinally.
Bitcoin received will go towards funding maintenance and development of ord,
as well as hosting costs for ordinals.com.
Thank you for donating!
Wallet
ord relies on Bitcoin Core for private key management and transaction signing.
This has a number of implications that you must understand in order to use
ord wallet commands safely:
Bitcoin Core is not aware of inscriptions and does not perform sat
control. Using bitcoin-cli commands and RPC calls with ord wallets may
lead to loss of inscriptions.
ord wallet commands automatically load the ord wallet given by the
--name option, which defaults to 'ord'. Keep in mind that after running
an ord wallet command, an ord wallet may be loaded.
Because ord has access to your Bitcoin Core wallets, ord should not be
used with wallets that contain a material amount of funds. Keep ordinal and
cardinal wallets segregated.
Security
The ord server explorer hosts untrusted HTML and JavaScript. This creates
potential security vulnerabilities, including cross-site scripting and spoofing
attacks. You are solely responsible for understanding and mitigating these
attacks. See the documentation for more details.
Installation
ord is written in Rust and can be built from
source. Pre-built binaries are available on the
releases page.
You can install the latest pre-built binary from the command line with:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Clone the ord repo:
git clone https://github.com/ordinals/ord.git
cd ord
To build a specific version of ord, first checkout that version:
git checkout <VERSION>
And finally to actually build ord:
cargo build --release
Once built, the ord binary can be found at ./target/release/ord.
ord requires rustc version 1.79.0 or later. Run rustc --version to ensure
you have this version. Run rustup update to get the latest stable release.
Docker
A Docker image can be built with:
docker build -t ordinals/ord .
Homebrew
ord is available in Homebrew:
brew install ord
Debian Package
To build a .deb package:
cargo install cargo-deb
cargo deb
Contributing
If you wish to contribute there are a couple things that are helpful to know. We
put a lot of emphasis on proper testing in the code base, with three broad
categories of tests: unit, integration and fuzz. Unit tests can usually be found at
the bottom of a file in a mod block called tests. If you add or modify a
function please also add a corresponding test. Integration tests try to test
end-to-end functionality by executing a subcommand of the binary. Those can be
found in the tests directory. We don't have a lot of fuzzing but the
basic structure of how we do it can be found in the fuzz directory.
We strongly recommend installing just to make
running the tests easier. To run our CI test suite you would do:
just ci
This corresponds to the commands:
cargo fmt -- --check
cargo test --all
cargo test --all -- --ignored
Have a look at the justfile to see some more helpful recipes
(commands). Here are a couple more good ones:
just fmt
just fuzz
just doc
just watch ltest --all
If the tests are failing or hanging, you might need to increase the maximum
number of open files by running ulimit -n 1024 in your shell before you run
the tests, or in your shell configuration.
We also try to follow a TDD (Test-Driven-Development) approach, which means we
use tests as a way to get visibility into the code. Tests have to run fast for that
reason so that the feedback loop between making a change, running the test and
seeing the result is small. To facilitate that we created a mocked Bitcoin Core
instance in mockcore
Syncing
ord requires a synced bitcoind node with -txindex to build the index of
satoshi locations. ord communicates with bitcoind via RPC.
If bitcoind is run locally by the same user, without additional
configuration, ord should find it automatically by reading the .cookie file
from bitcoind's datadir, and connecting using the default RPC port.
If bitcoind is not on mainnet, is not run by the same user, has a non-default
datadir, or a non-default port, you'll need to pass additional flags to ord.
See ord --help for details.
bitcoind RPC Authentication
ord makes RPC calls to bitcoind, which usually requires a username and
password.
By default, ord looks a username and password in the cookie file created by
bitcoind.
The cookie file path can be configured using --cookie-file:
ord --cookie-file /path/to/cookie/file server
Alternatively, ord can be supplied with a username and password on the
command line:
ord --bitcoin-rpc-username foo --bitcoin-rpc-password bar server
Using environment variables:
export ORD_BITCOIN_RPC_USERNAME=foo
export ORD_BITCOIN_RPC_PASSWORD=bar
ord server
Or in the config file:
bitcoin_rpc_username: foo
bitcoin_rpc_password: bar
Logging
ord uses env_logger. Set the
RUST_LOG environment variable in order to turn on logging. For example, run
the server and show info-level log messages and above:
$ RUST_LOG=info cargo run server
Set the RUST_BACKTRACE environment variable in order to turn on full rust
backtrace. For example, run the server and turn on debugging and full backtrace:
$ RUST_BACKTRACE=1 RUST_LOG=debug ord server
New Releases
Release commit messages use the following template:
MDBOOK_OUTPUT='{"xgettext": {"pot-file": "messages.pot"}}'
mdbook build -d po
Run msgmerge on XX.po where XX is the two-letter
ISO-639 code for
the language you are translating into. This will update the po file with
the text of the most recent English version:
msgmerge --update po/XX.po po/messages.pot
Untranslated sections are marked with #, fuzzy in XX.po. Edit the
msgstr string with the translated text.
Execute the mdbook command to rebuild the docs. For Chinese, whose
two-letter ISO-639 code is zh:
casey/ord có 99 sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/casey/ord. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
casey/ord có tag gì không?
Bản đồng bộ chưa ghi nhận topic GitHub nào cho casey/ord. GitHub topics hiển thị ở thanh bên phải trang repo — đó là nơi đáng kiểm tra nhất.
casey/ord còn đang phát triển không?
Commit gần nhất trên casey/ord là 1 tháng trước (theo timestamp GitHub). Repo có 19 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
casey/ord viết bằng ngôn ngữ gì?
casey/ord chủ yếu viết bằng Rust. Trường "language" của GitHub dựa trên phần lớn byte ở nhánh mặc định.
Đọc thêm về casey/ord ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/casey/ord là nguồn chính thức.
Đọc đầy đủ README ở tab phía trên.
Vẫn đang phân vân về ord?
Một cú bấm sẽ gửi câu hỏi kèm trang này cho AI — xem AI nói gì về ord.