From c66e56b0027311d9f89424a2be1be7331a8b6257 Mon Sep 17 00:00:00 2001 From: Casey Rodarmor Date: Sat, 8 Jan 2022 18:42:34 -0800 Subject: [PATCH] Rename to sat-tracker (#21) --- .github/workflows/ci.yaml | 2 +- Cargo.lock | 22 ++++++------- Cargo.toml | 4 +-- README.md | 66 ++------------------------------------- tests/integration.rs | 4 +-- 5 files changed, 18 insertions(+), 80 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0095a478ad..6ec16e77f1 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -41,7 +41,7 @@ jobs: - name: Check Lockfile run: | - cargo update --locked --package bitcoin-atoms + cargo update --locked --package sat-tracker - name: Test run: cargo test --all diff --git a/Cargo.lock b/Cargo.lock index abaa34a74a..ad3ea3cfbe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -39,17 +39,6 @@ dependencies = [ "secp256k1", ] -[[package]] -name = "bitcoin-atoms" -version = "0.0.0" -dependencies = [ - "bitcoin", - "executable-path", - "redb", - "structopt", - "tempfile", -] - [[package]] name = "bitcoin_hashes" version = "0.10.0" @@ -261,6 +250,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "sat-tracker" +version = "0.0.0" +dependencies = [ + "bitcoin", + "executable-path", + "redb", + "structopt", + "tempfile", +] + [[package]] name = "secp256k1" version = "0.20.3" diff --git a/Cargo.toml b/Cargo.toml index 5c051a2f57..7baf5c2375 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] -name = "bitcoin-atoms" -description = "Bitcoin atom utilies" +name = "sat-tracker" +description = "Satoshi tracker" version = "0.0.0" license = "CC0-1.0" edition = "2021" diff --git a/README.md b/README.md index 99cc3f3848..db536b0bf5 100644 --- a/README.md +++ b/README.md @@ -1,65 +1,3 @@ -# Bitcoin Atoms +# Sat Tracker -Discover the current whereabouts of Bitcoin Atoms. - -Atoms are created, numbered, and transferred according to a few simple rules: - -- Every new block creates an atom as an implicit input to the coinbase - transaction, similar to the block subsidy. - -- Atoms are numbered according to the height of the block in which they were - created. The atom created in the genesis block is atom 0, the next atom 1, - and so forth. - -- Atoms are carried by coins. - -- Atoms are transferred when the coins carrying them are used as inputs to a - transaction. In the absence of a specially crafted transaction, they move - deterministically to output coins proportionately to the value of each coin. - A specially crafted `apportion` transaction allows the owner of atoms to - apportion them to output coins at will. However, the precise form of - `apportion` transactions has been lost to history. Hopefully it will soon be - rediscovered. - -- Atoms can be transmuted. Atoms start out devoid of character, aside from - their number. However, they are Promethean. The owner of an atom may change - its character with the `transmute` operation, associating a 256 bit number - with it. This might be the SHA-256 hash of an image, thus creating an NFT. - However, we all know that humans are chaotic and inventive. Powerful new uses - for atoms may as yet be undiscovered, lurking now merely as phantoms in the - heads of heretics. The precise mechanism of `transmute` has not been - discovered. Speculation on this matter is welcome. - - Transmutation may be repeated, if the old form of an atom has become - tiresome. Thus do scarce atoms seek their best and highest use. - -Atoms have many nice properties: - -- Fair: Atoms are not premined or minted arbitrarily. Atoms are awarded to - miners, just like bitcoin itself. - -- Decentralized: Since atoms have been created in every block, including the - genesis block, and without intention, they are distributed among existing - coin holders proportionally to their holdings. - -- Scarce: As of midnight, December 12th, 2021, there are 713,802 atoms, and - only 144 more will be created every day. This is quite a bit more than a few, - but quite a bit less than the untold billions of digital assets being churned - out of the vast VC-funded forges. - -- Precedented: They are similar in spirit to [something that Satoshi included - in Bitcoin, but removed before - launch](https://github.com/JeremyRubin/satoshis-version/blob/2197a48a1432f567314ce6c6c4be9270518f882e/src/main.cpp#L1227). - -- Security enhancing: Since new atoms go to miners, they contribute to - Bitcoin's security budget, and the more use humans have of atoms, the greater - that contribution. Since one atom is created per block, with no halving, they - will continue to contribute to Bitcoin's security budget long after the block - subsidy dwindles to zero. - -- Voluntary: A coin holder can ignore atoms completely if they so choose, aside - from seeing a few inscrutable `transmute` and `apportion` transactions on - chain. - -- Natural: Atoms are a natural extension to Bitcoin, mimicing Bitcoin's rules - and incentives. +A scheme for numbering satoshis and and tracking them across transactions. diff --git a/tests/integration.rs b/tests/integration.rs index 970ae005e0..09708f69f1 100644 --- a/tests/integration.rs +++ b/tests/integration.rs @@ -88,7 +88,7 @@ fn populate_blockfile(mut output: File, height: usize) -> io::Result<()> { fn find_satoshi_zero() -> Result { let tmpdir = tempfile::tempdir()?; populate_blockfile(File::create(tmpdir.path().join("blk00000.dat"))?, 0)?; - let output = Command::new(executable_path("bitcoin-atoms")) + let output = Command::new(executable_path("sat-tracker")) .args([ "find-satoshi", "--blocksdir", @@ -118,7 +118,7 @@ fn find_satoshi_zero() -> Result { fn find_first_satoshi_of_second_block() -> Result { let tmpdir = tempfile::tempdir()?; populate_blockfile(File::create(tmpdir.path().join("blk00000.dat"))?, 1)?; - let output = Command::new(executable_path("bitcoin-atoms")) + let output = Command::new(executable_path("sat-tracker")) .args([ "find-satoshi", "--blocksdir",