ord
ord
adalah indeks, penjelajah blok, dan dompet baris perintah. Ini adalah perangkat lunak eksperimental tanpa jaminan. Lihat LISENSI untuk lebih jelasnya.
Teori ordinal memberi satoshi nilai numismatik, memungkinkannya dikumpulkan dan diperdagangkan sebagai barang antik.
Nomor urut adalah nomor seri satoshi, yang ditetapkan sesuai urutan penambangannya, dan disimpan di seluruh transaksi.
Lihat dokumen untuk dokumentasi dan panduan.
Lihat BIP untuk penjelasan teknis tentang algoritma penugasan dan transfer.
Lihat papan proyek untuk masalah-masalah yang diprioritaskan saat ini.
Bergabunglah dengan server Discord untuk mengobrol dengan sesama orang yang mengalami kemunduran.
Ordinals adalah sumber terbuka dan didanai oleh komunitas. Pemelihara utama ord
saat ini adalah raphjaph. Pekerjaan Raph di ord
sepenuhnya didanai oleh sumbangan. Jika Anda bisa, mohon pertimbangkan untuk berdonasi!
Alamat donasi adalah bc1qguzk63exy7h5uygg8m2tcenca094a8t464jfyvrmr0s6wkt74wls3zr5m3.
Alamat ini adalah 2 dari 4 dompet multisig dengan kunci dipegang oleh raphjaph, erin, rodarmor, dan biasanya.
Bitcoin yang diterima akan digunakan untuk mendanai pemeliharaan dan pengembangan ord
, serta biaya hosting untuk ordinals.com.
Terima kasih telah berdonasi!
ord
mengandalkan Bitcoin Core untuk manajemen kunci pribadi dan penandatanganan transaksi. Ini memiliki sejumlah implikasi yang harus Anda pahami agar dapat menggunakan perintah ord
wallet dengan aman:
Bitcoin Core tidak mengetahui prasasti dan tidak melakukan kontrol sat. Menggunakan perintah bitcoin-cli
dan panggilan RPC dengan dompet ord
dapat menyebabkan hilangnya prasasti.
perintah ord wallet
secara otomatis memuat dompet ord
yang diberikan oleh opsi --name
, yang defaultnya adalah 'ord'. Perlu diingat bahwa setelah menjalankan perintah ord wallet
, dompet ord
dapat dimuat.
Karena ord
memiliki akses ke dompet Bitcoin Core Anda, ord
tidak boleh digunakan dengan dompet yang berisi dana dalam jumlah besar. Pisahkan dompet ordinal dan kardinal.
Dompet Alpha ord
tidak kompatibel dengan dompet yang dibuat oleh versi ord
sebelumnya. Untuk bermigrasi, gunakan ord wallet send
dari dompet lama untuk mengirim sats dan prasasti ke alamat yang dihasilkan oleh dompet baru dengan ord wallet receive
.
ord
ditulis dalam Rust dan dapat dibuat dari sumber. Biner yang dibuat sebelumnya tersedia di halaman rilis.
Anda dapat menginstal biner bawaan terbaru dari baris perintah dengan:
curl --proto ' =https ' --tlsv1.2 -fsLS https://ordinals.com/install.sh | bash -s
Setelah ord
diinstal, Anda seharusnya dapat menjalankan ord --version
pada baris perintah.
Di Linux, ord
memerlukan libssl-dev
saat membangun dari sumber.
Pada distribusi Linux turunan Debian, termasuk Ubuntu:
sudo apt-get install pkg-config libssl-dev build-essential
Pada distribusi Linux turunan Red Hat:
yum install -y pkgconfig openssl-devel
yum groupinstall "Development Tools"
Anda juga membutuhkan Rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Kloning repo ord
:
git clone https://github.com/ordinals/ord.git
cd ord
Untuk membuat versi ord
tertentu, pertama-tama periksa versi tersebut:
git checkout <VERSION>
Dan akhirnya untuk benar-benar membangun ord
:
cargo build --release
Setelah dibuat, biner ord
dapat ditemukan di ./target/release/ord
.
ord
memerlukan rustc
versi 1.79.0 atau lebih baru. Jalankan rustc --version
untuk memastikan Anda memiliki versi ini. Jalankan rustup update
untuk mendapatkan rilis stabil terbaru.
Gambar Docker dapat dibuat dengan:
docker build -t ordinals/ord .
ord
tersedia di Homebrew:
brew install ord
Untuk membuat paket .deb
:
cargo install cargo-deb
cargo deb
Jika Anda ingin berkontribusi, ada beberapa hal yang berguna untuk diketahui. Kami sangat menekankan pengujian yang tepat dalam basis kode, dengan tiga kategori pengujian yang luas: unit, integrasi, dan fuzz. Tes unit biasanya dapat ditemukan di bagian bawah file di blok mod yang disebut tests
. Jika Anda menambah atau memodifikasi suatu fungsi, harap tambahkan juga tes yang sesuai. Pengujian integrasi mencoba menguji fungsionalitas ujung ke ujung dengan menjalankan subperintah biner. Itu dapat ditemukan di direktori tes. Kami tidak memiliki banyak fuzzing tetapi struktur dasar bagaimana kami melakukannya dapat ditemukan di direktori fuzz.
Kami sangat menyarankan untuk menginstal hanya untuk mempermudah menjalankan pengujian. Untuk menjalankan rangkaian pengujian CI kami, Anda perlu melakukan:
just ci
Ini sesuai dengan perintah:
cargo fmt -- --check
cargo test --all
cargo test --all -- --ignored
Lihat justfile untuk melihat beberapa resep (perintah) yang lebih bermanfaat. Berikut beberapa yang bagus lainnya:
just fmt
just fuzz
just doc
just watch ltest --all
Jika pengujian gagal atau terhenti, Anda mungkin perlu menambah jumlah maksimum file yang terbuka dengan menjalankan ulimit -n 1024
di shell Anda sebelum menjalankan pengujian, atau di konfigurasi shell Anda.
Kami juga mencoba mengikuti pendekatan TDD (Test-Driven-Development), yang berarti kami menggunakan pengujian sebagai cara untuk mendapatkan visibilitas ke dalam kode. Oleh karena itu, pengujian harus berjalan cepat sehingga putaran umpan balik antara melakukan perubahan, menjalankan pengujian, dan melihat hasilnya menjadi kecil. Untuk memfasilitasinya, kami membuat instance Bitcoin Core tiruan di mockcore
ord
memerlukan node bitcoind
yang disinkronkan dengan -txindex
untuk membangun indeks lokasi satoshi. ord
berkomunikasi dengan bitcoind
melalui RPC.
Jika bitcoind
dijalankan secara lokal oleh pengguna yang sama, tanpa konfigurasi tambahan, ord
akan menemukannya secara otomatis dengan membaca file .cookie
dari datadir bitcoind
, dan menghubungkan menggunakan port RPC default.
Jika bitcoind
tidak ada di mainnet, tidak dijalankan oleh pengguna yang sama, memiliki datadir non-default, atau port non-default, Anda harus meneruskan tanda tambahan ke ord
. Lihat ord --help
untuk detailnya.
bitcoind
ord
membuat panggilan RPC ke bitcoind
, yang biasanya memerlukan nama pengguna dan kata sandi.
Secara default, ord
mencari nama pengguna dan kata sandi dalam file cookie yang dibuat oleh bitcoind
.
Jalur file cookie dapat dikonfigurasi menggunakan --cookie-file
:
ord --cookie-file /path/to/cookie/file server
Alternatifnya, ord
dapat diberikan dengan nama pengguna dan kata sandi pada baris perintah:
ord --bitcoin-rpc-username foo --bitcoin-rpc-password bar server
Menggunakan variabel lingkungan:
export ORD_BITCOIN_RPC_USERNAME=foo
export ORD_BITCOIN_RPC_PASSWORD=bar
ord server
Atau di file konfigurasi:
bitcoin_rpc_username : foo
bitcoin_rpc_password : bar
ord
menggunakan env_logger. Atur variabel lingkungan RUST_LOG
untuk mengaktifkan logging. Misalnya, jalankan server dan tampilkan pesan log tingkat info
dan yang lebih tinggi:
$ RUST_LOG=info cargo run server
Atur variabel lingkungan RUST_BACKTRACE
untuk mengaktifkan penelusuran balik karat penuh. Misalnya, jalankan server dan aktifkan debugging dan penelusuran balik penuh:
$ RUST_BACKTRACE=1 RUST_LOG=debug ord server
Rilis pesan penerapan menggunakan templat berikut:
Release x.y.z
- Bump version: x.y.z → x.y.z
- Update changelog
- Update changelog contributor credits
- Update dependencies
Untuk menerjemahkan dokumen kami menggunakan pembantu mdBook i18n.
Lihat panduan penggunaan mdbook-i18n-helpers untuk bantuan.
Menambahkan terjemahan baru agak rumit, jadi silakan memulai terjemahan dan membuka permintaan penarikan, meskipun terjemahan Anda belum selesai.
Lihatlah komit ini untuk contoh menambahkan terjemahan baru. Pengelola akan membantu Anda mengintegrasikannya ke dalam sistem pembangunan kami.
Untuk memulai terjemahan baru:
Instal mdbook
, mdbook-i18n-helpers
, dan mdbook-linkcheck
:
cargo install mdbook mdbook-i18n-helpers mdbook-linkcheck
Hasilkan file pot
baru bernama messages.pot
:
MDBOOK_OUTPUT='{"xgettext": {"pot-file": "messages.pot"}}'
mdbook build -d po
Jalankan msgmerge
di XX.po
dengan XX
adalah kode ISO-639 dua huruf untuk bahasa yang Anda terjemahkan. Ini akan memperbarui file po
dengan teks versi bahasa Inggris terbaru:
msgmerge --update po/XX.po po/messages.pot
Bagian yang belum diterjemahkan ditandai dengan #, fuzzy
di XX.po
. Edit string msgstr
dengan teks yang diterjemahkan.
Jalankan perintah mdbook
untuk membangun kembali dokumen. Untuk bahasa Cina, yang kode ISO-639 dua hurufnya adalah 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
Jika semuanya terlihat baik, komit XX.po
dan buka permintaan tarik di GitHub. File lain yang diubah harus dihilangkan dari permintaan penarikan.