50 个版本 (19 个破坏性版本)
| 0.19.1 | 2024年7月18日 |
|---|---|
| 0.18.5 | 2024年5月9日 |
| 0.17.0 | 2024年3月31日 |
| 0.13.1 | 2023年12月16日 |
| 0.0.0 | 2022年1月18日 |
#7 在 #transactions 中
每月245次 下载
在 inscribe_helper 中使用
4MB
41K SLoC
ord
ord 是一个索引、区块浏览器和命令行钱包。这是一款实验性软件,没有任何保证。有关更多详细信息,请参阅 LICENSE。
序数理论赋予了萨托希收藏价值和交易价值,使其可以作为古董收集和交易。
序数是萨托希的序列号,按照挖掘顺序分配,并在交易中保留。
有关文档和指南,请参阅 文档。
有关分配和传输算法的技术描述,请参阅 BIP。
有关当前优先级问题,请参阅 项目板。
加入 Discord 服务器 与其他序数爱好者聊天。
捐赠
Ordinals 是开源的并由社区资助。当前 ord 的主要维护者是 raphjaph。Raph 对 ord 的工作完全由捐赠资助。如果您可以的话,请考虑捐赠!
捐赠地址是 bc1qguzk63exy7h5uygg8m2tcenca094a8t464jfyvrmr0s6wkt74wls3zr5m3。
这个地址是 2 个 4 个多重签名钱包中的 1 个,由 raphjaph、erin、rodarmor 和 ordinally 持有密钥。
收到的比特币将用于资助 ord 的维护和开发,以及 ordinals.com 的托管费用。
感谢您的捐赠!
钱包
ord 依赖于 Bitcoin Core 进行私钥管理和交易签名。您必须了解这些影响,才能安全地使用 ord 钱包命令。
-
比特币核心不认识铭文,也不执行SAT控制。使用
bitcoin-cli命令和带有ord钱包的RPC调用可能会导致铭文丢失。 -
ord钱包命令会自动加载由--name选项指定的ord钱包,默认为'ord'。请注意,运行ord钱包命令后,可能会加载ord钱包。 -
因为
ord可以访问您的比特币核心钱包,所以不应使用包含大量资金的钱包与ord一起使用。请将序数钱包和基数钱包分开。
预alpha钱包迁移
Alpha版本的ord钱包与之前版本的ord创建的钱包不兼容。要迁移,请使用旧钱包中的ord wallet send发送sat和铭文到新钱包通过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。
在基于Debian的Linux发行版上,包括Ubuntu
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
构建完成后,可以在./target/release/ord找到ord的二进制文件。
ord需要rustc版本1.76.0或更高版本。运行rustc --version以确保您有这个版本。运行rustup update以获取最新的稳定版本。
Docker
可以使用以下命令构建Docker镜像
docker build -t ordinals/ord .
Homebrew
ord可在Homebrew中找到
brew install ord
Debian软件包
要构建.deb软件包
cargo install cargo-deb
cargo deb
贡献
如果您想贡献,有一些事情是很有帮助的。我们在代码库中非常重视适当的测试,分为三个广泛的类别:单元、集成和模糊。单元测试通常位于文件底部一个名为tests的mod块中。如果您添加或修改了函数,也请添加相应的测试。集成测试试图通过执行二进制的一个子命令来测试端到端的功能。这些可以在tests目录中找到。我们没有太多的模糊测试,但我们如何做的基本结构可以在fuzz目录中找到。
我们强烈推荐安装 just 以简化测试运行过程。要运行我们的持续集成测试套件,您将执行以下操作
just ci
这对应于以下命令
cargo fmt -- --check
cargo test --all
cargo test --all -- --ignored
请查看 justfile 以了解更多有用的指令。以下是一些额外的示例
just fmt
just fuzz
just doc
just watch ltest --all
如果测试失败或卡住,您可能需要在运行测试之前或配置您的shell时运行以下命令以增加打开文件的最大数量:ulimit -n 1024
我们还尝试遵循TDD(测试驱动开发)方法,这意味着我们使用测试来了解代码。由于这个原因,测试必须运行得很快,以便在修改、运行测试和看到结果之间的反馈循环很小。为了实现这一点,我们在 mockcore 中创建了一个模拟的比特币核心实例
同步
ord 需要一个与 bitcoind 节点同步的带有 -txindex 的节点来构建Satoshi位置的索引。 ord 通过RPC与 bitcoind 通信。
如果 bitcoind 由同一用户在本地上运行,没有额外的配置,那么 ord 应该能够通过从 bitcoind 的 datadir 中读取 .cookie 文件来自动找到它,并使用默认的RPC端口进行连接。
如果 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_BACKTRACE 环境变量以打开完整的rust回溯。例如,运行服务器并打开调试和完整的回溯
$ 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 helper。
有关帮助,请参阅 mdbook-i18n-helpers 使用指南。
添加新的翻译有些复杂,所以请随意开始翻译并提交一个拉取请求,即使您的翻译是不完整的。
请参阅 此提交 以了解添加新翻译的示例。维护者将帮助您将其集成到我们的构建系统中。
要开始新的翻译
-
安装
mdbook、mdbook-i18n-helpers和mdbook-linkcheckcargo 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是您要翻译成的语言的两位字母 ISO-639 代码。这将使用最新英文版本的文本更新po文件。msgmerge --update po/XX.po po/messages.pot -
未翻译的部分在
XX.po中用#, fuzzy标记。用翻译后的文本编辑msgstr字符串。 -
执行
mdbook命令以重建文档。对于中文,其两位字母 ISO-639 代码为zhmdbook 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 上打开一个拉取请求。其他更改的文件应从拉取请求中省略。
依赖项
~65–100MB
~2M SLoC