ord
ord
、インデックス、ブロック エクスプローラー、およびコマンドライン ウォレットです。実験的なソフトウェアであり、保証はありません。詳細については、「ライセンス」を参照してください。
順序理論はサトシに貨幣価値を与え、骨董品として収集し取引できるようにします。
序数はサトシのシリアル番号であり、マイニングされた順に割り当てられ、トランザクション全体にわたって保存されます。
ドキュメントとガイドについては、ドキュメントを参照してください。
割り当ておよび転送アルゴリズムの技術的な説明については、BIP を参照してください。
現在優先されている問題については、プロジェクト掲示板を参照してください。
Discord サーバーに参加して、仲間の異常者とチャットしましょう。
Ordinals はオープンソースであり、コミュニティから資金提供を受けています。 ord
の現在のリードメンテナーは raphjaph です。 ord
に関する Raph の活動はすべて寄付によって賄われています。可能であれば、寄付をご検討ください。
寄付アドレスはbc1qguzk63exy7h5uygg8m2tcenca094a8t464jfyvrmr0s6wkt74wls3zr5m3です。
このアドレスは、raphjaph、erin、rodarmor、ordinally がキーを保持する 4 つのマルチシグ ウォレットのうち 2 つです。
受け取ったビットコインはord
の維持と開発の資金、および ordinals.com のホスティング費用に使用されます。
寄付していただきありがとうございます!
ord
秘密キーの管理とトランザクション署名に Bitcoin Core を利用しています。これには、 ord
Wallet コマンドを安全に使用するために理解しておく必要がある多くの影響があります。
ビットコインコアは碑文を認識せず、Sat 制御を実行しません。 ord
ウォレットでbitcoin-cli
コマンドと RPC 呼び出しを使用すると、碑文が失われる可能性があります。
ord wallet
コマンドは、 --name
オプションで指定されたord
ウォレットを自動的にロードします。デフォルトは「ord」です。 ord wallet
コマンドの実行後、 ord
Wallet がロードされる可能性があることに注意してください。
ord
ビットコイン コア ウォレットにアクセスできるため、多額の資金が含まれるウォレットではord
使用しないでください。通常のウォレットと基本的なウォレットを分離してください。
アルファord
ウォレットは、以前のバージョンのord
で作成されたウォレットとは互換性がありません。移行するには、古いウォレットからord wallet send
を使用して、新しいウォレットによってord wallet receive
で生成されたアドレスに SAT と碑文を送信します。
ord
は Rust で書かれており、ソースからビルドできます。事前に構築されたバイナリはリリース ページから入手できます。
次のコマンドを使用して、コマンド ラインから最新のビルド済みバイナリをインストールできます。
curl --proto ' =https ' --tlsv1.2 -fsLS https://ordinals.com/install.sh | bash -s
ord
がインストールされると、コマンド ラインでord --version
実行できるようになります。
Linux では、ソースからビルドするときにord
にlibssl-dev
必要です。
Ubuntu を含む Debian 派生の Linux ディストリビューションの場合:
sudo apt-get install pkg-config libssl-dev build-essential
Red Hat 由来の Linux ディストリビューションの場合:
yum install -y pkgconfig openssl-devel
yum groupinstall "Development Tools"
Rust も必要になります。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
ord
リポジトリのクローンを作成します。
git clone https://github.com/ordinals/ord.git
cd ord
ord
の特定のバージョンをビルドするには、まずそのバージョンをチェックアウトします。
git checkout <VERSION>
そして最後にord
実際に構築します。
cargo build --release
ビルドが完了すると、 ord
バイナリは./target/release/ord
にあります。
ord
rustc
バージョン 1.79.0 以降が必要です。 rustc --version
実行して、このバージョンであることを確認します。最新の安定リリースを入手するには、 rustup update
実行します。
Docker イメージは以下を使用して構築できます。
docker build -t ordinals/ord .
ord
Homebrew で利用できます。
brew install ord
.deb
パッケージをビルドするには:
cargo install cargo-deb
cargo deb
貢献したい場合は、知っておくと役立つことがいくつかあります。私たちは、単体、統合、ファズという 3 つの大きなカテゴリのテストを使用して、コード ベースで適切なテストを行うことに重点を置いています。単体テストは通常、ファイルの下部のtests
という mod ブロック内にあります。関数を追加または変更する場合は、対応するテストも追加してください。統合テストでは、バイナリのサブコマンドを実行してエンドツーエンドの機能をテストしようとします。これらは、tests ディレクトリにあります。ファジングはあまりありませんが、ファジングを行う方法の基本構造は fuzz ディレクトリにあります。
テストの実行を容易にするためだけにインストールすることを強くお勧めします。 CI テスト スイートを実行するには、次のようにします。
just ci
これは次のコマンドに対応します。
cargo fmt -- --check
cargo test --all
cargo test --all -- --ignored
justfile を参照して、さらに役立つレシピ (コマンド) を確認してください。さらに良いものをいくつか紹介します。
just fmt
just fuzz
just doc
just watch ltest --all
テストが失敗するかハングする場合は、テストを実行する前にシェルでulimit -n 1024
を実行するか、シェル設定でオープン ファイルの最大数を増やす必要がある場合があります。
また、TDD (テスト駆動開発) アプローチに従うことも試みています。これは、コードを可視化する方法としてテストを使用することを意味します。そのため、変更を加えてテストを実行し、結果を確認するまでのフィードバック ループを小さくするために、テストを高速に実行する必要があります。これを容易にするために、mockcore でモック化された Bitcoin Core インスタンスを作成しました。
ord
satoshi の場所のインデックスを構築するために、 -txindex
を指定して同期されたbitcoind
ノードが必要です。 ord
RPC 経由でbitcoind
と通信します。
bitcoind
が同じユーザーによってローカルで実行されている場合、追加の構成を行わなくても、 ord
bitcoind
の datadir から.cookie
ファイルを読み取り、デフォルトの RPC ポートを使用して接続することによって、bitcoind を自動的に検出します。
bitcoind
メインネット上にない場合、同じユーザーによって実行されていない場合、デフォルト以外の datadir またはデフォルト以外のポートがある場合は、追加のフラグをord
に渡す必要があります。詳細については、 ord --help
参照してください。
bitcoind
RPC 認証ord
bitcoind
への RPC 呼び出しを行います。これには通常、ユーザー名とパスワードが必要です。
デフォルトでは、 ord
bitcoind
によって作成された cookie ファイル内のユーザー名とパスワードを検索します。
Cookie ファイルのパスは--cookie-file
を使用して構成できます。
ord --cookie-file /path/to/cookie/file server
あるいは、コマンド ラインでord
にユーザー名とパスワードを指定することもできます。
ord --bitcoin-rpc-username foo --bitcoin-rpc-password bar server
環境変数の使用:
export ORD_BITCOIN_RPC_USERNAME=foo
export ORD_BITCOIN_RPC_PASSWORD=bar
ord server
または、構成ファイル内で次のようにします。
bitcoin_rpc_username : foo
bitcoin_rpc_password : bar
ord
env_logger を使用します。ロギングを有効にするには、 RUST_LOG
環境変数を設定します。たとえば、サーバーを実行し、 info
レベル以上のログ メッセージを表示します。
$ RUST_LOG=info cargo run server
完全な Rust バックトレースをオンにするには、 RUST_BACKTRACE
環境変数を設定します。たとえば、サーバーを実行し、デバッグと完全なバックトレースをオンにします。
$ RUST_BACKTRACE=1 RUST_LOG=debug ord server
リリース コミット メッセージは次のテンプレートを使用します。
Release x.y.z
- Bump version: x.y.z → x.y.z
- Update changelog
- Update changelog contributor credits
- Update dependencies
ドキュメントを翻訳するには、mdBook i18n ヘルパーを使用します。
ヘルプについては、mdbook-i18n-helpers 使用ガイドを参照してください。
新しい翻訳の追加には多少の手間がかかるため、翻訳が不完全であっても、気軽に翻訳を開始してプル リクエストを開いてください。
新しい翻訳を追加する例については、このコミットを見てください。メンテナーは、ビルド システムへの統合を支援します。
新しい翻訳を開始するには:
mdbook
、 mdbook-i18n-helpers
、およびmdbook-linkcheck
をインストールします。
cargo install mdbook mdbook-i18n-helpers mdbook-linkcheck
messages.pot
という名前の新しいpot
ファイルを生成します。
MDBOOK_OUTPUT='{"xgettext": {"pot-file": "messages.pot"}}'
mdbook build -d po
XX.po
でmsgmerge
を実行します。XX XX
、翻訳先の言語の 2 文字の ISO-639 コードです。これにより、 po
ファイルが最新の英語バージョンのテキストで更新されます。
msgmerge --update po/XX.po po/messages.pot
XX.po
では、未翻訳のセクションには#, fuzzy
のマークが付けられています。翻訳されたテキストを含むmsgstr
文字列を編集します。
mdbook
コマンドを実行してドキュメントを再構築します。中国語の場合、2 文字の ISO-639 コードはzh
です。
mdbook build docs -d build
MDBOOK_BOOK__LANGUAGE=zh mdbook build docs -d build/zh
mv docs/build/zh/html docs/build/html/zh
python3 -m http.server --directory docs/build/html --bind 127.0.0.1 8080
すべてがうまくいっているようであれば、 XX.po
をコミットし、GitHub でプル リクエストを開きます。その他の変更されたファイルはプル リクエストから省略する必要があります。