ord
ord
— это индекс, обозреватель блоков и кошелек командной строки. Это экспериментальное программное обеспечение без каких-либо гарантий. Подробнее см. ЛИЦЕНЗИЯ.
Порядковая теория наделяет сатоши нумизматической ценностью, позволяя собирать их и продавать как диковинки.
Порядковые номера — это серийные номера сатоши, присвоенные в порядке их добычи и сохраняемые во время транзакций.
См. документацию и руководства.
См. BIP для технического описания алгоритма назначения и передачи.
См. доску проекта для получения информации о приоритетных на данный момент проблемах.
Присоединяйтесь к серверу Discord, чтобы общаться с другими обычными дегенератами.
Ordinals имеет открытый исходный код и финансируется сообществом. В настоящее время ведущим специалистом по сопровождению ord
является Рафьяф. Работа Рафа на ord
полностью финансируется за счет пожертвований. Если можете, рассмотрите возможность пожертвования!
Адрес для пожертвования: bc1qguzk63exy7h5uygg8m2tcenca094a8t464jfyvrmr0s6wkt74wls3zr5m3.
Этот адрес представляет собой кошелек с мультиподписью 2 из 4, ключи которого принадлежат Raphjaph, Erin, Rodarmor и Ordinally.
Полученные биткойны пойдут на финансирование обслуживания и развития ord
, а также на расходы на хостинг ordinals.com.
Спасибо за пожертвование!
ord
использует Bitcoin Core для управления закрытыми ключами и подписания транзакций. Это имеет ряд последствий, которые вы должны понимать, чтобы безопасно использовать команды кошелька ord
:
Bitcoin Core не знает о надписях и не осуществляет контроль спутников. Использование команд bitcoin-cli
и вызовов RPC с ord
кошельками может привести к потере надписей.
Команды ord wallet
автоматически загружают кошелек ord
, заданный опцией --name
, которая по умолчанию имеет значение «ord». Имейте в виду, что после запуска команды ord wallet
может быть загружен ord
кошелек.
Поскольку ord
имеет доступ к вашим кошелькам Bitcoin Core, ord
не следует использовать с кошельками, содержащими значительную сумму средств. Держите порядковые и кардинальные кошельки отдельно.
Кошельки Alpha ord
несовместимы с кошельками, созданными в предыдущих версиях ord
. Для миграции используйте ord wallet send
со старого кошелька для отправки сатов и надписей на адреса, сгенерированные новым кошельком с помощью ord wallet receive
.
ord
написан на Rust и может быть собран из исходного кода. Готовые двоичные файлы доступны на странице релизов.
Вы можете установить последнюю версию предварительно созданного двоичного файла из командной строки с помощью:
curl --proto ' =https ' --tlsv1.2 -fsLS https://ordinals.com/install.sh | bash -s
После установки ord
вы сможете запустить ord --version
в командной строке.
В Linux ord
требует libssl-dev
при сборке из исходного кода.
В дистрибутивах Linux, основанных на Debian, включая Ubuntu:
sudo apt-get install pkg-config libssl-dev build-essential
В дистрибутивах Linux, производных от Red Hat:
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
Если вы хотите внести свой вклад, есть несколько вещей, которые полезно знать. Мы уделяем большое внимание правильному тестированию базы кода, используя три широкие категории тестов: модульное тестирование, интеграцию и фаззинг. Модульные тесты обычно можно найти в конце файла в блоке мода под tests
. Если вы добавляете или изменяете функцию, добавьте также соответствующий тест. Интеграционные тесты пытаются проверить сквозную функциональность путем выполнения подкоманды двоичного файла. Их можно найти в каталоге тестов. У нас не так много фаззинга, но базовую структуру того, как мы это делаем, можно найти в каталоге фаззинга.
Мы настоятельно рекомендуем установить его просто для облегчения проведения тестов. Чтобы запустить наш набор тестов 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 (разработка через тестирование), что означает, что мы используем тесты как способ получить представление о коде. По этой причине тесты должны выполняться быстро, чтобы цикл обратной связи между внесением изменения, запуском теста и просмотром результата был небольшим. Чтобы облегчить это, мы создали имитируемый экземпляр Bitcoin Core в макете.
ord
требует синхронизированного узла bitcoind
с -txindex
для создания индекса местоположений сатоши. ord
связывается с bitcoind
через RPC.
Если bitcoind
запускается локально одним и тем же пользователем без дополнительной настройки, ord
должен найти его автоматически, прочитав файл .cookie
из каталога данных bitcoind
и подключившись с использованием порта RPC по умолчанию.
Если bitcoind
не находится в основной сети, не запускается тем же пользователем, имеет нестандартный каталог данных или нестандартный порт, вам потребуется передать дополнительные флаги в ord
. Подробности смотрите ord --help
.
bitcoind
RPC-аутентификация ord
выполняет RPC-вызовы bitcoind
, для чего обычно требуются имя пользователя и пароль.
По умолчанию ord
ищет имя пользователя и пароль в файле cookie, созданном bitcoind
.
Путь к файлу 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_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
Создайте новый файл pot
с именем messages.pot
:
MDBOOK_OUTPUT='{"xgettext": {"pot-file": "messages.pot"}}'
mdbook build -d po
Запустите msgmerge
на XX.po
, где XX
— двухбуквенный код ISO-639 языка, на который вы переводите. Это обновит po
файл текстом самой последней английской версии:
msgmerge --update po/XX.po po/messages.pot
Непереведенные разделы отмечены #, fuzzy
в XX.po
Отредактируйте строку msgstr
с переведенным текстом.
Выполните команду mdbook
, чтобы восстановить документы. Для китайцев, чей двухбуквенный код 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. Другие измененные файлы следует исключить из запроса на включение.