Provenance

Scripts to verify the provenance of Breedy Birds.

Breedy Bird Images

Breedy Birds art was provided by the original founder without the component images. However, they were serialized, so Chaos Eggs were mapped to the serialization of the provided art.

DNA base pair generation for Breedy Birds #01 - #07, and #10 - #45 (Genesis/ Batch 1)

#R version 4.1.3 (2022-03-10) -- "One Push-Up"
#Copyright (C) 2022 The R Foundation for Statistical Computing
#Platform: x86_64-pc-linux-gnu (64-bit)

#DNA base pair generation for Breedy Birds 1-7, and 10-45.

library(digest)
class <- read.csv(file="class.csv", header=FALSE)

set.seed(42931192)

rare <-   c(rep("A", 20), rep("B",30), rep("C", 50))
le <-     c(rep("A", 34), rep("B",33), rep("C", 33))
se <-     c(rep("A", 50), rep("B",30), rep("C", 20))
dna <-    NULL
hashes <- NULL

a <- 1
while(a != nrow(class) + 1) {
  b <- sample(1:100, 8)
  if(class[a,1] == "Rare") {
    dna <- c(dna, paste(rare[b[1]], rare[b[2]], "-",
                        rare[b[3]], rare[b[4]], "-",
                        rare[b[5]], rare[b[6]], "-",
                        rare[b[7]], rare[b[8]], sep=""))
  }
  if(class[a,1] == "Limited Edition") {
    dna <- c(dna, paste(le[b[1]], le[b[2]], "-",
                        le[b[3]], le[b[4]], "-",
                        le[b[5]], le[b[6]], "-",
                        le[b[7]], le[b[8]], sep=""))
  }
  if(class[a,1] == "Standard Edition") {
    dna <- c(dna, paste0(se[b[1]], se[b[2]], "-",
                        se[b[3]], se[b[4]], "-",
                        se[b[5]], se[b[6]], "-",
                        se[b[7]], se[b[8]]))
  }
  a <- a + 1
}

a <- 1
while(a != length(dna) + 1) {
  hashes <- c(hashes, digest(dna[a], "sha1", serialize = FALSE))
  a <- a + 1
}

write.csv(data.frame("DNA" = dna), file = "dna.csv", row.names = FALSE)
write.csv(data.frame("Hashes" = hashes), file = "hashes.csv", row.names = FALSE)

q()

DNA base pair generation for Breedy Birds #46 - #51 (Batch 2)

#R version 4.1.3 (2022-03-10) -- "One Push-Up"
#Copyright (C) 2022 The R Foundation for Statistical Computing
#Platform: x86_64-pc-linux-gnu (64-bit)

#DNA base pair generation for Breedy Birds 46-51
#Unlike the genesis Breedy Birds, class distinction is not necessary since
#all birds in this batch are standard edition.

library(digest)
set.seed(89029820)

se <-   c(rep("A", 50), rep("B",30), rep("C", 20))
dna <-  NULL
hashes <- NULL

a <- 1
while(a != 6 + 1) {
  b <- sample(1:100, 8)
  dna <- c(dna, paste(se[b[1]], se[b[2]], "-",
                      se[b[3]], se[b[4]], "-",
                      se[b[5]], se[b[6]], "-",
                      se[b[7]], se[b[8]], sep=""))
  a <- a + 1
}

a <- 1
while(a != length(dna) + 1) {
  hashes <- c(hashes, digest(dna[a], "sha1", serialize = FALSE))
  a <- a + 1
}

write.csv(data.frame("DNA" = dna), file = "dna_2.csv", row.names=FALSE)
write.csv(data.frame("Hashes" = hashes), file = "hashes_2.csv", row.names = FALSE)

q()

DNA base pair generation for Breedy Birds #8, #52, and #53 (Batch 3)

#R version 4.1.3 (2022-03-10) -- "One Push-Up"
#Copyright (C) 2022 The R Foundation for Statistical Computing
#Platform: x86_64-pc-linux-gnu (64-bit)

#DNA base pair generation for Breedy Birds 8, 52, and 53

library(digest)
set.seed(262741)

se <-   c(rep("A", 50), rep("B",30), rep("C", 20))
le <-   c(rep("A", 34), rep("B",33), rep("C", 33))
dna <-  NULL
hashes <- NULL

a <- 1
while(a != 3 + 1) {
  b <- sample(1:100, 8)
  dna <- c(dna, paste(se[b[1]], se[b[2]], "-",
                      se[b[3]], se[b[4]], "-",
                      se[b[5]], se[b[6]], "-",
                      se[b[7]], se[b[8]], sep=""))
  a <- a + 1
}

a <- 1
while(a != length(dna) + 1) {
  hashes <- c(hashes, digest(dna[a], "sha1", serialize = FALSE))
  a <- a + 1
}

write.csv(data.frame("DNA" = dna), file = "dna_3.csv", row.names=FALSE)
write.csv(data.frame("Hashes" = hashes), file = "hashes_3.csv", row.names = FALSE)

q()

DNA base pair generation for Breedy Birds #9, #54, and #55 (Batch 4)

#R version 4.1.3 (2022-03-10) -- "One Push-Up"
#Copyright (C) 2022 The R Foundation for Statistical Computing
#Platform: x86_64-pc-linux-gnu (64-bit)

#DNA base pair generation for Breedy Birds 9, 54, and 55

library(digest)
set.seed(100103886)

se <-   c(rep("A", 50), rep("B",30), rep("C", 20))
le <-   c(rep("A", 34), rep("B",33), rep("C", 33))
dna <-  NULL
hashes <- NULL

a <- 1
while(a != 3 + 1) {
  b <- sample(1:100, 8)
  if(a == 1) {
    dna <- c(dna, paste0(le[b[1]], le[b[2]], "-",
                         le[b[3]], le[b[4]], "-",
                         le[b[5]], le[b[6]], "-",
                         le[b[7]], le[b[8]]))
  } else {
    dna <- c(dna, paste0(se[b[1]], se[b[2]], "-",
                         se[b[3]], se[b[4]], "-",
                         se[b[5]], se[b[6]], "-",
                         se[b[7]], se[b[8]]))
  }
  a <- a + 1
}

a <- 1
while(a != length(dna) + 1) {
  hashes <- c(hashes, digest(dna[a], "sha1", serialize = FALSE))
  a <- a + 1
}

write.csv(data.frame("DNA" = dna), file = "dna_4.csv", row.names=FALSE)
write.csv(data.frame("Hashes" = hashes), file = "hashes_4.csv", row.names = FALSE)

q()

DNA base pair generation for Breedy Birds #56 (Batch 5)

#R version 4.2.1 (2022-06-23) -- "Funny-Looking Kid"
#Copyright (C) 2022 The R Foundation for Statistical Computing
#Platform: x86_64-pc-linux-gnu (64-bit)

#DNA base pair generation for Breedy Bird 56

library(digest)
set.seed(10000405)

se <-   c(rep("A", 50), rep("B",30), rep("C", 20))

b <- sample(1:100, 8)
dna <- paste0(se[b[1]], se[b[2]], "-",
              se[b[3]], se[b[4]], "-",
              se[b[5]], se[b[6]], "-",
              se[b[7]], se[b[8]])

hash <- digest(dna, "sha1", serialize = FALSE)

write.csv(data.frame("DNA" = dna), file = "dna_5.csv", row.names=FALSE)
write.csv(data.frame("Hash" = hash), file = "hash_5.csv", row.names = FALSE)
q()

Last updated