diff --git a/docs/.nojekyll b/docs/.nojekyll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/docs/.prettierrc b/docs/.prettierrc deleted file mode 100644 index 0a725205c8..0000000000 --- a/docs/.prettierrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 2, - "semi": true, - "singleQuote": true -} diff --git a/docs/CNAME b/docs/CNAME deleted file mode 100644 index 6349ddd4e8..0000000000 --- a/docs/CNAME +++ /dev/null @@ -1 +0,0 @@ -ordinals.com diff --git a/docs/bounties/index.html b/docs/bounties/index.html deleted file mode 100644 index 19bdf070e8..0000000000 --- a/docs/bounties/index.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - Ordinal Bounties - - - -

Ordinal Bounties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeSupplyQuotaBountyAddress
Epic311 BTC1PE7u4wbDP2RqfKN6geD1bG57v9Gj9FXm3
Rare360100.01 BTC145Z7PFHyVrwiMWwEcUmDgFbmUbQSU9aap
Uncommon~730,0001000.001 BTC1Hyr94uypwWq5CQffaXHvwUMEyBPp3TUZH
Elusive110.1 BTC13fq3gND5nHpYVYwnqEL6AuwxF5DBCDj1g
Cursed4,999,999,99910.1 BTC17m5rvMpi78zG8RUpCRd6NWWMJtWmu65kg
Repeater13740.025 BTC1KYfzhzGhYepGkWqzmqjRwStuYRkmTzR8r
Round-1510trailing zeroes / 100,000,000 sats1QfaU6QdScFVyZVT2SW4qkQonkYAvBqQY
Intelligible-1000.001 BTC1E4ZPUF9SQbW6WqLPVkW6q14uwr8CXBtHr
- -
-

Definitions

- -

An epic satoshi is the first satoshi mined in the first block after a halving. They are exceedingly rare. Three have been mined, and there is one epic sat per 6,336,854 BTC in circulation.

- -

A rare satoshi is the first satoshi mined in the first block after a difficulty adjustment period. They are very rare. 361 have been mined, and there is one epic sat per 52,423 BTC in circulation.

- -

An uncommon satoshi is the first satoshi mined in every block. They are moderately rare. More than 730,000 have been mined, and there is one rare sat per 26 BTC in circulation.

- -

There is only one elusive satoshi, that with ordinal number 623624999999999. Why is left as an exercise to the reader.

- -

All sats mined in block 124724 are cursed. Again, figuring out why is left as an exercise to the reader.

- -

A repeater satoshi's ordinal number consists of repititions a single digit, for example, 777777777, or 3333. They are extremely rare. 137 have been mined, or one per 138,138 BTC in circulation.

- -

A round satoshi's ordinal number has many trailing zeros. The more, the rarer. To reflect this, the bounty for round satoshies is variable.

- -

An intelligible satoshi is one whose name is an word or sentence. The code mapping ordinals to names is here.

-
- -
-

Rules

- -
    -
  1. Find an ordinal qualifying for a bounty.
  2. -
  3. Make sure that the bounty has not already been claimed by verifying that no transactions have been sent to the bounty address.
  4. -
  5. Send a transaction that sends the ordinal to the bounty address.
  6. -
  7. Send a DM to @rodarmor.
  8. -
  9. The bounty will be sent back to the address that the ordinal was sent from.
  10. -
- -

Questions? Tweet them at @rodarmor.

-
- -
-

Hints

- - -
- -

Good luck and godspeed!

- - diff --git a/docs/deck/index.html b/docs/deck/index.html deleted file mode 100644 index 3e85ce070f..0000000000 --- a/docs/deck/index.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - - Ordinals - - - - - - -

Ordinals

-

Today’s Agenda

-
-

Feel free to interrupt and ask questions!

-

Who am I?

-
-

Why ordinals?

-
-

What are ordinals?

-

Ordinals are just serial numbers for satoshis

-

They start at 0, and go up to 1,906,077,499,999,999 (so far!)

-

Are transferred with a simple first-in-first-out algorithm

-
[2] [1] [3] → [4] [2]
-
-
[a b] [c] [d e f] → [? ? ? ?] [? ?]
-
-
[a b] [c] [d e f] → [a b c d] [e f]
-
-

What about fees?

-
[2] [1] [3] → [4]
-
-
[a b] [c] [d e f] → [a b c d]
-
-
[SUBSIDY] [e f] → [SUBSIDY e f]
-
-

Specification

-
# subsidy of block at given height
-def subsidy(height):
-  return 50 * 100_000_000 >> height // 210_000
-
-# first ordinal of subsidy of block at given height
-def first_ordinal(height):
-  start = 0
-  for height in range(height):
-    start += subsidy(height)
-  return start
-
-# assign ordinals in given block
-def assign_ordinals(block):
-  first = first_ordinal(block.height)
-  last = first + subsidy(block.height)
-  coinbase_ordinals = list(range(first, last))
-
-  for transaction in block.transactions[1:]:
-    ordinals = []
-    for input in transaction.inputs:
-      ordinals.extend(input.ordinals)
-
-    for output in transaction.outputs:
-      output.ordinals = ordinals[:output.value]
-      del ordinals[:output.value]
-
-    coinbase_ordinals.extend(ordinals)
-
-  for output in block.transaction[0].outputs:
-    output.ordinals = coinbase_ordinals[:output.value]
-    del coinbase_ordinals[:output.value]
-
-

