• Stars
    star
    1,435
  • Rank 32,809 (Top 0.7 %)
  • Language
    Rust
  • License
    Creative Commons ...
  • Created about 3 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

👁‍🗨 Rare and exotic sats

ord

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.

See milestones to get a sense of where the project is and where it's going.

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 bc1q8kt9pyd6r27k2840l8g5d7zshz3cg9v6rfda0m248lva3ve5072q3sxelt.

This address is 2 of 4 multisig wallet with keys held by raphjaph, erin, rodarmor, and ordinally.

Bitcoin received will go towards funding maintainance 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 --wallet 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.

Pre-alpha wallet migration

Alpha ord wallets are not compatible with wallets created by previous versions of ord. To migrate, use ord wallet send from the old wallet to send sats and inscriptions to addresses generated by the new wallet with ord wallet receive.

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 -fsLS https://ordinals.com/install.sh | bash -s

Once ord is installed, you should be able to run ord --version on the command line.

Building

On Debian and Ubuntu, ord requires libssl-dev when building from source:

sudo apt-get install libssl-dev

You'll also need Rust:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

To build ord from source:

git clone https://github.com/ordinals/ord.git
cd ord
cargo build --release

Once built, the ord binary can be found at ./target/release/ord.

ord requires rustc version 1.67.0 or later. Run rustc --version to ensure you have this version. Run rustup update to get the latest stable release.

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 require 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-user foo --bitcoin-rpc-pass bar server

Using environment variables:

export ORD_BITCOIN_RPC_USER=foo
export ORD_BITCOIN_RPC_PASS=bar
ord server

Or in the config file:

bitcoin_rpc_user: foo
bitcoin_rpc_pass: 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

New Releases

Release commit messages use the following template:

Release x.y.z

- Bump version: x.y.z → x.y.z
- Update changelog
- Update dependencies
- Update database schema version

More Repositories

1

just

🤖 Just a command runner
Rust
13,324
star
2

intermodal

A command-line utility for BitTorrent torrent file creation, verification, and more
Rust
368
star
3

runestone

Runes: terrible idea or idée terrible?
207
star
4

degenerate

A generative art computer
Rust
107
star
5

dotfiles

📜 Dotfiles & Scripts
Shell
39
star
6

boilerplate

Statically-checked Rust template engine
Rust
26
star
7

blaster

✯ Audio reactive visuals engine in C++/OpenGL
C++
19
star
8

janus

🧐Justfile ecosystem analysis tool
Rust
15
star
9

reap.vim

🧐Read, evaluate, and annotate code in vim
Python
15
star
10

iota

A meditation on why there will never be an Internet of Toasters – https://casey.github.io/iota
HTML
13
star
11

tokio-by-hand

My attempt to understand Rust futures
Rust
13
star
12

dotify

⠙⠕⠞⠊⠋⠽ / convert bytes to braille and back again
Rust
12
star
13

edmv

🔄 Rename files with your favorite editor
Python
12
star
14

resume

A simple Rust resume generator
Rust
10
star
15

boot

boot / ⠛⠕⠞⠞⠁⠀⠃⠕⠕⠞⠀⠮⠀⠍⠑⠞⠁⠍⠁⠡⠔⠑
Shell
9
star
16

oi

📍 Location-annotated Errors
Rust
7
star
17

cargo-quickfix

Populate Vim quickfix files with Cargo messages
Rust
7
star
18

imglife

⢥ Play Conway's Game of Life with images
Rust
7
star
19

nftparty

HTML
6
star
20

lexiclean

Rust library to lexically clean paths
Rust
6
star
21

dotbot-user-study

Python
5
star
22

brev

💀 Do or die: quick and dirty utility functions in rust
Rust
4
star
23

9x

Plan 9 for Unix
4
star
24

ideas

Ideas, schemes, and half-baked notions
4
star
25

err-with

🤔 A simple Rust crate for adding context to errors
Rust
4
star
26

clap-config

Generate a config parser from a clap argument parser
Rust
4
star
27

glium-screenshot

Synchronous screenshot with glium
Rust
3
star
28

pd0

3
star
29

bak

📦 Move files out of the way
Rust
3
star
30

unisearch

𝑼 Search unicode character descriptions
Rust
3
star
31

puzzlebox

💎 a tiny treasure
Python
3
star
32

src

䷯ Manage your personal repository zoo
Rust
3
star
33

remote

📡 Generate remote repository strings
Rust
3
star
34

gossamer

Rust
3
star
35

position

☞ Source position objects for Rust
Rust
2
star
36

nice-wallet

Wallet Desiderata
2
star
37

dotenv-compare

⦿ Compare and contrast dotenv implementations
Ruby
2
star
38

colour-lovers-rs

🎨Tools for interacting with COLOURlovers
Rust
2
star
39

e

Expression evaluator
C
2
star
40

temptree

Temporary trees of files
Rust
2
star
41

bitcoind-rpc-unavailable

Rust
2
star
42

warpwallet-rs

Rust
2
star
43

g

a better go
Shell
2
star
44

rust-bin-template

Rust Binary Project Template
Rust
2
star
45

ordinal-presentation

Ordinal Presentation
HTML
2
star
46

bips-chronological

Rust
2
star
47

bulb

Tulip Farm Discord bot
Rust
2
star
48

flotilla

⛵️ Itty-bitty services
Go
2
star
49

edmunge

❓ Use ed to munge your files
Rust
1
star
50

whim

An adventure in capitalism
Rust
1
star
51

powercycle

Rust
1
star
52

homebrew-bitcoind-build-logs

C++
1
star
53

bitcoind-rpc-timeout

Rust
1
star
54

target

Information about the current compilation target
Rust
1
star
55

bootstrap

Invoke `x.py` slightly more conveniently
Rust
1
star
56

annotated-torrents

Rich, structured content metadata for BitTorrent
1
star
57

rmr

✖︎ Audio reactive visuals engine in JavaScript/WebGL
JavaScript
1
star
58

uniblocks

A to Ω: Print unicode blocks and the characters therein
Rust
1
star
59

blog

Rust
1
star
60

x-serialization-format

Rust
1
star
61

computer.txt

1
star
62

hosts

💁‍♀️ Manage your hosts file
Rust
1
star
63

nuketab

🏴 Let fly the tabs of anarchy
HTML
1
star
64

worm

Write once read many key value storage service
Go
1
star