What are ordinals good for?

-

If you want a token, you can just pick and ordinal to represent your token, and -use the location of the ordinal to represent ownership.

-

The person who controls the private key that corresponds to the public key of -the UTXO that contains the ordinal is the current owner of the token.

-

What else are ordinals good for?

-
-

Wacky aside: Ordinal traits

-
-

Ordinal Index

-
-

What are ordinals not good for?

-
-

Ordinal NFTs

-
    -
  1. Hash: (ordinal || content hash || public key)
  2. -
  3. Sign
  4. -
  5. Append signature, data, and then bech32 encode
  6. -
  7. Et voilà: nft1qqz3psl8mvjm9t573n29l8q0phklcdhg65392pv0gpc79tydeujltn5g2h4fsg...
  8. -
-

Ordinal NFTs

-
-

Ordinal NFT Upgrades: Issued by ordinal owner

-
-

Ordinal NFT Upgrades: Timestamping

-
-

Ordinal NFT Upgrades: Publicity

-
- - diff --git a/docs/index.css b/docs/index.css deleted file mode 100644 index 2955b4e2f8..0000000000 --- a/docs/index.css +++ /dev/null @@ -1,18 +0,0 @@ -html { - font-family: sans-serif; - margin-left: 1rem; - margin-right: 1rem; -} - -body { - margin-left: auto; - margin-right: auto; - max-width: 100%; - width: 50rem; -} - -table { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index 8bd000d945..0000000000 --- a/docs/index.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - Ordinals - - - - -

THERE WILL ONLY EVER BE 2,099,999,997,690,000 ORDINALS

- -

Ordinals are serial numbers for satoshis.

- -

This website, a draft BIP defining ordinals, and the ord command-line utility are developed on GitHub.

- -

Ordinal degenerates congregate on the Discord server.

- -

At the moment, ordinals are a fun art project. There are no wallets or markets, and there might never be. Or, they might explode in popularity and take over the world. Who can say?

- -

Check out this blog post for some rare ordinal theory, and then the bounties page for a little ordinal treasure hunt.

- -

A slide deck with mostly the same content as this page is available here, and and in NFT minting party video presentation form here.

- -

What are ordinals?

- - Ordinals are numbers, like this: 804766073970493. Every satoshi, which is ¹⁄₁₀₀₀₀₀₀₀₀ of a bitcoin, has an ordinal, and every ordinal has a satoshi. When a satoshi changes hands, so does its ordinal. There are a lot of satoshis, and so there are a lot of ordinals. Two quadrillion ninety-nine trillion nine hundred ninety-nine billion nine hundred ninety-seven million six hundred ninety thousand, to be precise. - -

What can ordinals do?

- - Ordinals can be used for anything needing a public, persistent, transferable, decentralized identity. This includes NFTs, accounts, stablecoins, PKI, and more. For more ideas, see the BIP. - -

What are ordinals not?

- - Ordinals are not a side chain, do not require any changes to the bitcoin protocol, and are extremely simple. - -

How do ordinals come into existence?

- - Since ordinals map one-to-one to satoshis, new ordinals are created in the same way that new satoshis are created, by miners. Miners don't need to do anything special to create ordinals. - - Every block creates new satoshis. These new satoshis are known as the block subsidy. Each new satoshi in each block subsidy is assigned an ordinal, which is just a number, in the order in which it is mined. So, the genesis block subsidy, which created 50 BTC, or 5,000,000,000 satoshis, contains ordinals 0 through 4,999,999,999, and the second block subsidy, which was also worth 50 BTC, contains ordinals 5,000,000,000 through 9,999,999,999. - -

How are ordinals transferred?

- - Ordinals are transferred the same way that bitcoin is transferred, with bitcoin transactions. Bitcoin transactions have a bunch of inputs, which is bitcoin being sent, and a bunch of outputs, which are the bitcoin being received. Each output and each input has a value in satoshis. - - Ordinals transfer in first-in-first-out order. This means that you go through the ordinals in the inputs to a transaction, in order, and assign each ordinal to outputs, in order. - - Let's imagine a transaction with three inputs and two outputs. The inputs are on the left of the arrow and the outputs are on the right, all labeled with their values: - -
[2] [1] [3] → [4] [2]
- - Now let's label the same transaction with the ordinals that each input contains, and question marks for each output ordinal. Ordinals are long numbers, so let's use letters to represent them: - -
[a b] [c] [d e f] → [? ? ? ?] [? ?]
- - To figure out which ordinal goes to which output, go through the input ordinals in order and assign each to a question mark: - -
[a b] [c] [d e f] → [a b c d] [e f]
- - What about fees, you might ask? Good question! Let's imagine the same transaction, this time with a two satoshi fee. Transactions with fees send more satoshis in the inputs than are received by the outputs, so to make our transaction into one that pays fees, we'll remove the second output: - -
[2] [1] [3] → [4]
- - The ordinals, e and f now have nowhere to go in the outputs: - -
[a b] [c] [d e f] → [a b c d]
- - So go to the miner who mined the block as fees. The BIP has more details, but in short, fees paid by transactions are treated as extra inputs to the coinbase transaction, and are ordered how their corresponding transactions are ordered in the block. The coinbase transaction of the block might look like this: - -
[SUBSIDY] [e f] → [SUBSIDY e f]
- -

Where can I read the nitty-gritty technical details?

- - The BIP! - -