├── .gitignore
├── LICENSE.md
├── README.md
├── col_build.rb
├── col_query.rb
├── collections.md
├── docs
├── bitcoin.pdf
├── mimblewimble.pdf
├── snake.html
└── tetris.html
├── i
├── export-preview-ltc.png
├── export-preview.png
├── pepelangelo1.jpg
├── pepelangelo10.jpg
├── pepelangelo11.jpg
├── pepelangelo12.jpg
├── pepelangelo13.jpg
├── pepelangelo14.jpg
├── pepelangelo15.jpg
├── pepelangelo16.jpg
├── pepelangelo17.jpg
├── pepelangelo18.jpg
├── pepelangelo19.jpg
├── pepelangelo2.jpg
├── pepelangelo20.jpg
├── pepelangelo21.jpg
├── pepelangelo22.jpg
├── pepelangelo23.jpg
├── pepelangelo24.jpg
├── pepelangelo25.jpg
├── pepelangelo26.jpg
├── pepelangelo27.jpg
├── pepelangelo28.jpg
├── pepelangelo29.jpg
├── pepelangelo3.jpg
├── pepelangelo30.jpg
├── pepelangelo31.jpg
├── pepelangelo32.jpg
├── pepelangelo33.jpg
├── pepelangelo34.jpg
├── pepelangelo35.jpg
├── pepelangelo36.jpg
├── pepelangelo37.jpg
├── pepelangelo38.jpg
├── pepelangelo39.jpg
├── pepelangelo4.jpg
├── pepelangelo40.jpg
├── pepelangelo41.jpg
├── pepelangelo42.jpg
├── pepelangelo43.jpg
├── pepelangelo44.jpg
├── pepelangelo5.jpg
├── pepelangelo6.jpg
├── pepelangelo7.jpg
├── pepelangelo8.jpg
├── pepelangelo9.jpg
├── punk1.png
├── punk10.png
├── punk100.png
├── punk11.png
├── punk12.png
├── punk13.png
├── punk14.png
├── punk15.png
├── punk16.png
├── punk17.png
├── punk18.png
├── punk19.png
├── punk2.png
├── punk20.png
├── punk21.png
├── punk22.png
├── punk23.png
├── punk24.png
├── punk25.png
├── punk26.png
├── punk27.png
├── punk28.png
├── punk29.png
├── punk3.png
├── punk30.png
├── punk31.png
├── punk32.png
├── punk33.png
├── punk34.png
├── punk35.png
├── punk36.png
├── punk37.png
├── punk38.png
├── punk39.png
├── punk4.png
├── punk40.png
├── punk41.png
├── punk42.png
├── punk43.png
├── punk44.png
├── punk45.png
├── punk46.png
├── punk47.png
├── punk48.png
├── punk49.png
├── punk5.png
├── punk50.png
├── punk51.png
├── punk52.png
├── punk53.png
├── punk54.png
├── punk55.png
├── punk56.png
├── punk57.png
├── punk58.png
├── punk59.png
├── punk6.png
├── punk60.png
├── punk61.png
├── punk62.png
├── punk63.png
├── punk64.png
├── punk65.png
├── punk66.png
├── punk67.png
├── punk68.png
├── punk69.png
├── punk7.png
├── punk70.png
├── punk71.png
├── punk72.png
├── punk73.png
├── punk74.png
├── punk75.png
├── punk76.png
├── punk77.png
├── punk78.png
├── punk79.png
├── punk8.png
├── punk80.png
├── punk81.png
├── punk82.png
├── punk83.png
├── punk84.png
├── punk85.png
├── punk86.png
├── punk87.png
├── punk88.png
├── punk89.png
├── punk9.png
├── punk90.png
├── punk91.png
├── punk92.png
├── punk93.png
├── punk94.png
├── punk95.png
├── punk96.png
├── punk97.png
├── punk98.png
├── punk99.png
├── punks.png
├── punks@4x.png
├── shroom1.png
├── shroom10.png
├── shroom100.png
├── shroom101.png
├── shroom102.png
├── shroom103.png
├── shroom104.png
├── shroom105.png
├── shroom106.png
├── shroom107.png
├── shroom108.png
├── shroom109.png
├── shroom11.png
├── shroom110.png
├── shroom111.png
├── shroom112.png
├── shroom113.png
├── shroom114.png
├── shroom115.png
├── shroom116.png
├── shroom117.png
├── shroom118.png
├── shroom119.png
├── shroom12.png
├── shroom120.png
├── shroom121.png
├── shroom122.png
├── shroom123.png
├── shroom124.png
├── shroom125.png
├── shroom126.png
├── shroom127.png
├── shroom128.png
├── shroom129.png
├── shroom13.png
├── shroom130.png
├── shroom131.png
├── shroom132.png
├── shroom133.png
├── shroom134.png
├── shroom135.png
├── shroom136.png
├── shroom137.png
├── shroom138.png
├── shroom139.png
├── shroom14.png
├── shroom140.png
├── shroom141.png
├── shroom142.png
├── shroom143.png
├── shroom144.png
├── shroom145.png
├── shroom146.png
├── shroom147.png
├── shroom148.png
├── shroom149.png
├── shroom15.png
├── shroom150.png
├── shroom151.png
├── shroom152.png
├── shroom153.png
├── shroom154.png
├── shroom155.png
├── shroom156.png
├── shroom157.png
├── shroom158.png
├── shroom159.png
├── shroom16.png
├── shroom160.png
├── shroom161.png
├── shroom162.png
├── shroom163.png
├── shroom164.png
├── shroom165.png
├── shroom166.png
├── shroom167.png
├── shroom168.png
├── shroom169.png
├── shroom17.png
├── shroom170.png
├── shroom171.png
├── shroom172.png
├── shroom173.png
├── shroom174.png
├── shroom175.png
├── shroom176.png
├── shroom177.png
├── shroom178.png
├── shroom179.png
├── shroom18.png
├── shroom180.png
├── shroom181.png
├── shroom182.png
├── shroom183.png
├── shroom184.png
├── shroom185.png
├── shroom186.png
├── shroom187.png
├── shroom188.png
├── shroom189.png
├── shroom19.png
├── shroom190.png
├── shroom191.png
├── shroom192.png
├── shroom193.png
├── shroom194.png
├── shroom195.png
├── shroom196.png
├── shroom197.png
├── shroom198.png
├── shroom199.png
├── shroom2.png
├── shroom20.png
├── shroom200.png
├── shroom201.png
├── shroom202.png
├── shroom203.png
├── shroom204.png
├── shroom205.png
├── shroom206.png
├── shroom207.png
├── shroom208.png
├── shroom209.png
├── shroom21.png
├── shroom210.png
├── shroom22.png
├── shroom23.png
├── shroom24.png
├── shroom25.png
├── shroom26.png
├── shroom27.png
├── shroom28.png
├── shroom29.png
├── shroom3.png
├── shroom30.png
├── shroom31.png
├── shroom32.png
├── shroom33.png
├── shroom34.png
├── shroom35.png
├── shroom36.png
├── shroom37.png
├── shroom38.png
├── shroom39.png
├── shroom4.png
├── shroom40.png
├── shroom41.png
├── shroom42.png
├── shroom43.png
├── shroom44.png
├── shroom45.png
├── shroom46.png
├── shroom47.png
├── shroom48.png
├── shroom49.png
├── shroom5.png
├── shroom50.png
├── shroom51.png
├── shroom52.png
├── shroom53.png
├── shroom54.png
├── shroom55.png
├── shroom56.png
├── shroom57.png
├── shroom58.png
├── shroom59.png
├── shroom6.png
├── shroom60.png
├── shroom61.png
├── shroom62.png
├── shroom63.png
├── shroom64.png
├── shroom65.png
├── shroom66.png
├── shroom67.png
├── shroom68.png
├── shroom69.png
├── shroom7.png
├── shroom70.png
├── shroom71.png
├── shroom72.png
├── shroom73.png
├── shroom74.png
├── shroom75.png
├── shroom76.png
├── shroom77.png
├── shroom78.png
├── shroom79.png
├── shroom8.png
├── shroom80.png
├── shroom81.png
├── shroom82.png
├── shroom83.png
├── shroom84.png
├── shroom85.png
├── shroom86.png
├── shroom87.png
├── shroom88.png
├── shroom89.png
├── shroom9.png
├── shroom90.png
├── shroom91.png
├── shroom92.png
├── shroom93.png
├── shroom94.png
├── shroom95.png
├── shroom96.png
├── shroom97.png
├── shroom98.png
└── shroom99.png
├── ltc_sub1k.md
├── ltc_sub1k_build.rb
├── ltc_sub1k_export.rb
├── ltc_sub1k_pepelangelos.rb
├── ltc_sub1k_punks.rb
├── ltc_sub1k_query.rb
├── meta
├── diypunks_inscriptions.json
├── ordinalpunks.json
├── shrooms.csv
├── shrooms_inscriptions.csv
├── sub1k_inscriptions.csv
└── sub1k_inscriptions.ltc.csv
├── sandbox
├── prepare_btc_sub1k.rb
└── prepare_ltc_sub1k.rb
├── sub1k.md
├── sub1k.txt
├── sub1k_build.rb
├── sub1k_debug.rb
├── sub1k_export.rb
├── sub1k_games.rb
├── sub1k_more.rb
├── sub1k_query.rb
├── sub1k_shrooms.rb
├── sub1k_sql.rb
└── sub1k_text.rb
/.gitignore:
--------------------------------------------------------------------------------
1 | #############
2 | # ignore all tmp directories
3 |
4 | tmp/
5 | tmp2/
6 | tmp3/
7 | tmp4/
8 | tmp5/
9 |
10 |
11 | #############
12 | # ignore all (sqlite) dbs for now - why? why not?
13 | *.db
14 | *.db-shm
15 | *.db-wal
16 |
17 |
18 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | CC0 1.0 Universal
2 |
3 | Statement of Purpose
4 |
5 | The laws of most jurisdictions throughout the world automatically confer
6 | exclusive Copyright and Related Rights (defined below) upon the creator and
7 | subsequent owner(s) (each and all, an "owner") of an original work of
8 | authorship and/or a database (each, a "Work").
9 |
10 | Certain owners wish to permanently relinquish those rights to a Work for the
11 | purpose of contributing to a commons of creative, cultural and scientific
12 | works ("Commons") that the public can reliably and without fear of later
13 | claims of infringement build upon, modify, incorporate in other works, reuse
14 | and redistribute as freely as possible in any form whatsoever and for any
15 | purposes, including without limitation commercial purposes. These owners may
16 | contribute to the Commons to promote the ideal of a free culture and the
17 | further production of creative, cultural and scientific works, or to gain
18 | reputation or greater distribution for their Work in part through the use and
19 | efforts of others.
20 |
21 | For these and/or other purposes and motivations, and without any expectation
22 | of additional consideration or compensation, the person associating CC0 with a
23 | Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
24 | and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
25 | and publicly distribute the Work under its terms, with knowledge of his or her
26 | Copyright and Related Rights in the Work and the meaning and intended legal
27 | effect of CC0 on those rights.
28 |
29 | 1. Copyright and Related Rights. A Work made available under CC0 may be
30 | protected by copyright and related or neighboring rights ("Copyright and
31 | Related Rights"). Copyright and Related Rights include, but are not limited
32 | to, the following:
33 |
34 | i. the right to reproduce, adapt, distribute, perform, display, communicate,
35 | and translate a Work;
36 |
37 | ii. moral rights retained by the original author(s) and/or performer(s);
38 |
39 | iii. publicity and privacy rights pertaining to a person's image or likeness
40 | depicted in a Work;
41 |
42 | iv. rights protecting against unfair competition in regards to a Work,
43 | subject to the limitations in paragraph 4(a), below;
44 |
45 | v. rights protecting the extraction, dissemination, use and reuse of data in
46 | a Work;
47 |
48 | vi. database rights (such as those arising under Directive 96/9/EC of the
49 | European Parliament and of the Council of 11 March 1996 on the legal
50 | protection of databases, and under any national implementation thereof,
51 | including any amended or successor version of such directive); and
52 |
53 | vii. other similar, equivalent or corresponding rights throughout the world
54 | based on applicable law or treaty, and any national implementations thereof.
55 |
56 | 2. Waiver. To the greatest extent permitted by, but not in contravention of,
57 | applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
58 | unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
59 | and Related Rights and associated claims and causes of action, whether now
60 | known or unknown (including existing as well as future claims and causes of
61 | action), in the Work (i) in all territories worldwide, (ii) for the maximum
62 | duration provided by applicable law or treaty (including future time
63 | extensions), (iii) in any current or future medium and for any number of
64 | copies, and (iv) for any purpose whatsoever, including without limitation
65 | commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes
66 | the Waiver for the benefit of each member of the public at large and to the
67 | detriment of Affirmer's heirs and successors, fully intending that such Waiver
68 | shall not be subject to revocation, rescission, cancellation, termination, or
69 | any other legal or equitable action to disrupt the quiet enjoyment of the Work
70 | by the public as contemplated by Affirmer's express Statement of Purpose.
71 |
72 | 3. Public License Fallback. Should any part of the Waiver for any reason be
73 | judged legally invalid or ineffective under applicable law, then the Waiver
74 | shall be preserved to the maximum extent permitted taking into account
75 | Affirmer's express Statement of Purpose. In addition, to the extent the Waiver
76 | is so judged Affirmer hereby grants to each affected person a royalty-free,
77 | non transferable, non sublicensable, non exclusive, irrevocable and
78 | unconditional license to exercise Affirmer's Copyright and Related Rights in
79 | the Work (i) in all territories worldwide, (ii) for the maximum duration
80 | provided by applicable law or treaty (including future time extensions), (iii)
81 | in any current or future medium and for any number of copies, and (iv) for any
82 | purpose whatsoever, including without limitation commercial, advertising or
83 | promotional purposes (the "License"). The License shall be deemed effective as
84 | of the date CC0 was applied by Affirmer to the Work. Should any part of the
85 | License for any reason be judged legally invalid or ineffective under
86 | applicable law, such partial invalidity or ineffectiveness shall not
87 | invalidate the remainder of the License, and in such case Affirmer hereby
88 | affirms that he or she will not (i) exercise any of his or her remaining
89 | Copyright and Related Rights in the Work or (ii) assert any associated claims
90 | and causes of action with respect to the Work, in either case contrary to
91 | Affirmer's express Statement of Purpose.
92 |
93 | 4. Limitations and Disclaimers.
94 |
95 | a. No trademark or patent rights held by Affirmer are waived, abandoned,
96 | surrendered, licensed or otherwise affected by this document.
97 |
98 | b. Affirmer offers the Work as-is and makes no representations or warranties
99 | of any kind concerning the Work, express, implied, statutory or otherwise,
100 | including without limitation warranties of title, merchantability, fitness
101 | for a particular purpose, non infringement, or the absence of latent or
102 | other defects, accuracy, or the present or absence of errors, whether or not
103 | discoverable, all to the greatest extent permissible under applicable law.
104 |
105 | c. Affirmer disclaims responsibility for clearing rights of other persons
106 | that may apply to the Work or any use thereof, including without limitation
107 | any person's Copyright and Related Rights in the Work. Further, Affirmer
108 | disclaims responsibility for obtaining any necessary consents, permissions
109 | or other rights required for any use of the Work.
110 |
111 | d. Affirmer understands and acknowledges that Creative Commons is not a
112 | party to this document and has no duty or obligation with respect to this
113 | CC0 or use of the Work.
114 |
115 | For more information, please see
116 |
117 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Programming (Bitcoin) Ordinals - Step-by-Step Book / Guide
2 |
3 | by [Gerald Bauer](https://github.com/geraldb), et al
4 |
5 |
6 |
7 | - [Sub 1k - Inside The First Thousand Ordinal Inscriptions](sub1k.md)
8 | - [Collections, Collections, Collections - Inside Ordinal Punks, Bitcoin Shrooms, D.I.Y. Punks & More](collections.md)
9 |
10 |
11 |
12 | To be continued...
13 |
14 |
15 |
16 | ## Bonus - Programming (Litecoin) Ordinals
17 |
18 | - [Sub 1k - Inside The First Thousand Ordinal (Litecoin) Inscriptions](ltc_sub1k.md)
19 |
20 |
21 | ## Questions? Comments?
22 |
23 | Join us in the [Ordgen / ORC-721 discord (chat server)](https://discord.gg/dDhvHKjm2t). Yes you can.
24 | Your questions and commetary welcome.
25 |
26 |
27 | Or post them over at the [Help & Support](https://github.com/geraldb/help) page. Thanks.
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/col_build.rb:
--------------------------------------------------------------------------------
1 | #####
2 | # build ord.db (sqlite database with sample collection inscriptions)
3 |
4 | $LOAD_PATH.unshift( "../ordinals/lib" )
5 | $LOAD_PATH.unshift( "../ordlite/lib" )
6 |
7 |
8 | require 'ordlite'
9 |
10 |
11 |
12 | OrdDb.open( './ord.db' )
13 |
14 |
15 | puts
16 | puts " #{Inscribe.count} inscribe(s)"
17 | puts " #{Blob.count} blob(s)"
18 | puts " #{Collection.count} collection(s)"
19 | #=> 0 inscribe(s)
20 | #=> 0 blob(s)
21 | #=> 0 collection(s)
22 |
23 |
24 | # sample 1
25 | OrdDb.import_collection( "./meta/ordinalpunks.json" )
26 |
27 | # sample 2
28 | OrdDb.import_collection_csv( "./meta/shrooms_inscriptions.csv",
29 | name: 'Bitcoin Shrooms' )
30 |
31 | # sample 3
32 | OrdDb.import_collection_inscriptions( "./meta/diypunks_inscriptions.json",
33 | name: 'D.I.Y. Punks' )
34 |
35 |
36 | puts
37 | puts " #{Inscribe.count} inscribe(s)"
38 | puts " #{Blob.count} blob(s)"
39 | puts " #{Collection.count} collection(s)"
40 |
41 |
42 | puts "bye"
--------------------------------------------------------------------------------
/col_query.rb:
--------------------------------------------------------------------------------
1 | #####
2 | # query ordsub1k.db (sqlite database with first thousand ordinal inscriptions)
3 |
4 | $LOAD_PATH.unshift( "../ordlite/lib" )
5 | require 'ordlite'
6 |
7 |
8 |
9 |
10 | OrdDb.open( './ord.db' )
11 |
12 | puts
13 | puts " #{Inscribe.count} inscribe(s)"
14 | puts " #{Blob.count} blob(s)"
15 | puts " #{Collection.count} collection(s)"
16 |
17 |
18 | #######################
19 | # sample 1
20 | col = Collection.find_by( name: 'Ordinal Punks' )
21 |
22 | inscribes = col.inscribes
23 | puts " #{inscribes.size} inscribe(s)"
24 | #=> 100 inscribe(s)
25 |
26 | inscribes.counts_by_content_type
27 |
28 | max = inscribes.maximum( 'num' )
29 | min = inscribes.minimum( 'num' )
30 |
31 | puts " range no. #{min} to no. #{max}"
32 | #=> range no. 407 to no. 642
33 |
34 | pp inscribes.counts_by_day
35 | pp inscribes.counts_by_hour
36 |
37 | pp inscribes.counts_by_block
38 | pp inscribes.counts_by_block_with_timestamp
39 |
40 |
41 | #############################
42 | # sample 2
43 |
44 | col = Collection.find_by( name: 'Bitcoin Shrooms' )
45 |
46 | inscribes = col.inscribes
47 | puts " #{inscribes.size} inscribe(s)"
48 | #=> 210 inscribe(s)
49 |
50 | pp inscribes.counts_by_content_type
51 |
52 | max = inscribes.maximum( 'num' )
53 | min = inscribes.minimum( 'num' )
54 |
55 | puts " range no. #{min} to no. #{max}"
56 | #=> range no. 675 to no. 1075
57 |
58 | pp inscribes.counts_by_day
59 | pp inscribes.counts_by_hour
60 |
61 | pp inscribes.counts_by_block
62 | pp inscribes.counts_by_block_with_timestamp
63 |
64 |
65 | ##############################
66 | # sample 3
67 |
68 | col = Collection.find_by( name: 'D.I.Y. Punks' )
69 |
70 | inscribes = col.inscribes
71 | puts " #{inscribes.size} inscribe(s)"
72 | #=> 721 inscribe(s)
73 |
74 | pp inscribes.counts_by_content_type
75 |
76 |
77 | max = inscribes.maximum( 'num' )
78 | min = inscribes.minimum( 'num' )
79 |
80 | puts " range no. #{min} to no. #{max}"
81 | #=> range no. 9959200 to no. 10286852
82 |
83 | pp inscribes.counts_by_day
84 | pp inscribes.counts_by_hour
85 |
86 | pp inscribes.counts_by_block
87 | pp inscribes.counts_by_block_with_timestamp
88 |
89 |
90 | puts "bye"
--------------------------------------------------------------------------------
/collections.md:
--------------------------------------------------------------------------------
1 |
2 | [« Programming (Bitcoin) Ordinals - Step-by-Step Book / Guide](./)
3 |
4 |
5 | # Collections, Collections, Collections - Inside Ordinal Punks, Bitcoin Shrooms, D.I.Y. Punks & More
6 |
7 |
8 | Let's explore ordinal inscriptions
9 | from a different angle. Let's try classic (or yes, generative) collections.
10 |
11 |
12 | ## Collection №1 - 100 Ordinal Punks
13 |
14 |
15 | New to Ordinal Punks? For some background see [**Awesome 100 Ordinal Punks (Anno 2023) Notes - 24×24 Pixel Art on the (Bitcoin) Blockchain »**](https://github.com/ordinalpunks/awesome-ordinalpunks)
16 |
17 |
18 | Let's start from zero / scratch with a new database (e.g. `ord.db`)
19 | and let's import all inscriptions. How?
20 |
21 | Yes, ordinal punks has an official meta datafile (in .json)
22 | inscribed at [№592145](https://ordinals.com/inscription/a64027dabba3c5acf83068028edf4e938464ff3c6b279f0415f5c6573cf03207i0).
23 |
24 |
25 | Let's use a "right-click and save as"
26 | local copy (e.g. [ordinalpunks.json](meta/ordinalpunks.json))
27 | to import all inscriptions - metadata and content blobs -
28 | and bonus all collection metadata (e.g. description, max (limit/supply), item names, etc.).
29 |
30 | ```ruby
31 | require 'ordlite'
32 |
33 |
34 | OrdDb.open( './ord.db' )
35 |
36 |
37 | puts
38 | puts " #{Inscribe.count} inscribe(s)"
39 | puts " #{Blob.count} blob(s)"
40 | puts " #{Collection.count} collection(s)"
41 | #=> 0 inscribe(s)
42 | #=> 0 blob(s)
43 | #=> 0 collection(s)
44 |
45 | OrdDb.import_collection( "./meta/ordinalpunks.json" )
46 |
47 | puts
48 | puts " #{Inscribe.count} inscribe(s)"
49 | puts " #{Blob.count} blob(s)"
50 | puts " #{Collection.count} collection(s)"
51 | #=> 100 inscribe(s)
52 | #=> 100 blob(s)
53 | #=> 1 collection(s)
54 | ```
55 |
56 | Yes, that's it.
57 | Thanks to `import_collection` you only need to stand back ten meters
58 | and wait for some minutes to get your database updated.
59 |
60 |
61 | Now what?
62 | Let's try some count stat(istics) queries.
63 |
64 | ``` ruby
65 | col = Collection.find_by( name: 'Ordinal Punks' )
66 |
67 | inscribes = col.inscribes
68 | puts " #{inscribes.size} inscribe(s)"
69 | #=> 100 inscribe(s)
70 | ```
71 |
72 | Let's query for content types (of inscriptions):
73 |
74 | ``` ruby
75 | pp inscribes.counts_by_content_type
76 | ```
77 |
78 | resulting in:
79 |
80 | ```
81 | {"image/png" => 100}
82 | ```
83 |
84 | Let's query for min and max inscription numbers / no.:
85 |
86 | ``` ruby
87 | max = inscribes.maximum( 'num' )
88 | min = inscribes.minimum( 'num' )
89 |
90 | puts " range no. #{min} to no. #{max}"
91 | #=> range no. 407 to no. 642
92 | ```
93 |
94 | Let's query for inscriptions counts grouped by date / day:
95 |
96 | ``` ruby
97 | pp inscribes.counts_by_day
98 | ```
99 |
100 | resulting in:
101 |
102 | ```
103 | {"2023-01-31" => 27,
104 | "2023-02-01" => 73}
105 | ```
106 |
107 | or by hour:
108 |
109 | ``` ruby
110 | pp inscribes.counts_by_hour
111 | ```
112 |
113 | resulting in:
114 |
115 | ```
116 | {"2023-01-31 19h"=>1,
117 | "2023-01-31 20h"=>2,
118 | "2023-01-31 21h"=>12,
119 | "2023-01-31 22h"=>1,
120 | "2023-01-31 23h"=>11,
121 | "2023-02-01 01h"=>3,
122 | "2023-02-01 02h"=>7,
123 | "2023-02-01 03h"=>7,
124 | "2023-02-01 04h"=>5,
125 | "2023-02-01 05h"=>4,
126 | "2023-02-01 10h"=>1,
127 | "2023-02-01 14h"=>1,
128 | "2023-02-01 15h"=>5,
129 | "2023-02-01 16h"=>12,
130 | "2023-02-01 17h"=>13,
131 | "2023-02-01 18h"=>10,
132 | "2023-02-01 19h"=>5}
133 | ```
134 |
135 | or by block (height) with or without timestamp:
136 |
137 | ``` ruby
138 | pp inscribes.counts_by_block
139 | pp inscribes.counts_by_block_with_timestamp
140 | ```
141 |
142 | resulting in:
143 |
144 | ```
145 | {774489=>1,
146 | 774494=>1,
147 | 774496=>1,
148 | 774497=>6,
149 | 774500=>3,
150 | 774502=>3,
151 | 774503=>1,
152 | 774506=>5,
153 | 774507=>1,
154 | 774509=>5,
155 | 774515=>1,
156 | 774518=>1,
157 | 774519=>1,
158 | 774521=>1,
159 | 774523=>1,
160 | 774524=>5,
161 | 774527=>2,
162 | 774531=>5,
163 | 774534=>1,
164 | 774536=>2,
165 | 774537=>2,
166 | 774541=>4,
167 | 774567=>1,
168 | 774587=>1,
169 | 774595=>5,
170 | 774598=>5,
171 | 774599=>4,
172 | 774600=>3,
173 | 774604=>2,
174 | 774605=>3,
175 | 774606=>4,
176 | 774607=>4,
177 | 774609=>3,
178 | 774611=>3,
179 | 774612=>3,
180 | 774614=>1,
181 | 774615=>2,
182 | 774617=>2,
183 | 774619=>1}
184 |
185 | {"774489 @ 2023-01-31 19:34:47"=>1,
186 | "774494 @ 2023-01-31 20:23:09"=>1,
187 | "774496 @ 2023-01-31 20:42:21"=>1,
188 | "774497 @ 2023-01-31 21:08:45"=>6,
189 | "774500 @ 2023-01-31 21:33:58"=>3,
190 | "774502 @ 2023-01-31 21:58:16"=>3,
191 | "774503 @ 2023-01-31 22:24:06"=>1,
192 | "774506 @ 2023-01-31 23:04:21"=>5,
193 | "774507 @ 2023-01-31 23:24:36"=>1,
194 | "774509 @ 2023-01-31 23:40:19"=>5,
195 | "774515 @ 2023-02-01 01:15:25"=>1,
196 | "774518 @ 2023-02-01 01:36:30"=>1,
197 | "774519 @ 2023-02-01 01:42:29"=>1,
198 | "774521 @ 2023-02-01 02:01:50"=>1,
199 | "774523 @ 2023-02-01 02:17:58"=>1,
200 | "774524 @ 2023-02-01 02:49:29"=>5,
201 | "774527 @ 2023-02-01 03:30:11"=>2,
202 | "774531 @ 2023-02-01 03:55:44"=>5,
203 | "774534 @ 2023-02-01 04:09:38"=>1,
204 | "774536 @ 2023-02-01 04:29:27"=>2,
205 | "774537 @ 2023-02-01 04:46:11"=>2,
206 | "774541 @ 2023-02-01 05:16:44"=>4,
207 | "774567 @ 2023-02-01 10:17:24"=>1,
208 | "774587 @ 2023-02-01 14:41:52"=>1,
209 | "774595 @ 2023-02-01 15:54:57"=>5,
210 | "774598 @ 2023-02-01 16:24:14"=>5,
211 | "774599 @ 2023-02-01 16:32:16"=>4,
212 | "774600 @ 2023-02-01 16:42:58"=>3,
213 | "774604 @ 2023-02-01 17:12:08"=>2,
214 | "774605 @ 2023-02-01 17:35:29"=>3,
215 | "774606 @ 2023-02-01 17:40:32"=>4,
216 | "774607 @ 2023-02-01 17:59:12"=>4,
217 | "774609 @ 2023-02-01 18:13:13"=>3,
218 | "774611 @ 2023-02-01 18:20:16"=>3,
219 | "774612 @ 2023-02-01 18:33:59"=>3,
220 | "774614 @ 2023-02-01 18:46:46"=>1,
221 | "774615 @ 2023-02-01 19:13:31"=>2,
222 | "774617 @ 2023-02-01 19:20:24"=>2,
223 | "774619 @ 2023-02-01 19:27:27"=>1}
224 | ```
225 |
226 | and so on.
227 |
228 |
229 | ## Collection №2 - 210 Bitcoin Shrooms
230 |
231 | Let's try the Shrooms. Shrooms what!?
232 |
233 | Ordinals trivia. The Shrooms with 208 out of 210 inscriptions¹ (plus one bonus collection metadata inscription, see [№105](https://ordinals.com/inscription/4e0ad05cbbe3cfdbedec9edb37683a8284bc60ec4ced62272703f182d67e5d70i0))
234 | is the biggest sub 1k collection.
235 |
236 | Note 1: Shroom №186 @ [Inscription №1075](https://ordinals.com/inscription/4af5d25017a5c71d1333925ea29b79a18d36548597fc4f03e6a23f2d740547c7i0) and
237 | Shroom №196 @ [Inscription №1074](https://ordinals.com/inscription/2807ac74213d2e9e4b86b7fc121edf7a94c66bc11a8142f851e5d7162d357333i0).
238 |
239 |
240 | Let's use a "hand-crafted" tabular dataset (in .csv)
241 | e.g. [shrooms_inscriptions.csv](meta/shrooms_inscriptions.csv)
242 | to import all inscriptions - metadata and content blobs -
243 | and bonus add a collection.
244 |
245 | ```ruby
246 | OrdDb.import_collection_csv( "./meta/shrooms_inscriptions.csv",
247 | name: 'Bitcoin Shrooms' )
248 | ```
249 |
250 | Yes, that's it.
251 | Thanks to `import_collection_csv` you only need to stand back ten meters
252 | and wait for some minutes to get your database updated.
253 |
254 | Now what?
255 | Let's try again some count stat(istics) queries.
256 |
257 |
258 | ``` ruby
259 | col = Collection.find_by( name: 'Bitcoin Shrooms' )
260 |
261 | inscribes = col.inscribes
262 | puts " #{inscribes.size} inscribe(s)"
263 | #=> 210 inscribe(s)
264 | ```
265 |
266 | Let's query for content types (of inscriptions):
267 |
268 | ``` ruby
269 | pp inscribes.counts_by_content_type
270 | ```
271 |
272 | resulting in:
273 |
274 | ```
275 | {"image/png" => 210}
276 | ```
277 |
278 | Let's query for min and max inscription numbers / no.:
279 |
280 | ``` ruby
281 | max = inscribes.maximum( 'num' )
282 | min = inscribes.minimum( 'num' )
283 |
284 | puts " range no. #{min} to no. #{max}"
285 | #=> range no. 675 to no. 1075
286 | ```
287 |
288 | Let's query for inscriptions counts grouped by date / day:
289 |
290 | ``` ruby
291 | pp inscribes.counts_by_day
292 | ```
293 |
294 | resulting in:
295 |
296 | ```
297 | {"2023-02-02" => 210}
298 | ```
299 |
300 | or by hour:
301 |
302 | ``` ruby
303 | pp inscribes.counts_by_hour
304 | ```
305 |
306 | resulting in:
307 |
308 | ```
309 | {"2023-02-02 00h" => 43,
310 | "2023-02-02 01h" => 124,
311 | "2023-02-02 02h" => 41,
312 | "2023-02-02 19h" => 2}
313 | ```
314 |
315 | or by block (height) with or without timestamp:
316 |
317 | ``` ruby
318 | pp inscribes.counts_by_block
319 | pp inscribes.counts_by_block_with_timestamp
320 | ```
321 |
322 | resulting in:
323 |
324 | ```
325 | {774656=>43,
326 | 774657=>57,
327 | 774658=>38,
328 | 774659=>6,
329 | 774661=>2,
330 | 774662=>1,
331 | 774663=>5,
332 | 774664=>15,
333 | 774666=>5,
334 | 774670=>10,
335 | 774671=>15,
336 | 774672=>11,
337 | 774761=>1,
338 | 774762=>1}
339 |
340 | {"774656 @ 2023-02-02 00:44:05"=>43,
341 | "774657 @ 2023-02-02 01:00:47"=>57,
342 | "774658 @ 2023-02-02 01:03:02"=>38,
343 | "774659 @ 2023-02-02 01:08:00"=>6,
344 | "774661 @ 2023-02-02 01:17:54"=>2,
345 | "774662 @ 2023-02-02 01:27:47"=>1,
346 | "774663 @ 2023-02-02 01:30:40"=>5,
347 | "774664 @ 2023-02-02 01:44:23"=>15,
348 | "774666 @ 2023-02-02 02:06:44"=>5,
349 | "774670 @ 2023-02-02 02:31:41"=>10,
350 | "774671 @ 2023-02-02 02:34:37"=>15,
351 | "774672 @ 2023-02-02 02:49:42"=>11,
352 | "774761 @ 2023-02-02 19:01:04"=>1,
353 | "774762 @ 2023-02-02 19:06:48"=>1}
354 | ```
355 |
356 | and so on.
357 |
358 |
359 |
360 | ## Collection №3 - 721 D.I.Y. Punks
361 |
362 | Let's try D.I.Y. Punks - (On-Chain) Generatives!
363 |
364 | New to Geratives! Your Numbers! Your Image!?
365 | For some background see [**Ordgen / ORC-721 »**](https://github.com/ordbase/generative-orc-721)
366 |
367 |
368 | Let's use an auto-generated (market) dataset (in .json)
369 | e.g. [diypunks_inscriptions.json](meta/diypunks_inscriptions.json)
370 | to import all inscriptions - metadata and content blobs -
371 | and bonus add a collection.
372 |
373 | ```ruby
374 | OrdDb.import_collection_inscriptions( "./meta/diypunks_inscriptions.json",
375 | name: 'D.I.Y. Punks' )
376 | ```
377 |
378 | Yes, that's it.
379 | Thanks to `import_collection_inscriptions` you only need to stand back ten meters
380 | and wait for some minutes to get your database updated.
381 |
382 | Now what?
383 | Let's try again some count stat(istics) queries.
384 |
385 |
386 | ``` ruby
387 | col = Collection.find_by( name: 'D.I.Y. Punks' )
388 |
389 | inscribes = col.inscribes
390 | puts " #{inscribes.size} inscribe(s)"
391 | #=> 721 inscribe(s)
392 | ```
393 |
394 | Let's query for content types (of inscriptions):
395 |
396 | ``` ruby
397 | pp inscribes.counts_by_content_type
398 | ```
399 |
400 | resulting in:
401 |
402 | ```
403 | {"text/plain;charset=utf-8"=>717,
404 | "application/json"=>4}
405 | ```
406 |
407 | Yes, that's text (in .json). Generatives store the dna (numbers)
408 | NOT the image!
409 |
410 |
411 | Let's query for min and max inscription numbers / no.:
412 |
413 | ``` ruby
414 | max = inscribes.maximum( 'num' )
415 | min = inscribes.minimum( 'num' )
416 |
417 | puts " range no. #{min} to no. #{max}"
418 | #=> range no. 9959200 to no. 10286852
419 | ```
420 |
421 | Let's query for inscriptions counts grouped by date / day:
422 |
423 | ``` ruby
424 | pp inscribes.counts_by_day
425 | ```
426 |
427 | resulting in:
428 |
429 | ```
430 | {"2023-05-29" => 240,
431 | "2023-05-30" => 298,
432 | "2023-05-31" => 183}
433 | ```
434 |
435 | or by hour:
436 |
437 | ``` ruby
438 | pp inscribes.counts_by_hour
439 | ```
440 |
441 | resulting in:
442 |
443 | ```
444 | {"2023-05-29 17h"=>1,
445 | "2023-05-29 18h"=>1,
446 | "2023-05-29 19h"=>37,
447 | "2023-05-29 20h"=>15,
448 | "2023-05-29 21h"=>123,
449 | "2023-05-29 22h"=>8,
450 | "2023-05-29 23h"=>55,
451 | "2023-05-30 00h"=>28,
452 | "2023-05-30 01h"=>32,
453 | "2023-05-30 02h"=>23,
454 | "2023-05-30 03h"=>56,
455 | "2023-05-30 04h"=>27,
456 | "2023-05-30 05h"=>19,
457 | "2023-05-30 06h"=>58,
458 | "2023-05-30 07h"=>1,
459 | "2023-05-30 09h"=>15,
460 | "2023-05-30 10h"=>1,
461 | "2023-05-30 11h"=>2,
462 | "2023-05-30 12h"=>10,
463 | "2023-05-30 13h"=>11,
464 | "2023-05-30 21h"=>2,
465 | "2023-05-30 22h"=>1,
466 | "2023-05-30 23h"=>12,
467 | "2023-05-31 00h"=>11,
468 | "2023-05-31 01h"=>7,
469 | "2023-05-31 02h"=>12,
470 | "2023-05-31 04h"=>2,
471 | "2023-05-31 06h"=>6,
472 | "2023-05-31 07h"=>5,
473 | "2023-05-31 08h"=>68,
474 | "2023-05-31 09h"=>70,
475 | "2023-05-31 10h"=>2}
476 | ```
477 |
478 | or by block (height) with or without timestamp:
479 |
480 | ``` ruby
481 | pp inscribes.counts_by_block
482 | pp inscribes.counts_by_block_with_timestamp
483 | ```
484 |
485 | resulting in:
486 |
487 | ```
488 | {"791978 @ 2023-05-29 17:53:55"=>1,
489 | "791982 @ 2023-05-29 18:09:37"=>1,
490 | "791989 @ 2023-05-29 19:06:49"=>21,
491 | "791991 @ 2023-05-29 19:13:17"=>5,
492 | "791996 @ 2023-05-29 19:37:16"=>9,
493 | "791997 @ 2023-05-29 19:41:28"=>2,
494 | "791998 @ 2023-05-29 20:01:16"=>11,
495 | "791999 @ 2023-05-29 20:00:56"=>3,
496 | "792001 @ 2023-05-29 20:03:58"=>1,
497 | "792002 @ 2023-05-29 21:01:56"=>33,
498 | "792003 @ 2023-05-29 21:06:34"=>32,
499 | "792004 @ 2023-05-29 21:19:45"=>14,
500 | "792005 @ 2023-05-29 21:23:31"=>7,
501 | "792006 @ 2023-05-29 21:24:12"=>2,
502 | "792007 @ 2023-05-29 21:29:17"=>24,
503 | "792008 @ 2023-05-29 21:31:38"=>11,
504 | "792009 @ 2023-05-29 22:04:04"=>4,
505 | "792011 @ 2023-05-29 22:57:50"=>2,
506 | "792012 @ 2023-05-29 22:59:48"=>2,
507 | "792013 @ 2023-05-29 23:03:25"=>1,
508 | "792014 @ 2023-05-29 23:13:47"=>10,
509 | "792015 @ 2023-05-29 23:15:37"=>10,
510 | "792017 @ 2023-05-29 23:37:03"=>4,
511 | "792018 @ 2023-05-29 23:47:59"=>6,
512 | "792019 @ 2023-05-29 23:49:13"=>14,
513 | "792020 @ 2023-05-29 23:51:31"=>5,
514 | "792021 @ 2023-05-29 23:59:41"=>5,
515 | "792022 @ 2023-05-30 00:06:07"=>22,
516 | "792023 @ 2023-05-30 00:09:00"=>5,
517 | "792024 @ 2023-05-30 00:14:05"=>1,
518 | "792028 @ 2023-05-30 01:13:42"=>5,
519 | "792029 @ 2023-05-30 01:33:08"=>4,
520 | "792030 @ 2023-05-30 01:41:52"=>3,
521 | "792031 @ 2023-05-30 01:44:56"=>15,
522 | "792033 @ 2023-05-30 01:50:40"=>3,
523 | "792034 @ 2023-05-30 01:53:05"=>2,
524 | "792035 @ 2023-05-30 02:08:43"=>13,
525 | "792036 @ 2023-05-30 02:31:09"=>7,
526 | "792037 @ 2023-05-30 02:33:57"=>3,
527 | "792038 @ 2023-05-30 03:03:05"=>2,
528 | "792040 @ 2023-05-30 03:14:15"=>50,
529 | "792042 @ 2023-05-30 03:28:43"=>1,
530 | "792043 @ 2023-05-30 03:32:32"=>2,
531 | "792044 @ 2023-05-30 03:33:39"=>1,
532 | "792045 @ 2023-05-30 04:09:54"=>1,
533 | "792046 @ 2023-05-30 04:19:58"=>3,
534 | "792047 @ 2023-05-30 04:24:48"=>4,
535 | "792048 @ 2023-05-30 04:49:37"=>18,
536 | "792050 @ 2023-05-30 04:55:19"=>1,
537 | "792053 @ 2023-05-30 05:08:02"=>9,
538 | "792054 @ 2023-05-30 05:10:15"=>1,
539 | "792055 @ 2023-05-30 05:12:53"=>1,
540 | "792056 @ 2023-05-30 05:22:31"=>1,
541 | "792057 @ 2023-05-30 05:35:45"=>3,
542 | "792058 @ 2023-05-30 05:46:13"=>1,
543 | "792060 @ 2023-05-30 05:56:20"=>3,
544 | "792061 @ 2023-05-30 06:03:33"=>24,
545 | "792062 @ 2023-05-30 06:09:24"=>17,
546 | "792063 @ 2023-05-30 06:16:14"=>3,
547 | "792068 @ 2023-05-30 06:36:49"=>7,
548 | "792070 @ 2023-05-30 06:46:38"=>7,
549 | "792071 @ 2023-05-30 07:05:32"=>1,
550 | "792082 @ 2023-05-30 09:04:26"=>1,
551 | "792083 @ 2023-05-30 09:20:18"=>5,
552 | "792084 @ 2023-05-30 09:25:47"=>9,
553 | "792092 @ 2023-05-30 10:59:55"=>1,
554 | "792098 @ 2023-05-30 11:34:49"=>2,
555 | "792100 @ 2023-05-30 12:08:43"=>10,
556 | "792109 @ 2023-05-30 13:35:52"=>11,
557 | "792152 @ 2023-05-30 21:43:51"=>1,
558 | "792155 @ 2023-05-30 21:54:01"=>1,
559 | "792165 @ 2023-05-30 22:49:29"=>1,
560 | "792169 @ 2023-05-30 23:22:51"=>5,
561 | "792173 @ 2023-05-30 23:34:51"=>6,
562 | "792174 @ 2023-05-30 23:46:09"=>1,
563 | "792176 @ 2023-05-31 00:23:18"=>1,
564 | "792177 @ 2023-05-31 00:24:57"=>3,
565 | "792178 @ 2023-05-31 00:38:04"=>2,
566 | "792179 @ 2023-05-31 00:45:07"=>5,
567 | "792181 @ 2023-05-31 01:14:07"=>4,
568 | "792183 @ 2023-05-31 01:48:20"=>2,
569 | "792184 @ 2023-05-31 01:51:47"=>1,
570 | "792185 @ 2023-05-31 02:10:47"=>2,
571 | "792186 @ 2023-05-31 02:29:40"=>1,
572 | "792187 @ 2023-05-31 02:41:41"=>9,
573 | "792198 @ 2023-05-31 04:36:55"=>1,
574 | "792199 @ 2023-05-31 04:37:14"=>1,
575 | "792202 @ 2023-05-31 06:04:30"=>6,
576 | "792211 @ 2023-05-31 07:08:35"=>5,
577 | "792218 @ 2023-05-31 08:13:40"=>1,
578 | "792222 @ 2023-05-31 08:27:58"=>17,
579 | "792223 @ 2023-05-31 08:30:11"=>12,
580 | "792224 @ 2023-05-31 08:45:34"=>35,
581 | "792225 @ 2023-05-31 08:46:10"=>2,
582 | "792226 @ 2023-05-31 08:47:34"=>1,
583 | "792227 @ 2023-05-31 09:03:15"=>41,
584 | "792228 @ 2023-05-31 09:07:04"=>24,
585 | "792229 @ 2023-05-31 09:18:12"=>5,
586 | "792233 @ 2023-05-31 10:06:40"=>2}
587 | ```
588 |
589 | and so on.
590 |
591 |
592 |
593 | ## Questions? Comments?
594 |
595 | Join us in the [Ordgen / ORC-721 discord (chat server)](https://discord.gg/dDhvHKjm2t). Yes you can.
596 | Your questions and commetary welcome.
597 |
598 |
599 | Or post them over at the [Help & Support](https://github.com/geraldb/help) page. Thanks.
600 |
601 |
--------------------------------------------------------------------------------
/docs/bitcoin.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/docs/bitcoin.pdf
--------------------------------------------------------------------------------
/docs/mimblewimble.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/docs/mimblewimble.pdf
--------------------------------------------------------------------------------
/docs/snake.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Basic Snake HTML Game
5 |
6 |
22 |
23 |
24 |
25 |
170 |
171 |
--------------------------------------------------------------------------------
/docs/tetris.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Basic Tetris HTML Game
5 |
6 |
23 |
24 |
25 |
26 |
318 |
319 |
--------------------------------------------------------------------------------
/i/export-preview-ltc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/export-preview-ltc.png
--------------------------------------------------------------------------------
/i/export-preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/export-preview.png
--------------------------------------------------------------------------------
/i/pepelangelo1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo1.jpg
--------------------------------------------------------------------------------
/i/pepelangelo10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo10.jpg
--------------------------------------------------------------------------------
/i/pepelangelo11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo11.jpg
--------------------------------------------------------------------------------
/i/pepelangelo12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo12.jpg
--------------------------------------------------------------------------------
/i/pepelangelo13.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo13.jpg
--------------------------------------------------------------------------------
/i/pepelangelo14.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo14.jpg
--------------------------------------------------------------------------------
/i/pepelangelo15.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo15.jpg
--------------------------------------------------------------------------------
/i/pepelangelo16.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo16.jpg
--------------------------------------------------------------------------------
/i/pepelangelo17.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo17.jpg
--------------------------------------------------------------------------------
/i/pepelangelo18.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo18.jpg
--------------------------------------------------------------------------------
/i/pepelangelo19.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo19.jpg
--------------------------------------------------------------------------------
/i/pepelangelo2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo2.jpg
--------------------------------------------------------------------------------
/i/pepelangelo20.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo20.jpg
--------------------------------------------------------------------------------
/i/pepelangelo21.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo21.jpg
--------------------------------------------------------------------------------
/i/pepelangelo22.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo22.jpg
--------------------------------------------------------------------------------
/i/pepelangelo23.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo23.jpg
--------------------------------------------------------------------------------
/i/pepelangelo24.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo24.jpg
--------------------------------------------------------------------------------
/i/pepelangelo25.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo25.jpg
--------------------------------------------------------------------------------
/i/pepelangelo26.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo26.jpg
--------------------------------------------------------------------------------
/i/pepelangelo27.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo27.jpg
--------------------------------------------------------------------------------
/i/pepelangelo28.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo28.jpg
--------------------------------------------------------------------------------
/i/pepelangelo29.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo29.jpg
--------------------------------------------------------------------------------
/i/pepelangelo3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo3.jpg
--------------------------------------------------------------------------------
/i/pepelangelo30.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo30.jpg
--------------------------------------------------------------------------------
/i/pepelangelo31.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo31.jpg
--------------------------------------------------------------------------------
/i/pepelangelo32.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo32.jpg
--------------------------------------------------------------------------------
/i/pepelangelo33.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo33.jpg
--------------------------------------------------------------------------------
/i/pepelangelo34.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo34.jpg
--------------------------------------------------------------------------------
/i/pepelangelo35.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo35.jpg
--------------------------------------------------------------------------------
/i/pepelangelo36.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo36.jpg
--------------------------------------------------------------------------------
/i/pepelangelo37.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo37.jpg
--------------------------------------------------------------------------------
/i/pepelangelo38.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo38.jpg
--------------------------------------------------------------------------------
/i/pepelangelo39.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo39.jpg
--------------------------------------------------------------------------------
/i/pepelangelo4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo4.jpg
--------------------------------------------------------------------------------
/i/pepelangelo40.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo40.jpg
--------------------------------------------------------------------------------
/i/pepelangelo41.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo41.jpg
--------------------------------------------------------------------------------
/i/pepelangelo42.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo42.jpg
--------------------------------------------------------------------------------
/i/pepelangelo43.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo43.jpg
--------------------------------------------------------------------------------
/i/pepelangelo44.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo44.jpg
--------------------------------------------------------------------------------
/i/pepelangelo5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo5.jpg
--------------------------------------------------------------------------------
/i/pepelangelo6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo6.jpg
--------------------------------------------------------------------------------
/i/pepelangelo7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo7.jpg
--------------------------------------------------------------------------------
/i/pepelangelo8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo8.jpg
--------------------------------------------------------------------------------
/i/pepelangelo9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/pepelangelo9.jpg
--------------------------------------------------------------------------------
/i/punk1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk1.png
--------------------------------------------------------------------------------
/i/punk10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk10.png
--------------------------------------------------------------------------------
/i/punk100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk100.png
--------------------------------------------------------------------------------
/i/punk11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk11.png
--------------------------------------------------------------------------------
/i/punk12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk12.png
--------------------------------------------------------------------------------
/i/punk13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk13.png
--------------------------------------------------------------------------------
/i/punk14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk14.png
--------------------------------------------------------------------------------
/i/punk15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk15.png
--------------------------------------------------------------------------------
/i/punk16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk16.png
--------------------------------------------------------------------------------
/i/punk17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk17.png
--------------------------------------------------------------------------------
/i/punk18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk18.png
--------------------------------------------------------------------------------
/i/punk19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk19.png
--------------------------------------------------------------------------------
/i/punk2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk2.png
--------------------------------------------------------------------------------
/i/punk20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk20.png
--------------------------------------------------------------------------------
/i/punk21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk21.png
--------------------------------------------------------------------------------
/i/punk22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk22.png
--------------------------------------------------------------------------------
/i/punk23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk23.png
--------------------------------------------------------------------------------
/i/punk24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk24.png
--------------------------------------------------------------------------------
/i/punk25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk25.png
--------------------------------------------------------------------------------
/i/punk26.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk26.png
--------------------------------------------------------------------------------
/i/punk27.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk27.png
--------------------------------------------------------------------------------
/i/punk28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk28.png
--------------------------------------------------------------------------------
/i/punk29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk29.png
--------------------------------------------------------------------------------
/i/punk3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk3.png
--------------------------------------------------------------------------------
/i/punk30.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk30.png
--------------------------------------------------------------------------------
/i/punk31.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk31.png
--------------------------------------------------------------------------------
/i/punk32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk32.png
--------------------------------------------------------------------------------
/i/punk33.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk33.png
--------------------------------------------------------------------------------
/i/punk34.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk34.png
--------------------------------------------------------------------------------
/i/punk35.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk35.png
--------------------------------------------------------------------------------
/i/punk36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk36.png
--------------------------------------------------------------------------------
/i/punk37.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk37.png
--------------------------------------------------------------------------------
/i/punk38.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk38.png
--------------------------------------------------------------------------------
/i/punk39.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk39.png
--------------------------------------------------------------------------------
/i/punk4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk4.png
--------------------------------------------------------------------------------
/i/punk40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk40.png
--------------------------------------------------------------------------------
/i/punk41.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk41.png
--------------------------------------------------------------------------------
/i/punk42.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk42.png
--------------------------------------------------------------------------------
/i/punk43.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk43.png
--------------------------------------------------------------------------------
/i/punk44.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk44.png
--------------------------------------------------------------------------------
/i/punk45.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk45.png
--------------------------------------------------------------------------------
/i/punk46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk46.png
--------------------------------------------------------------------------------
/i/punk47.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk47.png
--------------------------------------------------------------------------------
/i/punk48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk48.png
--------------------------------------------------------------------------------
/i/punk49.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk49.png
--------------------------------------------------------------------------------
/i/punk5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk5.png
--------------------------------------------------------------------------------
/i/punk50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk50.png
--------------------------------------------------------------------------------
/i/punk51.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk51.png
--------------------------------------------------------------------------------
/i/punk52.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk52.png
--------------------------------------------------------------------------------
/i/punk53.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk53.png
--------------------------------------------------------------------------------
/i/punk54.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk54.png
--------------------------------------------------------------------------------
/i/punk55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk55.png
--------------------------------------------------------------------------------
/i/punk56.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk56.png
--------------------------------------------------------------------------------
/i/punk57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk57.png
--------------------------------------------------------------------------------
/i/punk58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk58.png
--------------------------------------------------------------------------------
/i/punk59.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk59.png
--------------------------------------------------------------------------------
/i/punk6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk6.png
--------------------------------------------------------------------------------
/i/punk60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk60.png
--------------------------------------------------------------------------------
/i/punk61.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk61.png
--------------------------------------------------------------------------------
/i/punk62.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk62.png
--------------------------------------------------------------------------------
/i/punk63.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk63.png
--------------------------------------------------------------------------------
/i/punk64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk64.png
--------------------------------------------------------------------------------
/i/punk65.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk65.png
--------------------------------------------------------------------------------
/i/punk66.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk66.png
--------------------------------------------------------------------------------
/i/punk67.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk67.png
--------------------------------------------------------------------------------
/i/punk68.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk68.png
--------------------------------------------------------------------------------
/i/punk69.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk69.png
--------------------------------------------------------------------------------
/i/punk7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk7.png
--------------------------------------------------------------------------------
/i/punk70.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk70.png
--------------------------------------------------------------------------------
/i/punk71.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk71.png
--------------------------------------------------------------------------------
/i/punk72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk72.png
--------------------------------------------------------------------------------
/i/punk73.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk73.png
--------------------------------------------------------------------------------
/i/punk74.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk74.png
--------------------------------------------------------------------------------
/i/punk75.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk75.png
--------------------------------------------------------------------------------
/i/punk76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk76.png
--------------------------------------------------------------------------------
/i/punk77.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk77.png
--------------------------------------------------------------------------------
/i/punk78.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk78.png
--------------------------------------------------------------------------------
/i/punk79.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk79.png
--------------------------------------------------------------------------------
/i/punk8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk8.png
--------------------------------------------------------------------------------
/i/punk80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk80.png
--------------------------------------------------------------------------------
/i/punk81.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk81.png
--------------------------------------------------------------------------------
/i/punk82.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk82.png
--------------------------------------------------------------------------------
/i/punk83.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk83.png
--------------------------------------------------------------------------------
/i/punk84.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk84.png
--------------------------------------------------------------------------------
/i/punk85.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk85.png
--------------------------------------------------------------------------------
/i/punk86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk86.png
--------------------------------------------------------------------------------
/i/punk87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk87.png
--------------------------------------------------------------------------------
/i/punk88.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk88.png
--------------------------------------------------------------------------------
/i/punk89.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk89.png
--------------------------------------------------------------------------------
/i/punk9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk9.png
--------------------------------------------------------------------------------
/i/punk90.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk90.png
--------------------------------------------------------------------------------
/i/punk91.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk91.png
--------------------------------------------------------------------------------
/i/punk92.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk92.png
--------------------------------------------------------------------------------
/i/punk93.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk93.png
--------------------------------------------------------------------------------
/i/punk94.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk94.png
--------------------------------------------------------------------------------
/i/punk95.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk95.png
--------------------------------------------------------------------------------
/i/punk96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk96.png
--------------------------------------------------------------------------------
/i/punk97.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk97.png
--------------------------------------------------------------------------------
/i/punk98.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk98.png
--------------------------------------------------------------------------------
/i/punk99.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punk99.png
--------------------------------------------------------------------------------
/i/punks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punks.png
--------------------------------------------------------------------------------
/i/punks@4x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/punks@4x.png
--------------------------------------------------------------------------------
/i/shroom1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom1.png
--------------------------------------------------------------------------------
/i/shroom10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom10.png
--------------------------------------------------------------------------------
/i/shroom100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom100.png
--------------------------------------------------------------------------------
/i/shroom101.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom101.png
--------------------------------------------------------------------------------
/i/shroom102.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom102.png
--------------------------------------------------------------------------------
/i/shroom103.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom103.png
--------------------------------------------------------------------------------
/i/shroom104.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom104.png
--------------------------------------------------------------------------------
/i/shroom105.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom105.png
--------------------------------------------------------------------------------
/i/shroom106.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom106.png
--------------------------------------------------------------------------------
/i/shroom107.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom107.png
--------------------------------------------------------------------------------
/i/shroom108.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom108.png
--------------------------------------------------------------------------------
/i/shroom109.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom109.png
--------------------------------------------------------------------------------
/i/shroom11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom11.png
--------------------------------------------------------------------------------
/i/shroom110.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom110.png
--------------------------------------------------------------------------------
/i/shroom111.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom111.png
--------------------------------------------------------------------------------
/i/shroom112.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom112.png
--------------------------------------------------------------------------------
/i/shroom113.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom113.png
--------------------------------------------------------------------------------
/i/shroom114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom114.png
--------------------------------------------------------------------------------
/i/shroom115.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom115.png
--------------------------------------------------------------------------------
/i/shroom116.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom116.png
--------------------------------------------------------------------------------
/i/shroom117.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom117.png
--------------------------------------------------------------------------------
/i/shroom118.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom118.png
--------------------------------------------------------------------------------
/i/shroom119.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom119.png
--------------------------------------------------------------------------------
/i/shroom12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom12.png
--------------------------------------------------------------------------------
/i/shroom120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom120.png
--------------------------------------------------------------------------------
/i/shroom121.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom121.png
--------------------------------------------------------------------------------
/i/shroom122.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom122.png
--------------------------------------------------------------------------------
/i/shroom123.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom123.png
--------------------------------------------------------------------------------
/i/shroom124.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom124.png
--------------------------------------------------------------------------------
/i/shroom125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom125.png
--------------------------------------------------------------------------------
/i/shroom126.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom126.png
--------------------------------------------------------------------------------
/i/shroom127.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom127.png
--------------------------------------------------------------------------------
/i/shroom128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom128.png
--------------------------------------------------------------------------------
/i/shroom129.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom129.png
--------------------------------------------------------------------------------
/i/shroom13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom13.png
--------------------------------------------------------------------------------
/i/shroom130.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom130.png
--------------------------------------------------------------------------------
/i/shroom131.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom131.png
--------------------------------------------------------------------------------
/i/shroom132.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom132.png
--------------------------------------------------------------------------------
/i/shroom133.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom133.png
--------------------------------------------------------------------------------
/i/shroom134.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom134.png
--------------------------------------------------------------------------------
/i/shroom135.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom135.png
--------------------------------------------------------------------------------
/i/shroom136.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom136.png
--------------------------------------------------------------------------------
/i/shroom137.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom137.png
--------------------------------------------------------------------------------
/i/shroom138.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom138.png
--------------------------------------------------------------------------------
/i/shroom139.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom139.png
--------------------------------------------------------------------------------
/i/shroom14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom14.png
--------------------------------------------------------------------------------
/i/shroom140.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom140.png
--------------------------------------------------------------------------------
/i/shroom141.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom141.png
--------------------------------------------------------------------------------
/i/shroom142.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom142.png
--------------------------------------------------------------------------------
/i/shroom143.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom143.png
--------------------------------------------------------------------------------
/i/shroom144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom144.png
--------------------------------------------------------------------------------
/i/shroom145.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom145.png
--------------------------------------------------------------------------------
/i/shroom146.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom146.png
--------------------------------------------------------------------------------
/i/shroom147.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom147.png
--------------------------------------------------------------------------------
/i/shroom148.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom148.png
--------------------------------------------------------------------------------
/i/shroom149.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom149.png
--------------------------------------------------------------------------------
/i/shroom15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom15.png
--------------------------------------------------------------------------------
/i/shroom150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom150.png
--------------------------------------------------------------------------------
/i/shroom151.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom151.png
--------------------------------------------------------------------------------
/i/shroom152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom152.png
--------------------------------------------------------------------------------
/i/shroom153.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom153.png
--------------------------------------------------------------------------------
/i/shroom154.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom154.png
--------------------------------------------------------------------------------
/i/shroom155.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom155.png
--------------------------------------------------------------------------------
/i/shroom156.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom156.png
--------------------------------------------------------------------------------
/i/shroom157.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom157.png
--------------------------------------------------------------------------------
/i/shroom158.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom158.png
--------------------------------------------------------------------------------
/i/shroom159.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom159.png
--------------------------------------------------------------------------------
/i/shroom16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom16.png
--------------------------------------------------------------------------------
/i/shroom160.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom160.png
--------------------------------------------------------------------------------
/i/shroom161.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom161.png
--------------------------------------------------------------------------------
/i/shroom162.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom162.png
--------------------------------------------------------------------------------
/i/shroom163.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom163.png
--------------------------------------------------------------------------------
/i/shroom164.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom164.png
--------------------------------------------------------------------------------
/i/shroom165.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom165.png
--------------------------------------------------------------------------------
/i/shroom166.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom166.png
--------------------------------------------------------------------------------
/i/shroom167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom167.png
--------------------------------------------------------------------------------
/i/shroom168.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom168.png
--------------------------------------------------------------------------------
/i/shroom169.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom169.png
--------------------------------------------------------------------------------
/i/shroom17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom17.png
--------------------------------------------------------------------------------
/i/shroom170.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom170.png
--------------------------------------------------------------------------------
/i/shroom171.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom171.png
--------------------------------------------------------------------------------
/i/shroom172.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom172.png
--------------------------------------------------------------------------------
/i/shroom173.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom173.png
--------------------------------------------------------------------------------
/i/shroom174.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom174.png
--------------------------------------------------------------------------------
/i/shroom175.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom175.png
--------------------------------------------------------------------------------
/i/shroom176.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom176.png
--------------------------------------------------------------------------------
/i/shroom177.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom177.png
--------------------------------------------------------------------------------
/i/shroom178.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom178.png
--------------------------------------------------------------------------------
/i/shroom179.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom179.png
--------------------------------------------------------------------------------
/i/shroom18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom18.png
--------------------------------------------------------------------------------
/i/shroom180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom180.png
--------------------------------------------------------------------------------
/i/shroom181.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom181.png
--------------------------------------------------------------------------------
/i/shroom182.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom182.png
--------------------------------------------------------------------------------
/i/shroom183.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom183.png
--------------------------------------------------------------------------------
/i/shroom184.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom184.png
--------------------------------------------------------------------------------
/i/shroom185.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom185.png
--------------------------------------------------------------------------------
/i/shroom186.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom186.png
--------------------------------------------------------------------------------
/i/shroom187.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom187.png
--------------------------------------------------------------------------------
/i/shroom188.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom188.png
--------------------------------------------------------------------------------
/i/shroom189.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom189.png
--------------------------------------------------------------------------------
/i/shroom19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom19.png
--------------------------------------------------------------------------------
/i/shroom190.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom190.png
--------------------------------------------------------------------------------
/i/shroom191.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom191.png
--------------------------------------------------------------------------------
/i/shroom192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom192.png
--------------------------------------------------------------------------------
/i/shroom193.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom193.png
--------------------------------------------------------------------------------
/i/shroom194.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom194.png
--------------------------------------------------------------------------------
/i/shroom195.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom195.png
--------------------------------------------------------------------------------
/i/shroom196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom196.png
--------------------------------------------------------------------------------
/i/shroom197.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom197.png
--------------------------------------------------------------------------------
/i/shroom198.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom198.png
--------------------------------------------------------------------------------
/i/shroom199.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom199.png
--------------------------------------------------------------------------------
/i/shroom2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom2.png
--------------------------------------------------------------------------------
/i/shroom20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom20.png
--------------------------------------------------------------------------------
/i/shroom200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom200.png
--------------------------------------------------------------------------------
/i/shroom201.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom201.png
--------------------------------------------------------------------------------
/i/shroom202.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom202.png
--------------------------------------------------------------------------------
/i/shroom203.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom203.png
--------------------------------------------------------------------------------
/i/shroom204.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom204.png
--------------------------------------------------------------------------------
/i/shroom205.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom205.png
--------------------------------------------------------------------------------
/i/shroom206.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom206.png
--------------------------------------------------------------------------------
/i/shroom207.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom207.png
--------------------------------------------------------------------------------
/i/shroom208.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom208.png
--------------------------------------------------------------------------------
/i/shroom209.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom209.png
--------------------------------------------------------------------------------
/i/shroom21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom21.png
--------------------------------------------------------------------------------
/i/shroom210.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom210.png
--------------------------------------------------------------------------------
/i/shroom22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom22.png
--------------------------------------------------------------------------------
/i/shroom23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom23.png
--------------------------------------------------------------------------------
/i/shroom24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom24.png
--------------------------------------------------------------------------------
/i/shroom25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom25.png
--------------------------------------------------------------------------------
/i/shroom26.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom26.png
--------------------------------------------------------------------------------
/i/shroom27.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom27.png
--------------------------------------------------------------------------------
/i/shroom28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom28.png
--------------------------------------------------------------------------------
/i/shroom29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom29.png
--------------------------------------------------------------------------------
/i/shroom3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom3.png
--------------------------------------------------------------------------------
/i/shroom30.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom30.png
--------------------------------------------------------------------------------
/i/shroom31.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom31.png
--------------------------------------------------------------------------------
/i/shroom32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom32.png
--------------------------------------------------------------------------------
/i/shroom33.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom33.png
--------------------------------------------------------------------------------
/i/shroom34.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom34.png
--------------------------------------------------------------------------------
/i/shroom35.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom35.png
--------------------------------------------------------------------------------
/i/shroom36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom36.png
--------------------------------------------------------------------------------
/i/shroom37.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom37.png
--------------------------------------------------------------------------------
/i/shroom38.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom38.png
--------------------------------------------------------------------------------
/i/shroom39.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom39.png
--------------------------------------------------------------------------------
/i/shroom4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom4.png
--------------------------------------------------------------------------------
/i/shroom40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom40.png
--------------------------------------------------------------------------------
/i/shroom41.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom41.png
--------------------------------------------------------------------------------
/i/shroom42.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom42.png
--------------------------------------------------------------------------------
/i/shroom43.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom43.png
--------------------------------------------------------------------------------
/i/shroom44.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom44.png
--------------------------------------------------------------------------------
/i/shroom45.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom45.png
--------------------------------------------------------------------------------
/i/shroom46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom46.png
--------------------------------------------------------------------------------
/i/shroom47.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom47.png
--------------------------------------------------------------------------------
/i/shroom48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom48.png
--------------------------------------------------------------------------------
/i/shroom49.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom49.png
--------------------------------------------------------------------------------
/i/shroom5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom5.png
--------------------------------------------------------------------------------
/i/shroom50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom50.png
--------------------------------------------------------------------------------
/i/shroom51.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom51.png
--------------------------------------------------------------------------------
/i/shroom52.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom52.png
--------------------------------------------------------------------------------
/i/shroom53.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom53.png
--------------------------------------------------------------------------------
/i/shroom54.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom54.png
--------------------------------------------------------------------------------
/i/shroom55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom55.png
--------------------------------------------------------------------------------
/i/shroom56.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom56.png
--------------------------------------------------------------------------------
/i/shroom57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom57.png
--------------------------------------------------------------------------------
/i/shroom58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom58.png
--------------------------------------------------------------------------------
/i/shroom59.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom59.png
--------------------------------------------------------------------------------
/i/shroom6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom6.png
--------------------------------------------------------------------------------
/i/shroom60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom60.png
--------------------------------------------------------------------------------
/i/shroom61.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom61.png
--------------------------------------------------------------------------------
/i/shroom62.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom62.png
--------------------------------------------------------------------------------
/i/shroom63.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom63.png
--------------------------------------------------------------------------------
/i/shroom64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom64.png
--------------------------------------------------------------------------------
/i/shroom65.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom65.png
--------------------------------------------------------------------------------
/i/shroom66.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom66.png
--------------------------------------------------------------------------------
/i/shroom67.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom67.png
--------------------------------------------------------------------------------
/i/shroom68.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom68.png
--------------------------------------------------------------------------------
/i/shroom69.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom69.png
--------------------------------------------------------------------------------
/i/shroom7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom7.png
--------------------------------------------------------------------------------
/i/shroom70.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom70.png
--------------------------------------------------------------------------------
/i/shroom71.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom71.png
--------------------------------------------------------------------------------
/i/shroom72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom72.png
--------------------------------------------------------------------------------
/i/shroom73.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom73.png
--------------------------------------------------------------------------------
/i/shroom74.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom74.png
--------------------------------------------------------------------------------
/i/shroom75.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom75.png
--------------------------------------------------------------------------------
/i/shroom76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom76.png
--------------------------------------------------------------------------------
/i/shroom77.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom77.png
--------------------------------------------------------------------------------
/i/shroom78.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom78.png
--------------------------------------------------------------------------------
/i/shroom79.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom79.png
--------------------------------------------------------------------------------
/i/shroom8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom8.png
--------------------------------------------------------------------------------
/i/shroom80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom80.png
--------------------------------------------------------------------------------
/i/shroom81.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom81.png
--------------------------------------------------------------------------------
/i/shroom82.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom82.png
--------------------------------------------------------------------------------
/i/shroom83.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom83.png
--------------------------------------------------------------------------------
/i/shroom84.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom84.png
--------------------------------------------------------------------------------
/i/shroom85.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom85.png
--------------------------------------------------------------------------------
/i/shroom86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom86.png
--------------------------------------------------------------------------------
/i/shroom87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom87.png
--------------------------------------------------------------------------------
/i/shroom88.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom88.png
--------------------------------------------------------------------------------
/i/shroom89.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom89.png
--------------------------------------------------------------------------------
/i/shroom9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom9.png
--------------------------------------------------------------------------------
/i/shroom90.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom90.png
--------------------------------------------------------------------------------
/i/shroom91.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom91.png
--------------------------------------------------------------------------------
/i/shroom92.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom92.png
--------------------------------------------------------------------------------
/i/shroom93.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom93.png
--------------------------------------------------------------------------------
/i/shroom94.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom94.png
--------------------------------------------------------------------------------
/i/shroom95.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom95.png
--------------------------------------------------------------------------------
/i/shroom96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom96.png
--------------------------------------------------------------------------------
/i/shroom97.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom97.png
--------------------------------------------------------------------------------
/i/shroom98.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom98.png
--------------------------------------------------------------------------------
/i/shroom99.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ordbase/programming-ordinals/deb488351988d996ddc1ff8570fdc45b6252c865/i/shroom99.png
--------------------------------------------------------------------------------
/ltc_sub1k.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | [« Programming (Litecoin) Ordinals - Step-by-Step Book / Guide](./)
4 |
5 |
6 | # Sub 1k - Inside The First Thousand (Litecoin) Ordinal Inscriptions
7 |
8 |
9 | Let's explore the first thousand ordinal inscriptions
10 | from [inscription №0](https://ordinalslite.com/inscription/71e0f6dc87a473aa69787fff8e09e5eddfdca96e587928a5b1a25c0ae16dc0eei0)
11 | to [inscription №999](https://ordinalslite.com/inscription/aba63632a275ce5c20cb87d0af58c0b11e6f328514e2cf7fecf6132086fd33f8i0).
12 |
13 |
14 | Looking for the bitcoin (btc) edition? See [Sub 1k - Inside the first thousand bitcoin ordinal inscripitons »](sub1k.md)
15 |
16 |
17 |
18 | ## Step 0: Let's build the sub1k (SQL) database (ordlite / sqlite)
19 |
20 | Let's setup and build from scratch / zero
21 | a single-file SQLite database (e.g. `òrdsub1k.ltc.db`) with
22 | the first thousand ordinal inscriptions,
23 | that is, all metadata and (content) blobs, that is, images or text or audio or whatever.
24 |
25 | To fetch the inscription metadata and content blobs
26 | let's use the ordinalslite.com api wrapper / client, that is,
27 | the [ordinals gem](https://github.com/ordbase/ordbase/tree/master/ordinals).
28 |
29 | To setup and build the SQL schema / tables
30 | and insert (& update) all database records let's use
31 | the ordinals sqlite database helpers & machinery, that is, the [ordlite gem](https://github.com/ordbase/ordbase/tree/master/ordlite).
32 |
33 |
34 | Let's get started:
35 |
36 | ``` ruby
37 | require 'ordlite'
38 |
39 |
40 | OrdDb.open( './ordsub1k.ltc.db' )
41 |
42 | puts
43 | puts " #{Inscribe.count} inscribe(s)"
44 | puts " #{Blob.count} blob(s)"
45 | #=> 0 inscribe(s)
46 | #=> 0 blob(s)
47 |
48 | ## IMPORTANT! switch (block)chain to litcoin / ltc
49 | Ordinals.chain = :ltc
50 |
51 | ## import listed inscripiton ids (fetch via ordinals.com api)
52 | OrdDb.import_csv( "./meta/sub1k_inscriptions.csv" )
53 |
54 | puts
55 | puts " #{Inscribe.count} inscribe(s)"
56 | puts " #{Blob.count} blob(s)"
57 | #=> 1000 inscribe(s)
58 | #=> 1000 blob(s)
59 | ```
60 |
61 | Show time! Let's run the [`ltc_sub1k_build` script](ltc_sub1k_build.rb) and
62 | once
63 | all 1000×2, that is, 2000 web (api) requests are processed
64 | you will have a copy of all sub1k ordinal inscriptions with all metadata and content blobs in a single-file SQLite database (about 160 MB).
65 |
66 |
67 |
68 | ## Let's query and analyze the sub1k inscriptions via SQL
69 |
70 |
71 | Let's try a test run ...
72 |
73 | ``` ruby
74 | require 'ordlite'
75 |
76 |
77 | OrdDb.open( './ordsub1k.ltc.db' )
78 |
79 | puts
80 | puts " #{Inscribe.count} inscribe(s)"
81 | puts " #{Blob.count} blob(s)"
82 | #=> 1000 inscribe(s)
83 | #=> 1000 blob(s)
84 | ```
85 |
86 |
87 | Let's query for the ten biggest (by bytes) inscriptions
88 | (and pretty print the result):
89 |
90 | ```ruby
91 | Inscribe.biggest.limit(10).each do |rec|
92 | print "#{number_to_human_size(rec.bytes)} (#{rec.bytes} bytes) - "
93 | print "Inscribe №#{rec.num} (#{rec.content_type}) - "
94 | print "#{rec.date} - #{rec.fee} fee in litoshis"
95 | print "\n"
96 | end
97 | ```
98 |
99 | or in vanilla SQL:
100 |
101 | ``` sql
102 | SELECT *
103 | FROM inscribes
104 | ORDER BY bytes DESC
105 | LIMIT 10
106 | ```
107 |
108 | resulting in:
109 |
110 | ```
111 | 387 KB (396340 bytes) - Inscribe №100 (image/webp) - 2023-02-20 19:19:25 - 775291 fee in lits
112 | 387 KB (396313 bytes) - Inscribe №89 (image/gif) - 2023-02-20 19:14:53 - 775236 fee in lits
113 | 386 KB (395261 bytes) - Inscribe №866 (image/png) - 2023-02-21 06:35:39 - 199016 fee in lits
114 | 385 KB (394012 bytes) - Inscribe №291 (image/webp) - 2023-02-20 21:03:48 - 770737 fee in lits
115 | 385 KB (394012 bytes) - Inscribe №292 (image/webp) - 2023-02-20 21:03:48 - 770737 fee in lits
116 | 385 KB (394012 bytes) - Inscribe №293 (image/webp) - 2023-02-20 21:03:48 - 770737 fee in lits
117 | 385 KB (394012 bytes) - Inscribe №294 (image/webp) - 2023-02-20 21:03:48 - 770737 fee in lits
118 | 385 KB (394012 bytes) - Inscribe №295 (image/webp) - 2023-02-20 21:03:48 - 770737 fee in lits
119 | 385 KB (394012 bytes) - Inscribe №296 (image/webp) - 2023-02-20 21:03:48 - 770737 fee in lits
120 | 385 KB (394012 bytes) - Inscribe №297 (image/webp) - 2023-02-20 21:03:48 - 770737 fee in lits
121 | ```
122 |
123 | Litecoin triva: Did you know? The litoshi is the smallest possible division
124 | and named in homage to bitcoin's smallest denomination
125 | the satoshi, representing 1⁄100000000 (one hundred millionth) litecoin.
126 |
127 |
128 |
129 |
130 | Let's query for all inscriptions grouped by date (day) and dump the results:
131 |
132 | ```ruby
133 | pp Inscribe.counts_by_date ## or count_by_day
134 | ```
135 |
136 | or in vanilla SQL:
137 |
138 | ```sql
139 | SELECT strftime('%Y-%m-%d', date) AS day, COUNT(*)
140 | FROM inscribes
141 | GROUP BY day
142 | ORDER BY day
143 | ```
144 |
145 | resulting in:
146 |
147 | ```
148 | {"2023-02-19" => 4,
149 | "2023-02-20" => 299,
150 | "2023-02-21" => 697}
151 | ```
152 |
153 | Let's query for all content types and group by count (descending) and dump the results:
154 |
155 |
156 | ```ruby
157 | pp Inscribe.counts_by_content_type
158 | ```
159 |
160 | or in vanilla SQL:
161 |
162 | ```sql
163 | SELECT content_type, COUNT(*)
164 | FROM inscribes
165 | GROUP BY content_type
166 | ORDER BY COUNT(*) DESC, content_type
167 | ```
168 |
169 | resulting in:
170 |
171 | ```
172 | {"image/jpeg" => 397,
173 | "image/png" => 218,
174 | "video/mp4" => 200,
175 | "image/webp" => 109,
176 | "image/svg+xml" => 50,
177 | "text/plain;charset=utf-8" => 16,
178 | "image/gif" => 9,
179 | "application/pdf" => 1}
180 | ```
181 |
182 |
183 | Let's query for the genesis inscription no. 0 - the mimble wimble whitepaper (6 pages)
184 | by Tom Elvis Jedusor:
185 |
186 | ``` ruby
187 | ## get mimble wimble whitpaper (no. 0) pdf document
188 | inscribe = Inscribe.find_by( num: 0 )
189 | write_blob( "./mimblewimble.pdf", inscribe.content )
190 | ```
191 |
192 |
193 | Yes, you can. Learn more about confidental / private transactions with Mimble Wimble:
194 | - [mimblewimble.pdf (56 kb)](https://ordbase.github.io/ordbase/mimblewimble.pdf)
195 |
196 | Litecoin triva: Did you know? In May 2022, the Mimblewimble Extension Blocks (MWEB)
197 | upgrade was activated on the Litecoin network as a soft fork -
198 | providing users with the option of sending confidential / private transactions where the amount sent is only known between the sender and receiver.
199 |
200 |
201 |
202 | Let's try to curate some sub1k image collections.
203 |
204 |
205 | Let's save all pepelangelo .JPGs in the collection for easy access
206 | using `pepelangelo1.png`, `pepelangelo2.png`, `pepelangelo3.png` up to
207 | `pepelangelo44.png`.
208 |
209 |
210 | ```ruby
211 | nums = [
212 | 207, 208, 209,
213 | 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
214 | 220, 221, 222, 223, 224, 225, 226, 227, 228,
215 | 236, 237, 238, 239,
216 | 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
217 | 250, 251, 252, 253, 254, 255, 256, 257
218 | ]
219 |
220 | puts " #{nums.size} pepelangelo(s)"
221 | #=> 44 pepelangelo(s)
222 |
223 | nums.each_with_index do |num, i|
224 | inscribe = Inscribe.find_by( num: num )
225 | write_blob( "./pepelangelo#{i+1}.jpg", inscribe.content )
226 | end
227 | ```
228 |
229 | resulting in:
230 |
231 | 
232 | 
233 | 
234 | 
235 |
236 | ...
237 |
238 |
239 | Let's save all (ordinal?) punk .PNGs in the collection for easy access
240 | using `punk1.png`, `punk2.png`, `punk3.png` up to
241 | `punk100.png`.
242 |
243 | ```ruby
244 | nums = [
245 | 458, 459,
246 | 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
247 | 470, 471, 472, 473, 474, 475, 476, 477, 478,
248 | 487, 488, 489,
249 | 490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
250 | 500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
251 | 510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
252 | 520, 521, 522, 523,
253 | 531, 532, 533, 534, 535, 536, 537, 538, 539,
254 | 540, 541, 542, 548, 549,
255 | 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
256 | 560, 561, 562, 563, 564, 565, 566, 567, 568, 569,
257 | 570, 571,
258 | 580, 581, 582, 583, 584, 585,
259 | ]
260 |
261 | puts " #{nums.size} punk(s)"
262 | #=> 100 punk(s)
263 |
264 |
265 | nums.each_with_index do |num, i|
266 | inscribe = Inscribe.find_by( num: num )
267 | write_blob( "./punk#{i+1}.png", inscribe.content )
268 | end
269 | ```
270 |
271 | resulting in:
272 |
273 | 
274 | 
275 | 
276 | 
277 | 
278 | 
279 | 
280 | 
281 | 
282 | 
283 |
284 | ...
285 |
286 |
287 | Bonus: Let's generate an all-in-one fam composite in 1x and 4x.
288 |
289 | ```ruby
290 | require 'pixelart'
291 |
292 | composite = ImageComposite.new( 10, 10, width: 24,
293 | height: 24 )
294 |
295 |
296 | nums = [
297 | 458, 459,
298 | 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
299 | 470, 471, 472, 473, 474, 475, 476, 477, 478,
300 | 487, 488, 489,
301 | 490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
302 | 500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
303 | 510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
304 | 520, 521, 522, 523,
305 | 531, 532, 533, 534, 535, 536, 537, 538, 539,
306 | 540, 541, 542, 548, 549,
307 | 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
308 | 560, 561, 562, 563, 564, 565, 566, 567, 568, 569,
309 | 570, 571,
310 | 580, 581, 582, 583, 584, 585,
311 | ]
312 |
313 | nums.each_with_index do |num, i|
314 | composite << Image.read( "./punk#{i+1}.png" )
315 | end
316 |
317 | composite.save( "./punks.png" )
318 | composite.zoom(4).save( "./punks@4x.png" )
319 | ```
320 |
321 |
322 | resulting in:
323 |
324 | 
325 |
326 | in 4x
327 |
328 | 
329 |
330 |
331 |
332 |
333 |
334 | Let's query for all text inscribes (with content type `text/plain;charset=utf-8`)
335 | and print out the text:
336 |
337 | ```ruby
338 | inscribes = Inscribe.text
339 | puts " #{inscribes.size} text inscribe(s)"
340 | #=> 16 text inscribe(s)
341 |
342 | inscribes.each_with_index do |rec, i|
343 | puts "==> [#{i+1}/#{inscribes.size}] text inscribe №#{rec.num} (#{rec.content_type} - #{rec.bytes} bytes):"
344 | puts rec.text
345 | puts
346 | end
347 | ```
348 |
349 | resulting in:
350 |
351 | ```
352 | ==> [1/16] text inscribe №400 (text/plain;charset=utf-8 - 2 bytes):
353 | 1
354 |
355 | ==> [2/16] text inscribe №449 (text/plain;charset=utf-8 - 2 bytes):
356 | 2
357 |
358 | ==> [3/16] text inscribe №530 (text/plain;charset=utf-8 - 2 bytes):
359 | 2
360 |
361 | ==> [4/16] text inscribe №914 (text/plain;charset=utf-8 - 10 bytes):
362 | christian
363 |
364 | ==> [5/16] text inscribe №915 (text/plain;charset=utf-8 - 9 bytes):
365 | litecoin
366 |
367 | ==> [6/16] text inscribe №916 (text/plain;charset=utf-8 - 2 bytes):
368 | 2
369 |
370 | ==> [7/16] text inscribe №917 (text/plain;charset=utf-8 - 2 bytes):
371 | 0
372 |
373 | ==> [8/16] text inscribe №918 (text/plain;charset=utf-8 - 2 bytes):
374 | 3
375 |
376 | ==> [9/16] text inscribe №919 (text/plain;charset=utf-8 - 2 bytes):
377 | 5
378 |
379 | ==> [10/16] text inscribe №920 (text/plain;charset=utf-8 - 2 bytes):
380 | 1
381 |
382 | ==> [11/16] text inscribe №921 (text/plain;charset=utf-8 - 2 bytes):
383 | 4
384 |
385 | ==> [12/16] text inscribe №923 (text/plain;charset=utf-8 - 2 bytes):
386 | 6
387 |
388 | ==> [13/16] text inscribe №924 (text/plain;charset=utf-8 - 2 bytes):
389 | 9
390 |
391 | ==> [14/16] text inscribe №925 (text/plain;charset=utf-8 - 2 bytes):
392 | 7
393 |
394 | ==> [15/16] text inscribe №926 (text/plain;charset=utf-8 - 2 bytes):
395 | 8
396 |
397 | ==> [16/16] text inscribe №970 (text/plain;charset=utf-8 - 14 bytes):
398 | Buy #Litecoin
399 | ```
400 |
401 | No quotes, cyber philosophy manifestos, collection manifests, or super sekretoo nuclear launch codes found in the text inscribes.
402 | See the bitcoin (btc) edition [Sub 1k - Inside the first thousand bitcoin ordinal inscripitons](sub1k.md) for more fun.
403 |
404 |
405 |
406 |
407 | To be continued...
408 |
409 |
410 |
411 |
412 | ## Bonus - Let's export (save as ...) all inscriptions content blobs
413 |
414 | Let's export (save as ...) all inscription content blobs
415 | to local files with (mime) content types mapped
416 | to file extensions (e.g. `image/png` to `.png`, `text/plain` to `.txt`, and so on)
417 | and use the the inscription number as its filename
418 | (for easy sorting padded with eight zeros e.g. `0` to `00000000`, `1` to `00000001`) ...
419 |
420 |
421 | ``` ruby
422 | require 'ordlite'
423 |
424 | OrdDb.open( './ordsub1k.ltc.db' )
425 |
426 | Inscribe.all.each do |rec|
427 | print "==> exporting inscribe №#{rec.num} "
428 | print ">#{rec.content_type}< #{number_to_human_size(rec.bytes)} (#{rec.bytes} bytes) "
429 | print "to >#{rec.export_path}<..."
430 | print "\n"
431 | rec.export ## gets saved to ./tmp/. by default
432 | end
433 | ```
434 |
435 | resulting in:
436 |
437 | ```
438 | ==> exporting inscribe №0 >application/pdf< 55.9 KB (57237 bytes) to >./tmp/00000000.pdf<...
439 | ==> exporting inscribe №1 >image/jpeg< 147 KB (150529 bytes) to >./tmp/00000001.jpg<...
440 | ==> exporting inscribe №2 >image/jpeg< 86.2 KB (88223 bytes) to >./tmp/00000002.jpg<...
441 | ==> exporting inscribe №3 >image/jpeg< 359 KB (367218 bytes) to >./tmp/00000003.jpg<...
442 | ==> exporting inscribe №4 >image/jpeg< 57 KB (58398 bytes) to >./tmp/00000004.jpg<...
443 | ==> exporting inscribe №5 >image/png< 4.95 KB (5067 bytes) to >./tmp/00000005.png<...
444 | ==> exporting inscribe №6 >image/webp< 359 KB (367128 bytes) to >./tmp/00000006.webp<...
445 | ==> exporting inscribe №7 >image/webp< 359 KB (367128 bytes) to >./tmp/00000007.webp<...
446 | ==> exporting inscribe №8 >image/webp< 359 KB (367128 bytes) to >./tmp/00000008.webp<...
447 | ==> exporting inscribe №9 >image/webp< 359 KB (367128 bytes) to >./tmp/00000009.webp<...
448 | ...
449 | ==> exporting inscribe №998 >image/jpeg< 89.3 KB (91426 bytes) to >./tmp/00000998.jpg<...
450 | ==> exporting inscribe №999 >image/jpeg< 89.3 KB (91426 bytes) to >./tmp/00000999.jpg<...
451 | ```
452 |
453 |
454 | or if you look in your `./tmp` directory (depending on your operating system):
455 |
456 | 
457 |
458 |
459 |
460 | ## Questions? Comments?
461 |
462 | Join us in the [Ordgen / ORC-721 discord (chat server)](https://discord.gg/dDhvHKjm2t). Yes you can.
463 | Your questions and commetary welcome.
464 |
465 |
466 | Or post them over at the [Help & Support](https://github.com/geraldb/help) page. Thanks.
467 |
468 |
--------------------------------------------------------------------------------
/ltc_sub1k_build.rb:
--------------------------------------------------------------------------------
1 | #####
2 | # build ordsub1k.ltc.db (sqlite database with first thousand ordinal inscriptions in litecoin/ltc)
3 |
4 | $LOAD_PATH.unshift( "../ordinals/lib" )
5 | $LOAD_PATH.unshift( "../ordlite/lib" )
6 |
7 |
8 | require 'ordlite'
9 |
10 |
11 |
12 | OrdDb.open( './ordsub1k.ltc.db' )
13 |
14 |
15 | puts
16 | puts " #{Inscribe.count} inscribe(s)"
17 | puts " #{Blob.count} blob(s)"
18 | #=> 0 inscribe(s)
19 | #=> 0 blob(s)
20 |
21 |
22 | Ordinals.chain = :ltc
23 | OrdDb.import_csv( "./meta/sub1k_inscriptions.ltc.csv" )
24 |
25 | puts
26 | puts " #{Inscribe.count} inscribe(s)"
27 | puts " #{Blob.count} blob(s)"
28 | #=> 1000 inscribe(s)
29 | #=> 1000 blob(s)
30 |
31 |
32 | puts "bye"
--------------------------------------------------------------------------------
/ltc_sub1k_export.rb:
--------------------------------------------------------------------------------
1 | #####
2 | # query ordsub1k.ltc.db (sqlite database with first thousand ordinal litecoin inscriptions)
3 |
4 | $LOAD_PATH.unshift( "../ordlite/lib" )
5 | require 'ordlite'
6 |
7 |
8 |
9 |
10 | OrdDb.open( './ordsub1k.ltc.db' )
11 |
12 |
13 | puts
14 | puts " #{Inscribe.count} inscribe(s)"
15 | puts " #{Blob.count} blob(s)"
16 | #=> 1000 inscribe(s)
17 | #=> 1000 blob(s)
18 |
19 |
20 | ## try to export inscribes
21 |
22 | Inscribe.all.each do |rec|
23 | print "==> exporting inscribe №#{rec.num} "
24 | print ">#{rec.content_type}< #{number_to_human_size(rec.bytes)} (#{rec.bytes} bytes) "
25 | print "to >#{rec.export_path}<..."
26 | print "\n"
27 | rec.export ## gets saved to ./tmp/.
28 | end
29 |
30 |
31 | puts "bye"
--------------------------------------------------------------------------------
/ltc_sub1k_pepelangelos.rb:
--------------------------------------------------------------------------------
1 | #####
2 | # query ordsub1k.ltc.db (sqlite database with first thousand ordinal litecoin inscriptions)
3 |
4 | $LOAD_PATH.unshift( "../ordlite/lib" )
5 | require 'ordlite'
6 |
7 |
8 | OrdDb.open( './ordsub1k.ltc.db' )
9 |
10 |
11 | puts
12 | puts " #{Inscribe.count} inscribe(s)"
13 | puts " #{Blob.count} blob(s)"
14 | #=> 1000 inscribe(s)
15 | #=> 1000 blob(s)
16 |
17 |
18 | ##
19 | # export all (sub1k) pepelangelo images
20 |
21 | nums = [
22 | 207, 208, 209,
23 | 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
24 | 220, 221, 222, 223, 224, 225, 226, 227, 228,
25 | 236, 237, 238, 239,
26 | 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
27 | 250, 251, 252, 253, 254, 255, 256, 257
28 | ]
29 |
30 | puts " #{nums.size} pepelangelo(s)"
31 | #=> 44 pepelangelo(s)
32 |
33 | nums.each_with_index do |num, i|
34 | inscribe = Inscribe.find_by( num: num )
35 | write_blob( "./tmp4/pepelangelo#{i+1}.jpg", inscribe.content )
36 | end
37 |
38 |
39 | puts "bye"
--------------------------------------------------------------------------------
/ltc_sub1k_punks.rb:
--------------------------------------------------------------------------------
1 | #####
2 | # query ordsub1k.ltc.db (sqlite database with first thousand ordinal litecoin inscriptions)
3 |
4 | $LOAD_PATH.unshift( "../ordlite/lib" )
5 | require 'ordlite'
6 |
7 | require 'pixelart'
8 |
9 |
10 | OrdDb.open( './ordsub1k.ltc.db' )
11 |
12 |
13 | puts
14 | puts " #{Inscribe.count} inscribe(s)"
15 | puts " #{Blob.count} blob(s)"
16 | #=> 1000 inscribe(s)
17 | #=> 1000 blob(s)
18 |
19 | ##
20 | # export all (sub1k) (ordinal?) punk images
21 |
22 | nums = [
23 | 458, 459,
24 | 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
25 | 470, 471, 472, 473, 474, 475, 476, 477, 478,
26 | 487, 488, 489,
27 | 490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
28 | 500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
29 | 510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
30 | 520, 521, 522, 523,
31 | 531, 532, 533, 534, 535, 536, 537, 538, 539,
32 | 540, 541, 542, 548, 549,
33 | 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
34 | 560, 561, 562, 563, 564, 565, 566, 567, 568, 569,
35 | 570, 571,
36 | 580, 581, 582, 583, 584, 585,
37 | ]
38 |
39 | puts " #{nums.size} punk(s)"
40 | #=> 100 punk(s)
41 |
42 |
43 |
44 | nums.each_with_index do |num, i|
45 | inscribe = Inscribe.find_by( num: num )
46 | write_blob( "./i/punk#{i+1}.png", inscribe.content )
47 | write_blob( "./tmp3/punk#{num}.png", inscribe.content )
48 | end
49 |
50 | composite = ImageComposite.new( 10, 10, width: 24,
51 | height: 24 )
52 |
53 | 100.times do |i|
54 | composite << Image.read( "./i/punk#{i+1}.png" )
55 | end
56 |
57 | composite.save( "./i/punks.png" )
58 | composite.zoom(4).save( "./i/punks@4x.png" )
59 |
60 |
61 | ##
62 | # reshuffle matching bitcoin ordinal punks order
63 | #
64 | nums = [
65 | 461, 459, 462, 458, 460, 464, 465, 463, 467, 466,
66 | 476, 470, 475, 472, 478, 474, 469, 473, 477, 471,
67 | 468, 497, 496, 491, 488, 495, 490, 489, 487, 493,
68 | 492, 494, 499, 498, 511, 507, 509, 506, 500, 508,
69 | 503, 504, 502, 501, 505, 510, 521, 522, 513, 512,
70 | 514, 515, 517, 518, 523, 520, 516, 519, 531, 533,
71 | 541, 536, 542, 539, 538, 532, 534, 537, 535, 540,
72 | 551, 556, 549, 554, 552, 555, 557, 550, 558, 559,
73 | 553, 548, 563, 566, 560, 562, 567, 571, 561, 570,
74 | 565, 569, 568, 564, 585, 580, 584, 582, 581, 583,
75 | ]
76 |
77 | composite = ImageComposite.new( 10, 10, width: 24,
78 | height: 24 )
79 |
80 | nums.each do |num|
81 | composite << Image.read( "./tmp3/punk#{num}.png" )
82 | end
83 |
84 | composite.save( "./tmp3/punks.png" )
85 | composite.zoom(4).save( "./tmp3/punks@4x.png" )
86 |
87 |
88 | puts "bye"
--------------------------------------------------------------------------------
/ltc_sub1k_query.rb:
--------------------------------------------------------------------------------
1 | #####
2 | # query ordsub1k.ltc.db (sqlite database with first thousand ordinal litecoin inscriptions)
3 |
4 | $LOAD_PATH.unshift( "../ordlite/lib" )
5 | require 'ordlite'
6 |
7 |
8 |
9 | OrdDb.open( './ordsub1k.ltc.db' )
10 |
11 |
12 | puts
13 | puts " #{Inscribe.count} inscribe(s)"
14 | puts " #{Blob.count} blob(s)"
15 | #=> 1000 inscribe(s)
16 | #=> 1000 blob(s)
17 |
18 |
19 |
20 |
21 | ######
22 | ## query for ten biggest (by bytes) inscriptions
23 |
24 | Inscribe.biggest.limit(10).each do |rec|
25 | print "#{number_to_human_size(rec.bytes)} (#{rec.bytes} bytes) - "
26 | print "Inscribe №#{rec.num} (#{rec.content_type}) - "
27 | print "#{rec.date} - #{rec.fee} fee in litoshis"
28 | print "\n"
29 | end
30 |
31 | puts
32 | pp Inscribe.date_counts ## count_by_date/day
33 |
34 |
35 | ######
36 | ## query for all content types and group by count (descending)
37 |
38 | puts
39 | pp Inscribe.content_type_counts ## count_by_content_type
40 |
41 |
42 |
43 |
44 | inscribes = Inscribe.text
45 | puts " #{inscribes.size} text inscribe(s)"
46 | #=> 16 text inscribe(s)
47 |
48 |
49 | inscribes.each_with_index do |rec, i|
50 | puts "==> [#{i+1}/#{inscribes.size}] text inscribe №#{rec.num} (#{rec.content_type} - #{rec.bytes} bytes):"
51 | puts rec.text
52 | puts
53 | end
54 |
55 |
56 | ## get mimble wimble whitpaper (no. 0) pdf document
57 | inscribe = Inscribe.find_by( num: 0 )
58 | write_blob( "./tmp/mimblewimble.pdf", inscribe.content )
59 |
60 |
61 | puts "bye"
62 |
63 |
--------------------------------------------------------------------------------
/meta/shrooms.csv:
--------------------------------------------------------------------------------
1 | num, hash
2 | 1, 343eec6884a5be860c0c4b73ae978009f6dd96f82882d56b1fd717da59f64f50
3 | 2, 7fa93ee0c96c70d06ef0321dc1a7f313224b5faf469f74cb23faa18ca49f15ee
4 | 3, f822a81a72c5fcd79028dd61f7c8aaf30ddb86b7557df502a498ff857dc19281
5 | 4, 4575c7015eb5fb7cb9053c850f52efda33da45847ff0441c29d207de834cb67d
6 |
7 | 5, 091a5c36fb5b98c42b364cd44238edd4feff3a8f08aa3548ca190a7665801fb8
8 | 6, 7a467be1abaa2112222a3325ea7733604edabd53c10c6e914dc936d0c6d6efab
9 | 7, 8e242644424762774966a18f587d4c7eafcafad258103615e3a66699596c3f56
10 | 8, 92b6338f6eddd7baa668e5f49bc7dc9e3ac9a040179da943240b029965736925
11 |
12 | 9, 5b53b6dd387f473ff7f83cf075c34aae54c6ef5de372aeeaa0146cc3482a9ee3
13 | 10, b420dc8d802428f176c849ee4037952b1b0f30733546f21f2bdc493f170b8b9f
14 | 11, 205b634a80b6ab3b161fce617fe06906ad0827f95ab3e8f60e22f9d19ac0b834
15 | 12, 7ccdf1ef1af9afac9e460f457eec362807201aa63a874eb17fc295084a565597
16 |
17 | 13, 81f5e317cfb5935fa663e811e7802a605d552ac5ea3ff03258ee565b88e28839
18 | 14, c6dd8584157d07a211d4e874a54b50737dfbf82dbb4a4c9a7ec0d03e1711d278
19 | 15, 7b9a4ae6e4a64a34c5a2db453d58121347b6d9042a97e4bc8d3f62c0dce199ce
20 | 16, 9e9277c235b73ab1058b363562ec6a58abf01c6b3bed87055c8781e815ff5e93
21 |
22 | 17, a04f95d18e87aba3435e560ba53d409f8383766017628e4cd7c1c64f924fbf2e
23 | 18, f7c1017a4738822e8f0ee60377ce4351d2c7adaca69cc60858e5c5a55d82373a
24 | 19, b35497fe06a8f5b9da7cfbedf9a13cfac5fab1cb8ca794d00ee2ef5443bca9c5
25 | 20, 398c43e2dd175b000f85ae68ebf31d027d0ceb42c7860fb9e292922bc6b9bda1
26 |
27 | 21, b8a9c61b810bcef59425af0b17ec0c7d376e49066c6591476df65000ea051546
28 | 22, 0d6144783dc449719ca08616ea8a8c50641773578f8e2cd8e06106e42039fa0d
29 | 23, f4e9e0bbfc0244d66c906c11d3c67cac8bf0a84d78eb430f47946e72842035c0
30 | 24, d4d95bfdb26b4a59a5d4dcfdfad90e0b9fa1cf9d28099c63d5aba42f991efe1a
31 |
32 | 25, 22c27bb55385f44249cd3c295b8cc485e95ca01400796721362ee4dd68ad2d4a
33 | 26, 364aa9c14335c711f6f6da3cbdad76cb7a88fbd76c0c7ed733dc40a62d55a674
34 | 27, 5623274fbf1866825e12b8151ac38b702216b34b7f23bee6abbc20daf633795b
35 | 28, 6ad70214906067d458c470c2bccf37aab380b9f66bd69d2d75d89b5b5feb4f27
36 |
37 | 29, 2c576e10848de5be6bf824300e487a67fff91bf7113390c9dc7e6810ea56546a
38 | 30, d0ac485afae4148e345f87d676f780c975e60bf058e4b1b7a599df7f57a3a38d
39 | 31, 715d1fc0ec949e642b3a3fcf48982e85c4b2e9c16c26269b9359376702e4406d
40 | 32, 76ec5d80fc40437a035c1da1ca64dbdb432f5a92187ef4aca06e81fc2cedc041
41 |
42 | 33, 6ac759efd0a9358949d67c6b457b7ded4f860115fb28f39f5648392adf797e95
43 | 34, 645586718c96e7ca27212ec159de8d3e5b3e704f688a980b3aa73f221675dc9b
44 | 35, 8ebb4924023ee6b7aa1bc715eb730951b881e4b76885c0bfabc67faa408be077
45 | 36, 2ccb5cc650a2977a15a28b1f5ec4391268a96d6c61873d603de9413c5e9bfd20
46 |
47 | 37, dd9335fbc35ecc92dd99a695c8ccb8ad6a6df5bc93f5e86741c6916af3036989
48 | 38, 26672fd1abfe02ad010ec181987ce2ae8819c0ab1a393ea96356e04e10072f44
49 | 39, f14f76c67691a25746aa4ae7464d7f0b650e8e5c3113baf8ce5e9f8e680e931d
50 | 40, 626e30d98fdd2c28da120f0c563fc95df77c32640a67f2eb1654d2b2ccf1a098
51 |
52 | 41, 0c58fc992c57272a04ea21905146994592a0fc778495a1c395a171fa957291a4
53 | 42, 2d529de07d2263d8564cf83eb13bb507af69d7f1169f168ed1481a84c66ce7a9
54 | 43, a752c70c022833f8ad64343a1ef97cea0ed36ce353e6731300c2492cbd4a3121
55 | 44, 3a46842ba613d6c3b32b44b57f61db470a731bcaf8ec774680e3df7dc5a6e201
56 |
57 | 45, 2396e06716ea19c9ce995e4103f8f6a21b9361b1e42b2307361f6f3f24ef58f5
58 | 46, a9b9d4b896cbf319844b78a03c40b93e2d641cde00e97451f0f3748d1fed512a
59 | 47, e84e4c26e1e45a7c68e9d9ad904e4e31b8708f894908eeac75d8118535d590aa
60 | 48, 57ac1d88ef0d96412c933be899bd7cb7a0e9c70be03ba709fe660a10b29e69ea
61 |
62 | 49, 3335d2259bfa7d85a5a9a5da5c11711b2d0a89864d7e054b4b77ffed097832c9
63 | 50, 2cfd743a896a8c9c4081dd45c798754a5be07ce178fa33b1924e73d727f79801
64 | 51, 71bcce488be1f7c82fad1e7deba263b3322827c1647bc67d9c998821d09b596f
65 | 52, dd1da092b75324f902e69852d56f8d157e14287e9a9aa555e0473521db9dc53a
66 |
67 | 53, 34d03fdf17c9203b3da9512e5f56d375f243f588b65b779368e59591f50e24e0
68 | 54, 5a924735a950b0b3c28ef20384284b61de5bd21e404f6213648d557992460701
69 | 55, 94a170e6b11bad99ba68392e495350749d5778d5acefaaf0f10a307dd0df84a9
70 | 56, dd47b9d6ccb3d0f984d957597abf0e070683add958a066f8a249da878520b833
71 |
72 | 57, 66a2faf90a8e467c3962210ece3325e412e4b499adaf87d16ac01959316f98d7
73 | 58, 931c6bf217972b31fce4b0a0f51c18bc1a2851aadcc7eeb700860e2bfdf8b408
74 | 59, ba5693355937cfcd086a124344ceeb4d6e9fa5d86d854701ce8fdd867cc29cfa
75 | 60, b79da5d3242a715826977d02534ebda2694cec691fffd083815e8ab79da0c351
76 |
77 | 61, fce88c5b244b98b7e80736563298e8e3ccd264216b49178632058604701d907c
78 | 62, 0ea363f22430b1361202193e65f5521c7e59da1afb3ff0b470476ee4d6be1e03
79 | 63, c9cf64105b85227f1ecde7b9b224fa88e9e121e74e57c4a9b63dabea42b9349f
80 | 64, 8cdb2a34b5ad1f79e20ef4e6b6f6025ae12c7bcf45e8c287f493b1aa8f6fe3db
81 |
82 | 65, 4ef90c81dafa589182604d3dfb5d28081d4ecd299651d45e1ffbb1e0f20092ea
83 | 66, 41967634ae77b367add602b75e4283a302c45ab92d5d4d7930c6aecce5bb5e69
84 | 67, 19a544c6aa219240c920970ad15dbf726f65af075ffb2885ea4338b3010b71fb
85 | 68, cccf0f172866d9d2436e89f7e9109b6add1923e8b5153a792497e2f38e701f62
86 |
87 | 69, cf0ae90b17702552ccce7efb41f265687cd54e195c630288a8bff8663c0fc3b9
88 | 70, 460665e07172101977194f1763b0229b314aa7ac3db039e7a41c718045215de3
89 | 71, b2c6b73557ba346cda9002d8da1bda371f80c759ff67a2b5dd7931f5c2b57f44
90 | 72, e517e3990b16851d60e35d3f43232c9cbe22c0a908e2356c57f82bfeba251b14
91 |
92 | 73, 3e3c7b1a158e1ab8a1f6614b0a57883553a27d3576b802eacf0abcdcdf2e83d3
93 | 74, ba2cdb00e24c991960bb8e806cf4d358958aa942e13bddb54d5361cf12bb3c64
94 | 75, f45c07eb4a98b0ee9524ba1e17290a3ccd7b95d4a4f3bd429849d77612bf50f3
95 | 76, 45e7c555861396d0c8cb828ea2079019b6ed4df019704ea7ed400c81369c3d82
96 |
97 |
98 | 77, 3e8ac82edb9648d983470e465af36aff8929f953b1af0ac596ffaf2755c42fff
99 | 78, 868699ea590fdedd4835ee92090287a5b4296a211d275e0dbfc5d62c23246c3c
100 | 79, 7a1a04744e46214a96fe2e0a9532606d0592145cc80ebae9012983d9fb954d86
101 | 80, a78ea788085e1d6b69cdb425d3b084742685aa6daaa641c345bdbd3f450cd291
102 |
103 | 81, 67bba1bb6d14937a1ecbc5082065f183bec033f76189bf8e9d1edeb6e9dc3dd2
104 | 82, 02f1cbdd1c5f1dd8e0e0906ea7cdf432cc4e3d05391216b351e49a40cdcfc8b6
105 | 83, 2381a49646ca96d9af04b8e0a9ac08950bfe53a98bbe072902ed1c21ffd84b61
106 | 84, 84d33199546f3ccde76733385271f809ad5087c236cc935a0619872953cfd2ec
107 |
108 | 85, 27d3c39978045ef11d6a8ef1d7d24efb3e5262c08f03ec0bea6baa07b5ae4ed4
109 | 86, c46bdf4b8ca2661b9833e363ee8b85cf27dc8dfaf1b14ef635d82ffd4ba8dc6d
110 | 87, 9cbe086d9126666deb33549e2ad9673202ac069705da81755390957e85ed3ac8
111 | 88, d9524803bc414683d2f2baac9bd9962c2f05da3f7cb777a2afaf55bbc9db09af
112 |
113 | 89, 91bce5a66c02fe7dd6516fe970d9a5d3a0a9364da28932780bc980bf8cd01b05
114 | 90, 5ad4a3d37d4bbbe754ea2feab370adbf3a8d4853096b8d0d226a3cddf87486ae
115 | 91, a81c6bf2c9029309804bc95793ebb7bae7a9ac133ef42f29784695064cfc2537
116 | 92, 1c394069dd49eddec53f74bc7b308de72b093e1c3ab7f018f82bdaeff9fb9a91
117 |
118 | 93, 954a2f726cb7df752f02439593e2bfc9982c91216f12eeb6eacbf7c81a2cc171
119 | 94, f38395d7beb7f8ddc60ea50dd594e852c1757017a097cf470bb7c7a4f83a3d51
120 | 95, d95d0d80710812cc2887037e114a933bb7cb82de28644f13e733785cfe4bf9f1
121 | 96, 331311396d3bb0f634c10cd4ade404f0848c9465d6e7ae8590f58693a65347c7
122 |
123 | 97, 4005cbd7c123f84d3411de8ef7fbc209ba8d32ba6353bb34812e893e9393581e
124 | 98, 134c73b6ac202381ef54a1de19691f0edfca9277872198a992b95e7108b64b79
125 | 99, ec025207ca78ca9414f450d5dbdd74e0b5fa115f1944ae9c8b32399b6c456218
126 | 100, 0b500e094d90c759795d07dc17497083a622d110d8fca4af7d4f4e45fe96ec4d
127 |
128 | 101, f11c349c5c448446ba32bb331f323930be7012331a2b78435acf4ff284dc36a6
129 | 102, 6c67c1dd37bbcd8efcfd4d70e3acf65b42d0eee4c9f220c0851809d04ad99080
130 | 103, 0b9c8fe23982a1daaf518e6d1ec6fb9272a3f749fd0063563d40c0279240d698
131 | 104, 51a2e01342256154b768ece5b0bbe2f909de37a700b3c29a3a1c1dac78ad11b4
132 |
133 | 105, 5d9d5e1d311e06c0ee61562efc953bb37c4edeab30ab0fb490dc5c988fc255a2
134 | 106, d22c6bb0f00a849f8a50393c0f3c5fb7a49e9c26d0353a8ccacbaf007164e473
135 | 107, 3bcb4597f744b5c9dd3e11dcc600d620104af177af8cea99f650d73c3a4bda41
136 | 108, 35d4aa5f08eea21b321fad8cad67cd824714228afe2ae7d583168488e4e5b213
137 |
138 | 109, efe2d66dc478e3043f41c0a0bc01050a023639419a101623e6c7fde7073a0582
139 | 110, 19a6aabbbdd950a169e34619030703ddc39ce94d28cbd55225c1d79da38df134
140 | 111, 6cd881184fb7db300a552aee3cab96333ef97cae26a6491120c9ddea63e34acf
141 | 112, a1842dbacfc65b960a935e9e1d97f35b169e5408691eeddeab3bd6a233d17d15
142 |
143 | 113, 55da161b6119267880081d56540a9e1f8847bf4b9ebf037dda861856fd9181d3
144 | 114, 4adf5b9485aac558343cc199c4fab36a3b868d403decbae9af28625084b8ca55
145 | 115, cba9cc735a548bb7332a26e7ad9a9b011818c574b9f672e6cd7bc77e24d12e17
146 | 116, 320c8777db653ed3496c87806e8c72ffa75b4e415ce306e710326f5894fb3ce9
147 |
148 | 117, 57814518745f69ca4e882158182a377d9213acec39608f8ef90bcfb8e180d52a
149 | 118, 6e5895e3148c248942ada6d45441393fcf83697bd3ccb1c0c7998898c3b674c2
150 | 119, 43728a9d0f4190b46b9bd4b62eba022efb4c0386265677aca5f3bc8de15e80af
151 | 120, c519015258238a274d78e49a43b89895c7e1bff6066aa533eec650de7071eb77
152 |
153 | 121, 59d5a5592a79094ce1bb50dcdb03ff58d0bb7c86271d7c4a92dab793a102367e
154 | 122, c242382341eb7185554ed66ac2d43d09a201a04a724205f0306aa408bb3f61ae
155 | 123, 3077492105d732e8791a0fad2bd5e87fe70b373d455d3d3c788f12889de82b15
156 | 124, 0d2cf8713824e9f087856982513ffa382688761061e8aca652e6a204ee4df034
157 |
158 | 125, ee5f521e20f3359cf0fc5bfd508393e92521125178ae5f44417e16935e1942b3
159 | 126, e82d3e69fd843ede2e47e5ee2c6d2ae1165699f746a7a4a8dccaa6ebdbfa938d
160 | 127, 24904eed65da763b3a23135ee78fdde767f58b0dff236ea493a8271ad183673b
161 | 128, 50496d3d3c2d58321bde165f623384a70b9956838f669776ca443ff200a0224e
162 |
163 | 129, 6d071c7c58e1a201057f0c561c91e023f0d713f15141f26aca617eec62b5029a
164 | 130, 717bf49710e44887c51285054b30c7444762a4135e195469310da1b38e671289
165 | 131, 4ac1afdcd285e6f58b365345617f1daa122540600d714c3017dc721359ae4947
166 | 132, 98e9b9fed44cbf3ae0f5377aada7c56d7f2edf1125163338c34e4061c57f72a1
167 |
168 | 133, 45fbb0b8cdb945bf7ea959617be82421a4475faecd091d810a453faf80c8a7c4
169 | 134, 69c882d22c57a5a9bce097da9c32d0c7bdd975167a5fc176998fee412e6ed72f
170 | 135, ac6e36b50b3faf3ba248fce1309348d7bd3b4e6b99d244e7d5d63c0a1da309d4
171 | 136, 5bd8f6cc35a4ce1fdecd763b95ce9cd7713d173a7676af729f8c8423e8af8868
172 |
173 | 137, 226a3fa029609e972524a951c39df3c6d0530a2bda1ab13b8d1cda64568dc5f9
174 | 138, 3d09feb98c3216070161828eba7bb70f8bb9703cd2b5e5923b07fd8186b144f2
175 | 139, 924fdb0b9e86dc70b9def25c169d741efddf10ab0bc7d60624a927eb51f822da
176 | 140, 9dc218898b351261ceff97cb0e36456593de2274fb6768028efbde93866be046
177 |
178 | 141, 1f1b6d748dab648e8b29ee55493a789781177688a54e7fb91107eefa9cc0d0f8
179 | 142, 1c5ebc91b12f5691ed07b6d6f67459e7b703e6b30d9bbcf71431810b2bfec845
180 | 143, e5af2efbbf7affbaf82dcf8df4e3d43785ac0e9fb1a65ce00dce29c7430c8dd7
181 | 144, 173913ede2448f2207e622f8a35f8f541b6c27119121783e734da4c063b8e4ad
182 |
183 | 145, abc3aa99ebd9b16b80665f6c5313a4999af6235e9ce9aa200f9f04dd88982dab
184 | 146, 66a334562700dc9d6254e59665c789e83f20fa287ff597c57f32d3a7015f643b
185 | 147, 7ac0a555ce548c31d5cc214571fa346ec572176c0f35adbc04ec01babe52132b
186 | 148, 41a77abdeae79efc07e3128fee6ee11d2fd946a720a062513e18bc6a1584a618
187 |
188 |
189 | 149, 9b260032312106d0ae57cd366bb8dec75fe1ab09ba211b696642b9e7a2b1d97a
190 | 150, 2a9b3b8997456c84dca62c3e4bc3e414b95a60978709dd3a185cbdc78023f000
191 | 151, d5e909f0bc0b663cfdda96be49b40d9fd634af9649d3a56271c214ee329d1566
192 | 152, 6f02c39ee2d4153abaa838d8a8eec8fecb0668a20d019f81e7124effa7a6c252
193 |
194 | 153, f2e4ff4b89a6975cb9883763af0f235763aa2645bd98bedfa9e9b9ea6300c4b7
195 | 154, 95cfe63ab7d428dfa013bbade475f2bdc129d854600123a549e9bf6ae0f7a9e8
196 | 155, 9a02c827f38d24bbeaae9946edb81a649af0d1ee630d8dd5d3215b18509ca37b
197 | 156, 1fd7e6045e85b181e62cfb72482c193f28f777a7f1a746d1966db06b1c8b1a48
198 |
199 | 157, 91574a16a9355e9117d61b7a116da72c2895e422d692ef39d3e4628e7350a344
200 | 158, 09af0a09fb0e4c99c71b1346c60aaefef05081c74e00b40a79162dac3b664959
201 | 159, 8ddecc71e67c1dab1831f4c0decc6cdd9ffd1ec813317def95cb647ce99e872c
202 | 160, f15223d57a1869da91f0c9e98cd7e67bbdeeadca213b2b11ac2cfa1845c79a7e
203 |
204 | 161, 8bab83c8e596363952ad161afb7b35e77923317fa9ffcce2e5dbf7bf1c550319
205 | 162, 6182f132479914419bf7195721ba604d72b7aad37e67fd805b6a066b6bc2904d
206 | 163, bc57adabf4a31780caed9185d1b87a45b5130ff9aa19511df14e6d5c94980efe
207 | 164, 758fcc97191ca401cdd4c7bcba1ad04b75f2c5c1dac5c448d63e120eb402611d
208 |
209 | 165, bf8e46f6c13f667ac9787288506e67e5f47b371d936bbed4eed787ce4ae72b0c
210 | 166, 8693d704b42bb538bf47e91cf438c5c012870ce2d2257c9e7cdc17bfed6771b6
211 | 167, 2d797707e33431918a88060c4dce96f0a226812ceb8ee3541b56d264a09d87ae
212 | 168, 6f86ec28657fa0a9e11d360f458f9b3a03c99f7029c65f067afd93f54623215e
213 |
214 | 169, e8c088c6d212bdbcfcd47a92f7b67014c78b351f3bb29182bb4972ebed8b0b6e
215 | 170, ebec480ef6cd87e5ccfe01c9a86a6d196133672b76a4ddf4721219149a160fa2
216 | 171, 94fc5cb3d543723bde1c387a96a97ae42617cf6881f2832f2b56388ca8121854
217 | 172, d2b7021d93ad49150f5effd49fd6e4cac1907092b0a1d9d95f70ef28a7934954
218 |
219 | 173, 54aab528257622031fb74825128df60ee5430e63e18ef1fe6d405abc9583ef22
220 | 174, 193665f1df9a512a312ab14a22dbbb25587f2a56097b663d08a6dda4fecf0783
221 | 175, ae8d2b160e62f13691540102fb219d6b7df242c16ce5bee3df15410dce7dfea2
222 | 176, 7e8a6c643be0af91ffd30194199eb565e3a9e2f94ee0df93e31ac8b5e876c45b
223 |
224 | 177, adc362f628cd89b0aec0112d91359a8dec3f5ce7de87d387fc9308552ef871b6
225 | 178, fdbc67e47f5279dc768c4f0d1f19526e29763adcfaa496960ee9fa02ce92b8b8
226 | 179, 6c8fa369e3e0cfeebe13bed40fe4daa68389766209c407c35e2865ef8f8052cd
227 | 180, 6cb8143f73457355110b2c4a919e1aa27b1b998804ef0a75f5f3d8c3eed9a70a
228 |
229 | 181, 20a77bc7cf7c14f48a9bdc6db15f88d70b93d8d632803dd2e034e0624baf1cbe
230 | 182, 17b5ad30ec2f5d05fbe90844e73701c6dc498cfb08b98f5fbad8092ecad57632
231 | 183, 384ddfa001665e0901dee1c8914ece31e0cab49553c6497225d5f51a10356c35
232 | 184, 75c16bf4d055d16ced7fbde44a7aa0becf8edbcee35f8fd487495d681b30fc7c
233 |
234 | 185, dd1bf486727bf621d92ed9532bf8fc352dd281a0809abfe4030caaf1a627b549
235 | 186, 3067fa383c71024fc04614b1524d7f13b408839d8f2b18da47db31437b52edaf
236 | 187, 6559f573affacce09980893070779ccfca02adeb993fecee48077fb3b3aaba5f
237 | 188, 761842422ab39a935e75b6fc05a7e493d8eaaeaabd46edacda612fdea876e3d9
238 |
239 | 189, 88b397f15f19c102727feceae78b3f38e8e6020e5e6f1a4d09ac51855c8f4ce7
240 | 190, 6ff8398d3a08eb32c8055dfbafb5892e46b8b10e22f4b0ac0f1cc917ca452858
241 | 191, d2bcb77f3699b0ed577a3bdc2807bd3520e2aefe24941bc9eaf33775614b7f82
242 | 192, 4b7895cd4b52a7e1c7450e5ebc9bafab463df80ee72bf316dbd4953a3987f63d
243 |
244 | 193, 42597b50ccd93a7e72b8140ead06e8848e6404b1ca7173f229c49a4c4d32df2a
245 | 194, 25ecf2b638a8dd9237f5389ceade0d2804e5e0504d0c8e17ca59ebf45259099f
246 | 195, 27f8a3913d3e1e9b7210a0bfd04fa6dd7d86ab8abd1be75c9ddb22e21a591bd9
247 | 196, 5cf2abd9fe6f1878ee29f317d54e2ca2e5a46ad0417edf8c7e19a5edf0bcc818
248 |
249 | 197, 759bec984fc04e4b045701b3efe922959932323b925ab4c92af09758f616830a
250 | 198, c588bf282a7b242ae58723d87d48dd72d0d3846078f4b60779a30f052b6c2335
251 | 199, c6ad4caefc07bba573542bae792950256b17311d55e573f40842bb824154550c
252 | 200, a0e3c7bf546e8edefbd1674341ea93ef3c76460c9d7821d606bb228806fb67dd
253 |
254 | 201, 7bad6b00873d673a48a137a8baaab1131f342a5ebf446c17660fc85da2cf4f6f
255 | 202, 6361430a01b6f827518618acb1ab53257fd8decfb9cfa8d9170045a1ece954ec
256 | 203, e714968924b347054534c5186952c0f976808a875a5f2614943e4f1d52abed9d
257 | 204, 75fccb856b6c44f5611c083bd7a66252ebaa97127b76f9ea89c9a10a6535bf29
258 |
259 | 205, ffa15b4c691d92b3c21128e7dd73c7311bcd06182c60553abb4a90b6b3c0a537
260 | 206, 7fdcf91b6a1940489ac69aa94d381ff37e896908898d2b1c00aa0774b6a78bef
261 | 207, 1d7cd9ae89616754a8429de7e28d1d7bffea85b8ccc414a90799685e8e9241df
262 | 208, 0f0fda8c178daea2a2a4a2a8daafc79812a277f5955720e9c78891d67e07a255
263 |
264 | 209, 4843cf582cd8d354bee438268aa67f25d3974e63ccf042bf23bc32df6049120e
265 | 210, a2c3d36478198914f8e36903bb5a4de7c65e66510a651cfbb0399b7417ac6cb5
--------------------------------------------------------------------------------
/meta/shrooms_inscriptions.csv:
--------------------------------------------------------------------------------
1 | num,id
2 | 1,4274d9590540aacf296bf2c7b4c77c6c29890c3482e91f23d0f88259cfe06ff1i0
3 | 2,3e09304a3e95dba5462bd7eeba843b9de6fdb4b0893d9d76b1069d4ef403c963i0
4 | 3,7dd81997ea80ada5686ae16752a416c741674bc881b7d3331f13f1265ea6bf7fi0
5 | 4,80c50933106c8fc99e245edacb5241a3abd191b192cc891ef5ac0c27e61ed749i0
6 | 5,f304c1ddd245cb093c59723baea1ed181ffc5a8fbb80394d451bb8a4575b82efi0
7 | 6,e531de2dd25c95b18e07296b66ddf707b9f55fc0779f373d698e8de1af080782i0
8 | 7,dcbea41c522c8c2ad74080483df45a256a804839297e8eff09b5681219aed5a2i0
9 | 8,3e5fc1666c22d0f4977fe8d971f04276647a66f02a1fe0ae5254a55d58a1f988i0
10 | 9,30820e9ab35cfeb26df2fbad76c5ccbb21110e167410f56ff37613fa05cb0697i0
11 | 10,6556ae0a6ab51a4aa4028a137a5e9119b174e1b3ca5005a17f2e0ba7ced61602i0
12 | 11,7dd995f0e4c0951152df68f42674f75f94baf7afa719c8636d65c5353c18c379i0
13 | 12,d37127bdffed4d79e9efb6a23534d9346f15c051b6be9d5d68db42178fa7d636i0
14 | 13,a904cbccf237096d596d7e45f8712a80e6bf2f73c6b172e2ef2b5b4feceadef0i0
15 | 14,31523e5ce7d50081aea13cc2a52bded76a694ea5be7f7f78e083dba33af2abf9i0
16 | 15,2b1243abaa5a1d450d887c632ab0d38c5420a9f313cbbadec2c0b8cabcc5dbc2i0
17 | 16,2b8418c9cea4f1e488e804b7596e2fd607a74d5dbd1fef071a02194a1884637ai0
18 | 17,7805eb9d8552a595f43a9c110f3e386e40c88fddf0934e92b2ce69403542f4ffi0
19 | 18,9a41d4bab8f932c05f2622854320523666bdbcb63094d82b1280728de081210ei0
20 | 19,e417bb379bd336e6e6690dccb1cfd360467bf7c7eeb863b349afa1f62f5a14b6i0
21 | 20,3398f77cc5dc275aafb9e4bf651eb9f1a77502afdcebe6ee6ee8db5044e970c1i0
22 | 21,9bfe88c4d5ee37591d1ac542f7d37823de63747a5f59cb6e08091bff6f5c9ef4i0
23 | 22,cab1a21c5ade497d260a6d72f27d3059106303bd31e1bfabd42beea8fc081acei0
24 | 23,5a0a8b1774c598b5765ff9445da99b8f4e7cc006e40352362fe0e7de550d3093i0
25 | 24,90aab09bb4dbe6bb04af8a75bf8df58580df5c38917163f95697ac984f874ddai0
26 | 25,3dcb88953ad900ec6d04d779740fb40b8a963de62fc0902f60ac27bc836ea782i0
27 | 26,f8ee04ef705579ccee9e3b94ab5f2e08184e3d8632267e8e324c371cf3b6759bi0
28 | 27,53170e742b954ccd094e414395e442a663633ec559016fc16c93910ef7c9d638i0
29 | 28,598ba2289efc7203940f9ce0fba0f63f61b3a4247af881744d15c0256d088c2fi0
30 | 29,40cea59a137140298d398c364d462d729c810bd3efa2a33847f16ac64dec465bi0
31 | 30,ff2019b88eb72ffad01153557acb3e2541af657e7bccc6d045d25cacefc62dbei0
32 | 31,280b178b820f77fb24f32a83eecddbb7d8410263de6fffb75e6e1734906d5841i0
33 | 32,3bc36717763bd5393d35676b25684757df93a8b943cdc26d14fc6981477282b7i0
34 | 33,13cceed09a0de0a2c77c8702605d1d3e534697954db0b16de9df77c7e0e3a616i0
35 | 34,87fa13ea24617e1d1491372475ca547d1f6106fb785c62322981f9597d13b04di0
36 | 35,b107e34fc25522655ae4e871ebb3ec34e2b28dabbfea4a03285e766bea3cdc8ei0
37 | 36,040f4431ac036799a6e24784817f22d995aa6d88b6623575658b3e4667df405ei0
38 | 37,0c93f4124753725c245e632e689aef7307f7aadd1dc39cca97fd5f3fc2525d4di0
39 | 38,e0d1590ce3053ec9c150818a24946e81af3b431f0136a57106212e187712c69ei0
40 | 39,4aad974e926a933575df545cc7cf5bc5f7510b804bdc8547d700ccbbdeb1d137i0
41 | 40,2e424a279a6d4ed68c06a1f38310d0b4df90d90236bdfba94eaeeaf15370b17di0
42 | 41,5800c7d8d0a2dd63b76c62ac87c16ebe60516d31d2b4debca99e2ea4f706fef0i0
43 | 42,d663a2355c743d91723f68a32bf7139216bdf3da1fe0fd481501e6860e35d7bei0
44 | 43,5edbc4cddee9c458cd013f33e85b338113a48d67def613bc7dbe67b379918dedi0
45 | 44,3bd8192138889726be9b5cd2ccc427bddf46c30427a68bd08bea756f80a7e1aai0
46 | 45,e987d38a0a7aabbff2128bd06b4378904bcb88882d1196aa963744690e662758i0
47 | 46,81fa29c383490ccdb7c7d9da9fccb7ec1e2669b701be9a212343002d3984cedai0
48 | 47,b0a236407a270720cb4568dadd99a1fceeba52b32c1e8a33a60ff98f12750eaci0
49 | 48,11a022fadd4d4ea2c802dc8fe79dcb356a24cec51e90da5b939276f049733418i0
50 | 49,70739b968ec7e35d5b4e916fa99b1be49053461a7517707e8364cbdb9c485d18i0
51 | 50,bf97367db09c342a2f8bafee0ce78992a2a6432d729cd263c1cf3f6a258631f0i0
52 | 51,17cfc57fe081af688f6d36b1fa528b5fa580eac8786a7d762379abcb3d4734e0i0
53 | 52,8b4a33ff99ec5794ae51fcf2e2d56457318bd721e907f8cfeab25e69d9831fdfi0
54 | 53,bc468a8c8b46e3864be88eb845a3ff5e86595b71a43ab80af165a2621f02dd57i0
55 | 54,8dbc5499f21592d56022f2b97a933eddf9d7a8d0c93bc780760d88d1afdd4c4bi0
56 | 55,047b71f2d612af8f99e0b8981c2f392331b5ab4222c040d4241e8d64892b451ei0
57 | 56,5a357f23ef7345bdd2d65e6338f0ac620555be224d73f79573705194a31dc2d0i0
58 | 57,6fa6825a2dd18082b6e74b0be2116bfc12c26699b25e8cad50728527ff465846i0
59 | 58,0463ac822fcc453f9604dd1213d038e2ebb71602e2fb6d841510f3038f8ff8fai0
60 | 59,4260557fe95e4f61384f6048e96afd9cf21aac62b81fcc0e694f0849651da2e3i0
61 | 60,7d0657e82fc2358d84cad698a4c7361f529c48cd469a28243e465fd36e6c7294i0
62 | 61,e9f692a7a848a9dbd94d7f9c04c7cd5ae0498056489a620ffabd5f97a1d4c0bai0
63 | 62,b77f7fc1de82217d7f637bc3e3cf94feed91c9b7f73f33f463e62f8d4db866dfi0
64 | 63,1a783fe55eb0071d13f9c95b1b714460ef5165dbd7ba8bddbfd6f3f6c830c577i0
65 | 64,e240f5ed2d8b39e8fe36793c481f8d21dd925f8b31a1e1b351ad2ad4667694c2i0
66 | 65,e9ec61aa4225b8ee29f0573f579b2e97d5d5f2f797622d57b54ca6a01d91f961i0
67 | 66,2bd8f7de63d1976642ef703424c9ab0fa702f74488b9b95e7a98c22f37417092i0
68 | 67,6b0ab1ea181d59c3e406a97f1e8212cd8a7bf7c4ddbcab2d7c3c396a8aea0baci0
69 | 68,bbfc37d256f584668ef92ac47f99f6ca7138986f5c697c4224371cc389de847ai0
70 | 69,08c1297ae852be38bd6b65e0d8dcd052a5b25d51fa00698afd41f2a4695413eci0
71 | 70,ddb0b3eacd632f1aaaf98f87a23124e66aaaa31f8199675bf44a12cfcd1873dei0
72 | 71,ea76e6272118ba404c3a6454d64dc8402b699481d3eb880640055b4a31252beei0
73 | 72,208bb4a0441738fe185cc3c50c9f1cfc2cc4eeb0557f2a07fc38755a42751268i0
74 | 73,215c128d8ad6c5ed7765490d12bd372d172a9beb35c1d05bbff16018727c1641i0
75 | 74,a4f2941f25801bfb3fc98162ef1f4ae30fe2cd197635384326ea24efa6d2f118i0
76 | 75,ada529f85c5ff8d4b5250aafacea264844e736589bdf81f4061a22611d7a95a3i0
77 | 76,2e878a0117e1515e7d2ce15a95889108eb8ea37cf6c6652aec10f57ce9f51d29i0
78 | 77,8a8454a0c3d9e7419cf773548a9a85d26c87e2520acb154f67b720c5e851988ei0
79 | 78,ef2f4061ff59ca1c578d211417fc9fc2764be1290588f2c8af417540e63ba35ei0
80 | 79,009fbbbdbbefd023d3585da00686a1605b397d0f4f9c9950d188a79ccb340f5ci0
81 | 80,8f45adec5785ce611dadbdc752bef16361cf3aff4baa53ecf07a5429786dfbaai0
82 | 81,4b8ef551a438afd2c02be3532036ea3dfa634f728211f38d8ed97237bff39df2i0
83 | 82,fc4ee6acb423e2ed6df25ded0d806278db7ae81a56ddd67f072c2e94465b912ai0
84 | 83,0b69e97514d64080c9e402ccfb3796f016dcad76d4babb6b348189d17e6fd3d6i0
85 | 84,ae72e53aa20dca324236d203285a05c4e66000fffe5f4dc1351880f7b1da4827i0
86 | 85,6964e8f582e717d8c9fd4021e50e411c6cc23a9bb7cd65b0983f4833f425c5c2i0
87 | 86,890e6644eb08f0c9bfe747c4bd8302734e9f9b9562fa4063681c3a988a89a52ai0
88 | 87,f400188826e5cae19258fa61755c6e3c4d3f1531be83bda086f6e85aa2977e57i0
89 | 88,dca282c5c3bb60ae491dd89b9fb55f719d65fa83074de63f0bd57bf3a83de318i0
90 | 89,00ea3921b058cb9c03751ae4031e11eb3b998117740c696c5029b6d766e738b0i0
91 | 90,925d034a9f1ce7a3288ce50e30cb4395a159129e8d5f7352058bcebff83904b3i0
92 | 91,5b780d270932584e63a436fbcb54048c9f3e6a4a50703189373e0536bba9d144i0
93 | 92,7b4439f0c0d68dd2d4273612ba39d4e5e4c4a5cd672208b383ac3a54584da31fi0
94 | 93,e642b444828a712d03c92a5d29b5c897015e9928da2a957e6e091782efbb6abbi0
95 | 94,ba015809a9e8a341137fc30a54c579ebc40b9fbd65b267901b26b0f0b23ea2f9i0
96 | 95,e625070f80c521cdc3608025c2df3e47715c71d9f03cbe37d8a86352b24ee5cci0
97 | 96,e289af4f868262285276f17980f5fbd144d4714114f354d7ba93b7669f647840i0
98 | 97,ea60efe376e89e6ab3e49c4c5de4cb36bfa27a5cba9fff46a69ff7c5edfad139i0
99 | 98,2e16ee2f4daaffb382e894ab6175046cf321c60d90702dc59380ac25e101d7a7i0
100 | 99,3862e58aa934622a4a152f9efed05444e9886309f898d28991a38615c140778bi0
101 | 100,5719c104a7482346195204a149252929e4892f71715bb253e3bf052afafc46a1i0
102 | 101,f6510b5330c2067cce46d0c26fbcc6e090efba080e4bbc363d75a95bc8ce4efai0
103 | 102,9d1ac5477000a9b43c8d67e16e9a7578538e57dda74bf250052996473139d53bi0
104 | 103,c97ac24dd72fc55d0dcaa446d857af6c2e90f0cb74d281aecc1f5418a7702d72i0
105 | 104,5a18316af7f5a2f0d7b5fbbb9e1b97db2e8b2506956a17500a7816cd35d90823i0
106 | 105,ac92938a269994e3579e77c737229c297d1435e63751e61483b8e5dc480dec5bi0
107 | 106,456c247c89c2dbb5baabba1abf92cf31996996433544910bf8f7d126229e451ai0
108 | 107,78770cafac70c9d5d03286fc714e74bcf64a6ff5beaac0a242e757235ff1125di0
109 | 108,294f23f487b0dfec9b450f291b1b25e72959458927bd45c1da4d544f2e8aa0c8i0
110 | 109,70444f47314d6c3487ef6e96b622acc9dc008dfa96cb0cd5a0c160d79b64d4c1i0
111 | 110,ef962cc6c2103148adc4975fb78a15ab4b5b9c18a64c84091a26d06e8ba4db46i0
112 | 111,9d898adf571cabd3797ea24b37c99b1f54bbda26bcf19043f3ab2eee05a4588fi0
113 | 112,2cd080640ae1b9a02c20a87a8e715c9c66dac6fd577de0512ad2dd0f7ba23b85i0
114 | 113,9dbfb2c7e604fe7a5cf8e7201a19a12a249a003a152b81bff1410f5b61164224i0
115 | 114,f37323b57709ab75f9a37a4023e209fe66b2f39ea0698d83d4e1dd8054aec016i0
116 | 115,df11ba2e1fa9446d364a29bce49f8ec2eafb0f90e4b1bca86ded6bdea4af5994i0
117 | 116,125a3ceda3e3927e48f5ec787d0b78dfb4fce8fd7a177759b19c10c3f0657895i0
118 | 117,8a0dedf02018ebb30949991976ffaf820ab69943922e45b96f8de7de58083a01i0
119 | 118,b48a401e19e89a1d49f23852fb6452b358f6a7a69afa348978b338cb04c82ea9i0
120 | 119,7cf2b4ed476356cb6ef671a6704c1c30d3054bc3b74f8b0d9935881783083314i0
121 | 120,33a0787027349df1303a63762f921e44b69bc246139a4b3d390131ec61f96695i0
122 | 121,3f54842de03a39d9119377e30ce9cc67023cea605f0b0e6b0da2b459e14dc9b6i0
123 | 122,e9e87e679767f23a63ef379ff7c3c06850bd7542b8dd9eae04851a0f89e7c8eci0
124 | 123,ffbb7bbccb9bf892281f8511a85d7819689c8c60e438b775c5ec5afa440c36b4i0
125 | 124,140e30cffa2cec2bd34672757e41a8ec30a9613ac752e7453729fb18397ba9b4i0
126 | 125,79d29fc279071440ef95c752cc3c3707fda3dff6947983149f3ca242a61d0533i0
127 | 126,36239c9dfbf2673b4e6f60d52380a2afc5b55910dfe1f261bf8cf796bae636d9i0
128 | 127,150c38616ab211194b57789342edd9859a6651319a9fddf7b9720e87ea86c69ai0
129 | 128,9f72d1d52811ff7c6d4d2f72b21a1ee799331c9a26b08e48a90307cab6b3dddci0
130 | 129,f328115d9e5f2ef6b00f360c2016894c26d72d1bfe400111e921167abb0a64b3i0
131 | 130,68892468cfab2df53a24cdd1d00f09b36a5a804311034189412163dca83686d3i0
132 | 131,3349ce090428ea5c125430200f8a8f9f4f692b480682b403778496e310c5c854i0
133 | 132,5b8d7b9f17fa8bda323ffea1109b63b832345c0988d40d2b571d69f59b103327i0
134 | 133,99936d3dac64564aefe4ae01b6aa868cd5f298300bd0e7dc4fe48637756adda8i0
135 | 134,d533670e949cffd7c1f8b4e5929997b100242285c267682d6d5182e18b52a6c3i0
136 | 135,f4e90cf90886efab212d5e04a36cc9a956260437d9facee376b7288b94b89b89i0
137 | 136,d0308b70abc584c023f5981e31f017e520e84cafa36637313a94b8981e0fcb32i0
138 | 137,ac43a63b53cf135c428c334fdef74721f1d8da9f9d5db32787c58eade5c2bb11i0
139 | 138,b18c87526129375e21cac391d0cd1ccad6efba5bf995bbeaed0526adb64d7538i0
140 | 139,dbe9b1cf8b5cbd625c1f4dc4510635be3279554fe1ddaf564b97a7c816b90c42i0
141 | 140,422a57e0792ee23507898c644481cc4dd4772fe93cda1a6c5b6caaff75797430i0
142 | 141,2030cc286f0cdb746e4dc6cef059fd1c89271ee5846fa91c30cd5b508b754053i0
143 | 142,d23da189b4bb2cae029d1b5b5e777e9b1b818e1deb6cb6b429c0377085b259c4i0
144 | 143,a9fa1e27fac4c5d31f7f8891ce8a789c8969c085bffca47644e0de0d8e221f30i0
145 | 144,5d2ccc42f9701dcfa0e75031123a5805f4c2c7e9fe7b031df4cabf1d190f720fi0
146 | 145,fefed83653aa4b1cdca5b5683d3e1431803783fe115134ff768f7da3286dee97i0
147 | 146,93c2e9e66587cf6ea5a26d686dd21a3b83926dd814ac645ace4ef74c7e8490f4i0
148 | 147,41ad938fe4b2cd0f4214e6541584d0d02abce5e6d1aa2bec9cf7a7e9ccb11314i0
149 | 148,d080f9aa909aa6a2e498d5db8326f2a0817d9f27bc20bade8c8e8cdf3c4aa128i0
150 | 149,ca2958730189a077bde190e52d56b644fed866adda6195a95156d83fd1effbf3i0
151 | 150,cfc41ce8122e6e27bb890dfc71bc26ee44700f0cf8106e14d25262a2906acfd1i0
152 | 151,71dc1e2366b5f50d0d52f4a58a7d1f7376727933bcf19ab9650612ed2342c6c5i0
153 | 152,fb9ec168148bfa116e62118260e348387f51efe38b5433c0219b64cd7a8d654fi0
154 | 153,432fb04d8444859e4f1e21daafe29881c6102272be67f9728b99c0defdf80d07i0
155 | 154,e074e1ff25b5fd6043770340af96810b1720a7941f1220fae25b9b817e56af6bi0
156 | 155,eb45e6e3bf723d61179d39ba5a86eba9fef9a8d72ba64a848aeef0ad3217a258i0
157 | 156,b3001e337aea4c3e1e2ed5f3d48da7fa9b5a532c739ac522e490526a33a9c63ei0
158 | 157,be79c9529dd0f89343122404487c7b57dd31a322143149fba68c70a9c79fddedi0
159 | 158,c0fb170c0b298ec9229f90a43ec9388a16aada367d4548ad5723ea837f0fcfc0i0
160 | 159,c2135a6a041fb265b99bf083ac14f13e87f29d519972be0b6839acd415476077i0
161 | 160,f58d9e5003d5c2555e89fe24c582e7e17a00df15e0bc54aec6755d38ceb3059ci0
162 | 161,a48c0ee607a6d2e68e23d75331ff04b00fe2d24e60d20da97ba9b1e98970b261i0
163 | 162,2dfd65c83bcc87c81ca1bfeb5aee5ca68ae54fade1537511c06349b77be11cfai0
164 | 163,b8ade8c27a36ec803f3d698b7495ffc849d806d656c7f710e168ab7767167a09i0
165 | 164,6ee6a41ab1897bdbad61a50d92d3fefc189aa8e620eaf6d3247acdc94784038di0
166 | 165,61401816f7e14a182e73febf3dbb330df328043e72359bf043ec13541703e8d6i0
167 | 166,6a544484c8b45d7fd6a65166e5b1f54d888dfa8ab43bf0bf485229126465ba14i0
168 | 167,3d4b70b5db08e2a0aae8802beb64ba2a969025524167b824e67c8f2b05e5e7e4i0
169 | 168,72221419a168485e49c76b27120dbd8a912e33cfe4ab49c2fab68603030ab69di0
170 | 169,6969fbb0558efae10d2a22c42ed8e23ad9de619f694889b2f842767ebdc42973i0
171 | 170,1bab51f86d723e305308ac2249a18f891101e684c3ea592fcaaff5dfa0bd3032i0
172 | 171,82ae2a94ef175958ebf5d5b1d3d60b017181546bcac85516fedc124a3041df96i0
173 | 172,9f5848c6dc09bf9bb6a3ab1f7d374da8df0b4a468f728abde12b49313601497ei0
174 | 173,a0e8054faefb0e341620280340cc0dd94fd1f6ea2f4dc248917945dfd82c74d3i0
175 | 174,62480b12d9f3010278939bc5ed9275c5d05fb6716aaf6ba30cae2effae6478b6i0
176 | 175,5db578d322fe789a5a59e7717bacf39c224499efe34091e6545eeead36bf92e7i0
177 | 176,b64099dd9236c4092599d57031dd068abdb20cd862bcdd24dbe11d927deb4f10i0
178 | 177,1ed39b3b2f8e21b6798063c3b102b43eaa88ddf1da8198b55f38391ddc57228di0
179 | 178,cfe48aa6252c17b706dc9c345fbed1cfa20351de3cda06d14adc851d6262746ai0
180 | 179,59ee7d373f0dbad6f2d5f15064ecc32f1fd2d77c9efd0b43163a79b598c60d82i0
181 | 180,9be7037be53f3b54b7eecdca5bf38897900b9cab022c68324ceb956d5e0d98a0i0
182 | 181,1ae3ce7c6d0ebe7388979f4bdb60cfb0c8654685e4d9d19543fcaf4b3928a018i0
183 | 182,d0d5624a74c896d27f8f7331f17e02dab82df3fef59e8cb56f7bf2da06559725i0
184 | 183,7a769c282f051eda5e608380d7c1a055421975ad393597fd79466e90b820ea35i0
185 | 184,01b5da6db409b61fe01d1846c9246f31565ab34559c97e31ac98ce2c646a94e9i0
186 | 185,8fe0aea45240f62f54b6ec4cce4288e3b2223f72d645a595f7e7b9a744a0caffi0
187 | 186,4af5d25017a5c71d1333925ea29b79a18d36548597fc4f03e6a23f2d740547c7i0
188 | 187,8ea0749c068c6efddb930eeeb9f4de60ee09a26608761cd2579f70ad2d4ee632i0
189 | 188,6e58dceb8a884e6d4184d9025ed8c38ecf95f29e52f15f87c0b6319a5ca66331i0
190 | 189,a0c7d2848789ad20bf60a201d12eeafd9f37fe9105b3ab414923eca8ee133beei0
191 | 190,8c9b1c1fefbb5291e4578d4ff8d7706e106c622c525cf2e7c35d4ad4a5fbe565i0
192 | 191,b40b79d6d8e716cfefb26ea6ab012068c44a297c88acf136cae75fe71cf031cci0
193 | 192,08256a7d132ea8ee4eddd20444ef43a8df3be2ab3bc8d1fc9c416ee359a46ca2i0
194 | 193,9d5283e1ad63fd1dad0d3280c671f94db1ad8237f5b7a276fd5cd50d209cd3cbi0
195 | 194,e70a5a56e9e05b8d0c47380e5434337fbfb7977be234830f515545fc3e1afe54i0
196 | 195,01824443054f35e57864354cbb7063ae976c60cc8faec09d8b1d8cf83aaf7bc8i0
197 | 196,2807ac74213d2e9e4b86b7fc121edf7a94c66bc11a8142f851e5d7162d357333i0
198 | 197,1b588172889d3fd11643e84b226a9557d16570bee39dc458a698e3e388d25b5ei0
199 | 198,2291199e3a12e8716210e0b9a7aac03369782c16e3b19c4a666de01e4b3220c4i0
200 | 199,1da61965b6b4578c0f21fbaa520c229a938fb2949135db8c0fceb3c3692e8ed3i0
201 | 200,a45a9d29454ee94760a740859b1738b14920d87c148157f77d166733421c3329i0
202 | 201,5e44419e466bffeff375fcc26d699ea1c807f4dff791792628661ec3777cd38bi0
203 | 202,2fc28d0fc53e12a768e0eb7c5d854412228bb9c541077aa56e288e6bbf7c2702i0
204 | 203,a5bd03fa4371becab44b1ae36e050c129abe3f1ea113bc0279f6048f7e776313i0
205 | 204,ba746eb48c4912701a7884c80697f18539847ce69c0748fa181d32b7a6a98e4bi0
206 | 205,595a9b6dd637514cc6ba40fd9744ece9affd165a7f7c9a72c162e58343b3c282i0
207 | 206,12cd8d478df26eec4f23576c4a0af31e818b2be984164d27461740786f300847i0
208 | 207,761afe102da56e6f2f3cf0cfbb58a5569db0999d7b2f9a67b7589fc67430bcb3i0
209 | 208,39256f1db266b1772b0d853ad8670f32d52320e4dcf181bc57a427536198f1d6i0
210 | 209,567295a1728b589ea6fad9a53377be98377984378b0f99efceaf896e0d5910c7i0
211 | 210,55def50c58b686c23ccf0fd4b15c062f2d13ac55d70d0372deed58e2dac89a88i0
212 |
--------------------------------------------------------------------------------
/sandbox/prepare_btc_sub1k.rb:
--------------------------------------------------------------------------------
1 | require 'ordinals'
2 |
3 |
4 | ids = []
5 |
6 | [99,199,299,399,499,599,699,799,899,999].each_with_index do |offset|
7 | ids += Ordinals.inscription_ids( offset: offset )
8 | end
9 | puts
10 | puts " #{ids.size} inscribe id(s)"
11 |
12 | ##
13 | ## save as .csv tabular dataset
14 | buf = "id\n"
15 | ids.each { |id| buf << "#{id}\n" }
16 |
17 | write_text( "./tmp/sub1k_inscriptions.csv", buf )
18 |
19 |
20 | puts "bye"
21 |
--------------------------------------------------------------------------------
/sandbox/prepare_ltc_sub1k.rb:
--------------------------------------------------------------------------------
1 | require 'ordinals'
2 |
3 |
4 | Ordinals.chain = :ltc
5 |
6 | ids = []
7 |
8 | [99,199,299,399,499,599,699,799,899,999].each_with_index do |offset|
9 | ids += Ordinals.inscription_ids( offset: offset )
10 | end
11 | puts
12 | puts " #{ids.size} inscribe id(s)"
13 |
14 | ##
15 | ## save as .csv tabular dataset
16 | buf = "id\n"
17 | ids.each { |id| buf << "#{id}\n" }
18 |
19 | write_text( "./tmp/sub1k_inscriptions.ltc.csv", buf )
20 |
21 |
22 | puts "bye"
23 |
--------------------------------------------------------------------------------
/sub1k.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | [« Programming (Bitcoin) Ordinals - Step-by-Step Book / Guide](./)
4 |
5 |
6 |
7 | # Sub 1k - Inside The First Thousand Ordinal Inscriptions
8 |
9 |
10 | Let's explore the first thousand (bitcoin) ordinal inscriptions
11 | from [inscription №0](https://ordinals.com/inscription/6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0)
12 | to [inscription №999](https://ordinals.com/inscription/48b74ff588de917d4fe4ae2310a7c5c5ec566aece16425d9bc401ed5fd00800ai0).
13 |
14 |
15 | Looking for the litecoin (ltc) edition? See [Sub 1k - Inside the first thousand litecoin ordinal inscripitons »](ltc_sub1k.md)
16 |
17 |
18 | ## Step 0: Let's build the sub1k (SQL) database (ordlite / sqlite)
19 |
20 | Let's setup and build from scratch / zero
21 | a single-file SQLite database (e.g. `òrdsub1k.db`) with
22 | the first thousand ordinal inscriptions,
23 | that is, all metadata and (content) blobs, that is, images or text or audio or whatever.
24 |
25 | To fetch the inscription metadata and content blobs
26 | let's use the ordinals.com api wrapper / client, that is,
27 | the [ordinals gem](https://github.com/ordbase/ordbase/tree/master/ordinals).
28 |
29 | To setup and build the SQL schema / tables
30 | and insert (& update) all database records let's use
31 | the ordinals sqlite database helpers & machinery, that is, the [ordlite gem](https://github.com/ordbase/ordbase/tree/master/ordlite).
32 |
33 |
34 | Let's get started:
35 |
36 | ``` ruby
37 | require 'ordlite'
38 |
39 |
40 | OrdDb.open( './ordsub1k.db' )
41 |
42 | puts
43 | puts " #{Inscribe.count} inscribe(s)"
44 | puts " #{Blob.count} blob(s)"
45 | #=> 0 inscribe(s)
46 | #=> 0 blob(s)
47 |
48 |
49 | ## import listed inscripiton ids (fetch via ordinals.com api)
50 | OrdDb.import_csv( "./meta/sub1k_inscriptions.csv" )
51 |
52 | puts
53 | puts " #{Inscribe.count} inscribe(s)"
54 | puts " #{Blob.count} blob(s)"
55 | #=> 1000 inscribe(s)
56 | #=> 1000 blob(s)
57 | ```
58 |
59 | Show time! Let's run the [`sub1k_build` script](sub1k_build.rb) and
60 | once
61 | all 1000×2, that is, 2000 web (api) requests are processed
62 | you will have a copy of all sub1k ordinal inscriptions with all metadata and content blobs in a single-file SQLite database (about 40 MB).
63 |
64 |
65 |
66 | ## Let's query and analyze the sub1k inscriptions via SQL
67 |
68 |
69 | Let's try a test run ...
70 |
71 | ``` ruby
72 | require 'ordlite'
73 |
74 |
75 | OrdDb.open( './ordsub1k.db' )
76 |
77 | puts
78 | puts " #{Inscribe.count} inscribe(s)"
79 | puts " #{Blob.count} blob(s)"
80 | #=> 1000 inscribe(s)
81 | #=> 1000 blob(s)
82 | ```
83 |
84 |
85 | Let's query for the ten biggest (by bytes) inscriptions
86 | (and pretty print the result):
87 |
88 | ```ruby
89 | Inscribe.biggest.limit(10).each do |rec|
90 | print "#{number_to_human_size(rec.bytes)} (#{rec.bytes} bytes) - "
91 | print "Inscribe №#{rec.num} (#{rec.content_type}) - "
92 | print "#{rec.date} - #{rec.fee} fee in sats"
93 | print "\n"
94 | end
95 | ```
96 |
97 | or in vanilla SQL:
98 |
99 | ``` sql
100 | SELECT *
101 | FROM inscribes
102 | ORDER BY bytes DESC
103 | LIMIT 10
104 | ```
105 |
106 | resulting in:
107 |
108 | ```
109 | 3.73 MB (3915537 bytes) - Inscribe №652 (image/jpeg) - 2023-02-01 20:38:33 - 0 fee in sats
110 | 385 KB (394718 bytes) - Inscribe №978 (application/epub+zip) - 2023-02-02 06:46:04 - 109325 fee in sats
111 | 385 KB (394479 bytes) - Inscribe №546 (image/gif) - 2023-02-01 10:41:50 - 1489860 fee in sats
112 | 385 KB (394440 bytes) - Inscribe №833 (image/png) - 2023-02-02 01:13:51 - 99314 fee in sats
113 | 381 KB (389858 bytes) - Inscribe №388 (image/jpeg) - 2023-01-31 14:01:38 - 981620 fee in sats
114 | 379 KB (388417 bytes) - Inscribe №291 (image/gif) - 2023-01-30 17:58:54 - 586794 fee in sats
115 | 378 KB (386858 bytes) - Inscribe №857 (image/png) - 2023-02-02 01:17:54 - 97407 fee in sats
116 | 374 KB (383322 bytes) - Inscribe №538 (image/jpeg) - 2023-02-01 10:20:28 - 96519 fee in sats
117 | 367 KB (375414 bytes) - Inscribe №378 (image/gif) - 2023-01-31 09:47:55 - 945300 fee in sats
118 | 365 KB (373504 bytes) - Inscribe №288 (image/jpeg) - 2023-01-30 16:51:46 - 94050 fee in sats
119 | ```
120 |
121 |
122 | Let's query for all inscriptions grouped by date (day) and dump the results:
123 |
124 | ```ruby
125 | pp Inscribe.counts_by_date ## or count_by_day
126 | ```
127 |
128 | or in vanilla SQL:
129 |
130 | ```sql
131 | SELECT strftime('%Y-%m-%d', date) AS day, COUNT(*)
132 | FROM inscribes
133 | GROUP BY day
134 | ORDER BY day
135 | ```
136 |
137 | resulting in:
138 |
139 | ```
140 | {"2022-12-14" => 1,
141 | "2022-12-17" => 1,
142 | "2022-12-19" => 1,
143 | "2023-01-05" => 1,
144 | "2023-01-10" => 1,
145 | "2023-01-12" => 1,
146 | "2023-01-13" => 2,
147 | "2023-01-15" => 1,
148 | "2023-01-16" => 1,
149 | "2023-01-19" => 5,
150 | "2023-01-20" => 3,
151 | "2023-01-21" => 5,
152 | "2023-01-22" => 34,
153 | "2023-01-23" => 23,
154 | "2023-01-24" => 4,
155 | "2023-01-25" => 9,
156 | "2023-01-26" => 12,
157 | "2023-01-27" => 19,
158 | "2023-01-28" => 16,
159 | "2023-01-29" => 128,
160 | "2023-01-30" => 82,
161 | "2023-01-31" => 98,
162 | "2023-02-01" => 220,
163 | "2023-02-02" => 332}
164 | ```
165 |
166 | Let's query for all inscriptions grouped by month and dump the results:
167 |
168 | ```ruby
169 | pp Inscribe.counts_by_month
170 | ```
171 |
172 | or in vanilla SQL:
173 |
174 | ```sql
175 | SELECT strftime('%Y-%m', month) AS day, COUNT(*)
176 | FROM inscribes
177 | GROUP BY month
178 | ORDER BY month
179 | ```
180 |
181 | resulting in:
182 |
183 | ```
184 | {"2022-12" => 3,
185 | "2023-01" => 445,
186 | "2023-02" => 552}
187 | ```
188 |
189 |
190 | Let's query for all content types and group by count (descending) and dump the results:
191 |
192 |
193 | ```ruby
194 | pp Inscribe.counts_by_content_type
195 | ```
196 |
197 | or in vanilla SQL:
198 |
199 | ```sql
200 | SELECT content_type, COUNT(*)
201 | FROM inscribes
202 | GROUP BY content_type
203 | ORDER BY COUNT(*) DESC, content_type
204 | ```
205 |
206 | resulting in:
207 |
208 | ```
209 | {"image/png" => 475,
210 | "image/jpeg" => 188,
211 | "image/webp" => 117,
212 | "text/plain;charset=utf-8" => 112,
213 | "image/svg+xml" => 62,
214 | "text/html;charset=utf-8" => 18,
215 | "image/gif" => 11,
216 | "audio/mpeg" => 6,
217 | "application/pdf" => 2,
218 | "image/avif" => 2,
219 | "video/webm" => 2,
220 | "application/epub+zip" => 1,
221 | "application/pgp-signature" => 1,
222 | "audio/midi" => 1,
223 | "audio/mod" => 1,
224 | "video/mp4" => 1}
225 | ```
226 |
227 |
228 | Let's query for all text inscribes (with content type `text/plain;charset=utf-8`)
229 | and print out the text:
230 |
231 | ```ruby
232 | inscribes = Inscribe.text
233 | puts " #{inscribes.size} text inscribe(s)"
234 | #=> 112 text inscribe(s)
235 |
236 | inscribes.each_with_index do |rec, i|
237 | puts "==> [#{i+1}/#{inscribes.size}] text inscribe №#{rec.num} (#{rec.content_type} - #{rec.bytes} bytes):"
238 | puts rec.text
239 | puts
240 | end
241 | ```
242 |
243 | resulting in:
244 |
245 | ```
246 | ==> [1/112] text inscribe №5 (text/plain;charset=utf-8 - 185 bytes):
247 | Don't think about making art,
248 | just get it done.
249 | Let everyone else decide
250 | if it's good or bad,
251 | whether they love it
252 | or hate it.
253 | While they are deciding,
254 | make even more art.
255 |
256 | Andy Warhol
257 |
258 | ==> [2/112] text inscribe №18 (text/plain;charset=utf-8 - 71 bytes):
259 | bro why the fuck
260 | would i buy an NFT
261 | that’s called a
262 | crypto dickbutt?
263 |
264 | ==> [3/112] text inscribe №35 (text/plain;charset=utf-8 - 5245 bytes):
265 | A Cypherpunk's Manifesto
266 |
267 | by Eric Hughes
268 |
269 | Privacy is necessary for an open society in the electronic age.
270 | Privacy is not secrecy. A private matter is something one doesn't
271 | want the whole world to know, but a secret matter is something one
272 | doesn't want anybody to know. Privacy is the power to selectively
273 | reveal oneself to the world.
274 |
275 | [...]
276 |
277 | The Cypherpunks are actively engaged in making the networks safer for
278 | privacy. Let us proceed together apace.
279 |
280 | Onward.
281 |
282 | Eric Hughes
283 |
284 |
285 | 9 March 1993
286 |
287 | -- cut --
288 |
289 | ==> [6/112] text inscribe №50 (text/plain;charset=utf-8 - 1002 bytes):
290 | "Giving a little more thought to the idea of buying and selling digital cash,
291 | I thought of a way to present it. We're buying and setting 'cryptographic trading cards'.
292 | Fans of cryptography will love these fascinating examples of the cryptographic arts.
293 | Notice the fine way the bit patterns fit together - a mix of one-way functions
294 | and digital signatures, along with random blinding. What a perfect conversation piece
295 | to be treasured and shown to your friends and family.
296 |
297 | Plus, your friends will undoubtedly love these cryptographic trading cards just as much.
298 | They'll be eager to trade for them. Collect a whole set!
299 | They come in all kinds of varieties, from the common 1's,
300 | to the rarer 50's, all the way up to the seldom-seen 1000's.
301 | Hours of fun can be had for all..
302 |
303 | Your friendly cryptographic trading card dealer wants to join the fun, too.
304 | He'll be as interested in buying your trading cards back as in selling them.
305 |
306 | Try this fascinating and timely new hobby today!"
307 |
308 | HAL FINNEY, JAN 17 1993
309 |
310 | ==> [7/112] text inscribe №58 (text/plain;charset=utf-8 - 8 bytes):
311 | satoshi
312 |
313 | ==> [8/112] text inscribe №59 (text/plain;charset=utf-8 - 10 bytes):
314 | faketoshi
315 |
316 | ==> [9/112] text inscribe №61 (text/plain;charset=utf-8 - 8 bytes):
317 | bitcoin
318 |
319 | ==> [10/112] text inscribe №62 (text/plain;charset=utf-8 - 9 bytes):
320 | ordinals
321 |
322 | ==> [11/112] text inscribe №67 (text/plain;charset=utf-8 - 11 bytes):
323 | 21,000,000
324 |
325 | ==> [12/112] text inscribe №68 (text/plain;charset=utf-8 - 5 bytes):
326 | hodl
327 |
328 | ==> [13/112] text inscribe №76 (text/plain;charset=utf-8 - 52 bytes):
329 | "Congrats on ordinals, seriously"
330 | - Vitalik Buterin
331 |
332 | -- cut --
333 |
334 | ==> [19/112] text inscribe №97 (text/plain;charset=utf-8 - 4 bytes):
335 | ◉
336 |
337 | -- cut --
338 |
339 | ==> [22/112] text inscribe №105 (text/plain;charset=utf-8 - 14492 bytes):
340 | Bitcoin Shrooms impatient for beta release
341 |
342 | 1 343eec6884a5be860c0c4b73ae978009f6dd96f82882d56b1fd717da59f64f50
343 | 2 7fa93ee0c96c70d06ef0321dc1a7f313224b5faf469f74cb23faa18ca49f15ee
344 | 3 f822a81a72c5fcd79028dd61f7c8aaf30ddb86b7557df502a498ff857dc19281
345 | 4 4575c7015eb5fb7cb9053c850f52efda33da45847ff0441c29d207de834cb67d
346 |
347 | 5 091a5c36fb5b98c42b364cd44238edd4feff3a8f08aa3548ca190a7665801fb8
348 | 6 7a467be1abaa2112222a3325ea7733604edabd53c10c6e914dc936d0c6d6efab
349 | 7 8e242644424762774966a18f587d4c7eafcafad258103615e3a66699596c3f56
350 | 8 92b6338f6eddd7baa668e5f49bc7dc9e3ac9a040179da943240b029965736925
351 |
352 | 9 5b53b6dd387f473ff7f83cf075c34aae54c6ef5de372aeeaa0146cc3482a9ee3
353 | 10 b420dc8d802428f176c849ee4037952b1b0f30733546f21f2bdc493f170b8b9f
354 | 11 205b634a80b6ab3b161fce617fe06906ad0827f95ab3e8f60e22f9d19ac0b834
355 | 12 7ccdf1ef1af9afac9e460f457eec362807201aa63a874eb17fc295084a565597
356 |
357 | [...]
358 |
359 | 209 4843cf582cd8d354bee438268aa67f25d3974e63ccf042bf23bc32df6049120e
360 | 210 a2c3d36478198914f8e36903bb5a4de7c65e66510a651cfbb0399b7417ac6cb5
361 |
362 | -- cut --
363 |
364 | ==> [24/112] text inscribe №110 (text/plain;charset=utf-8 - 4 bytes):
365 | ₿
366 |
367 | ==> [25/112] text inscribe №111 (text/plain;charset=utf-8 - 3 bytes):
368 | ¥
369 |
370 | ==> [26/112] text inscribe №112 (text/plain;charset=utf-8 - 2 bytes):
371 | $
372 |
373 | ==> [27/112] text inscribe №113 (text/plain;charset=utf-8 - 4 bytes):
374 | €
375 |
376 | -- cut --
377 |
378 | ==> [42/112] text inscribe №138 (text/plain;charset=utf-8 - 5 bytes):
379 | 🙈
380 |
381 | ==> [43/112] text inscribe №139 (text/plain;charset=utf-8 - 5 bytes):
382 | 🙉
383 |
384 | ==> [44/112] text inscribe №141 (text/plain;charset=utf-8 - 5 bytes):
385 | 🙊
386 |
387 | -- cut --
388 |
389 | ==> [47/112] text inscribe №191 (text/plain;charset=utf-8 - 10497 bytes):
390 | BITCOIN ROCKS
391 |
392 | 100% on-chain rocks. Max supply = 100.
393 |
394 | This message is for provenance.
395 |
396 | Follow @ordrocks on Twitter for details and updates.
397 |
398 | Comprehensive list of Bitcoin rocks & their inscription IDs:
399 |
400 | {
401 | { "rock": "0" "inscription": "e8ce0fcb238b377b3a6b9921333e26fbec5c5724c5bf6e783c3dcc1129794508i0", }
402 | { "rock": "1" "inscription": "87b28e0ccbd2bf4e992674070daa64b8f8546e5c4cb2bf50fe57ac320535d231i0", }
403 | { "rock": "2" "inscription": "2a83b7d3b3626b671b39be88a6c387080df37ca97d01c401d5475cb21bf0c078i0", }
404 | [...]
405 | { "rock": "99" "inscription": "b0553e566a5e20246ac2ca464177be6d8bd192eccc300d11fa6a2b6da72aa731i0" }
406 | }
407 |
408 | -- cut --
409 | ```
410 |
411 | See the complete text log in [sub1k.txt](sub1k.txt).
412 |
413 |
414 | Ordinals Triva - Did you know? [Inscription №824](https://ordinals.com/inscription/f1321b21e8d5605c236600a1a69fbb87343f9e9eb57bf3303fff8bd6f77ca520i0) is a text inscription with 0 bytes (yes, that is, empty) AND it's part
415 | of the "Rare Texts" collection (see [Inscription №891](https://ordinals.com/inscription/6b16c15179a41a94465ed99d787804520c028282332f0f725a1efbfa3195cdf6i0))
416 | and titled "Probably Nothing".
417 |
418 |
419 |
420 |
421 | For more fun let's query for (basic) game inscriptions
422 | and save the html (& js) code / text to play in your web browser:
423 |
424 |
425 | ```ruby
426 | ## get snake game (no. 142) in "The Basics" series -
427 | ## a basic html & js game collection (no. 1147)
428 | inscribe = Inscribe.find_by( num: 142 )
429 | write_text( "./snake.html", inscribe.text )
430 |
431 | ## get tetris game (no. 145) in "The Basics" series
432 | inscribe = Inscribe.find_by( num: 145 )
433 | write_text( "./tetris.html", inscribe.text )
434 | ```
435 |
436 | Yes, you can. Play the games in your browser:
437 | - [snake.html](https://ordbase.github.io/ordbase/snake.html) - note: how-to play? length of the snake grows when eating an apple
438 | - [tetris.html](https://ordbase.github.io/ordbase/tetris.html)
439 |
440 |
441 | Or let's query for the original bitcoin whitepaper (9 pages)
442 | by Satoshi Nakamoto:
443 |
444 | ``` ruby
445 | ## get bitcoin whitpaper (no. 54) pdf document
446 | inscribe = Inscribe.find_by( num: 54 )
447 | write_blob( "./bitcoin.pdf", inscribe.content )
448 | ```
449 |
450 | Yes, you can. Learn more about the beginnings of Bitcoin: A Peer-to-Peer Electronic Cash System:
451 | - [bitcoin.pdf (179 kb)](https://ordbase.github.io/ordbase/bitcoin.pdf)
452 |
453 |
454 |
455 |
456 | Ordinals Triva - Did you know? The Shrooms with 208 out of 210 inscriptions¹ (plus one bonus collection metadata inscription, see [№105](https://ordinals.com/inscription/4e0ad05cbbe3cfdbedec9edb37683a8284bc60ec4ced62272703f182d67e5d70i0))
457 | is the biggest sub 1k collection.
458 |
459 | Note 1: Shroom №186 @ [Inscription №1075](https://ordinals.com/inscription/4af5d25017a5c71d1333925ea29b79a18d36548597fc4f03e6a23f2d740547c7i0) and
460 | Shroom №196 @ [Inscription №1074](https://ordinals.com/inscription/2807ac74213d2e9e4b86b7fc121edf7a94c66bc11a8142f851e5d7162d357333i0).
461 |
462 |
463 | Let's save all shroom .PNGs in the collection for easy access
464 | using `shroom1.png`, `shroom2.png`, `shroom3.png` up to
465 | `shroom210.png`.
466 |
467 |
468 | ``` ruby
469 | ## read inscription №105 converted "by hand" to .csv datafile
470 | recs = read_csv( './shrooms.csv')
471 |
472 | recs.each do |rec|
473 | num = rec['num'].to_i(10)
474 | hash = rec['hash'] ## sha256 content hash
475 | puts "==> saving shroom #{num} with hash #{hash}..."
476 |
477 | ## note: skip shrooms no. 186 & 196 (inscribed as no. 1075 & no. 1074) for now
478 | next if [186,196].include?(num)
479 |
480 | blob = Blob.find_by( sha256: hash )
481 | write_blob( "./i/shroom#{num}.png", blob.content )
482 | end
483 | ```
484 |
485 | resulting in:
486 |
487 | ```
488 | ==> saving shroom 1 with hash 343eec6884a5be860c0c4b73ae978009f6dd96f82882d56b1fd717da59f64f50...
489 | ==> saving shroom 2 with hash 7fa93ee0c96c70d06ef0321dc1a7f313224b5faf469f74cb23faa18ca49f15ee...
490 | ==> saving shroom 3 with hash f822a81a72c5fcd79028dd61f7c8aaf30ddb86b7557df502a498ff857dc19281...
491 | ==> saving shroom 4 with hash 4575c7015eb5fb7cb9053c850f52efda33da45847ff0441c29d207de834cb67d...
492 | ==> saving shroom 5 with hash 091a5c36fb5b98c42b364cd44238edd4feff3a8f08aa3548ca190a7665801fb8...
493 | ==> saving shroom 6 with hash 7a467be1abaa2112222a3325ea7733604edabd53c10c6e914dc936d0c6d6efab...
494 | ==> saving shroom 7 with hash 8e242644424762774966a18f587d4c7eafcafad258103615e3a66699596c3f56...
495 | ==> saving shroom 8 with hash 92b6338f6eddd7baa668e5f49bc7dc9e3ac9a040179da943240b029965736925...
496 | ==> saving shroom 9 with hash 5b53b6dd387f473ff7f83cf075c34aae54c6ef5de372aeeaa0146cc3482a9ee3...
497 | ==> saving shroom 10 with hash b420dc8d802428f176c849ee4037952b1b0f30733546f21f2bdc493f170b8b9f...
498 | ...
499 | ```
500 |
501 | and
502 |
503 | 
504 | 
505 | 
506 | 
507 | 
508 | 
509 |
510 | ...
511 |
512 |
513 |
514 | To be continued...
515 |
516 |
517 |
518 |
519 | ## Bonus - Let's export (save as ...) all inscriptions content blobs
520 |
521 | Let's export (save as ...) all inscription content blobs
522 | to local files with (mime) content types mapped
523 | to file extensions (e.g. `image/png` to `.png`, `text/plain` to `.txt`, and so on)
524 | and use the the inscription number as its filename
525 | (for easy sorting padded with eight zeros e.g. `0` to `00000000`, `1` to `00000001`) ...
526 |
527 |
528 | ``` ruby
529 | require 'ordlite'
530 |
531 | OrdDb.open( './ordsub1k.db' )
532 |
533 | Inscribe.all.each do |rec|
534 | print "==> exporting inscribe №#{rec.num} "
535 | print ">#{rec.content_type}< #{number_to_human_size(rec.bytes)} (#{rec.bytes} bytes) "
536 | print "to >#{rec.export_path}<..."
537 | print "\n"
538 | rec.export ## gets saved to ./tmp/. by default
539 | end
540 | ```
541 |
542 | resulting in:
543 |
544 | ```
545 | ==> exporting inscribe №0 >image/png< 793 Bytes (793 bytes) to >./tmp/00000000.png<...
546 | ==> exporting inscribe №1 >image/png< 19.8 KB (20266 bytes) to >./tmp/00000001.png<...
547 | ==> exporting inscribe №2 >image/gif< 9.15 KB (9371 bytes) to >./tmp/00000002.gif<...
548 | ==> exporting inscribe №3 >image/png< 321 Bytes (321 bytes) to >./tmp/00000003.png<...
549 | ==> exporting inscribe №4 >image/png< 208 Bytes (208 bytes) to >./tmp/00000004.png<...
550 | ==> exporting inscribe №5 >text/plain;charset=utf-8< 185 Bytes (185 bytes) to >./tmp/00000005.txt<...
551 | ==> exporting inscribe №6 >image/png< 5.34 KB (5466 bytes) to >./tmp/00000006.png<...
552 | ==> exporting inscribe №7 >text/html;charset=utf-8< 625 Bytes (625 bytes) to >./tmp/00000007.html<...
553 | ==> exporting inscribe №8 >image/png< 27.8 KB (28431 bytes) to >./tmp/00000008.png<...
554 | ==> exporting inscribe №9 >image/webp< 33.3 KB (34140 bytes) to >./tmp/00000009.webp<...
555 | ...
556 | ==> exporting inscribe №998 >text/plain;charset=utf-8< 5 Bytes (5 bytes) to >./tmp/00000998.txt<...
557 | ==> exporting inscribe №999 >image/png< 39.4 KB (40384 bytes) to >./tmp/00000999.png<...
558 | ```
559 |
560 |
561 | or if you look in your `./tmp` directory (depending on your operating system):
562 |
563 | 
564 |
565 |
566 |
567 |
568 | ## Frequently Asked Questions (F.A.Q.s) And Answers
569 |
570 | Q: What's that vanilla SQL about? How can I use vanilla SQL?
571 |
572 | Once you have built the `ordsub1k.db` (SQLite) database (or use / download
573 | a shared copy) you can query the datbase using SQLite (visual) tools (e.g. [SQLite Studio](https://sqlitestudio.pl)) or the classic (command-line) shell. Example:
574 |
575 | ```
576 | $ sqlite3 ordsub1k.db
577 | SQLite version 3.42.0
578 | Enter ".help" for usage hints.
579 | sqlite>
580 | ```
581 |
582 | Let's print out the inscribes table schema:
583 |
584 | ```
585 | sqlite> .schema inscribes
586 | ```
587 |
588 | resulting in:
589 |
590 | ```sql
591 | CREATE TABLE "inscribes"
592 | ("id" varchar NOT NULL PRIMARY KEY,
593 | "num" integer NOT NULL,
594 | "bytes" integer NOT NULL,
595 | "content_type" varchar NOT NULL,
596 | "date" datetime(6) NOT NULL,
597 | "sat" integer NOT NULL,
598 | "block" integer NOT NULL,
599 | "fee" integer NOT NULL,
600 | "tx" varchar NOT NULL,
601 | "offset" integer NOT NULL,
602 | "address" varchar NOT NULL,
603 | "output" varchar NOT NULL,
604 | "value" integer NOT NULL,
605 | "created_at" datetime(6) NOT NULL,
606 | "updated_at" datetime(6) NOT NULL);
607 | CREATE UNIQUE INDEX "inscribe_nums" ON "inscribes" ("num");
608 | ```
609 |
610 | Let's query for the ten biggest inscribes (by bytes):
611 |
612 | ```
613 | sqlite> SELECT num, bytes
614 | ...> FROM inscribes
615 | ...> ORDER BY bytes DESC
616 | ...> LIMIT 10;
617 | ```
618 |
619 | resulting in:
620 |
621 | ```
622 | 652|3915537
623 | 978|394718
624 | 546|394479
625 | 833|394440
626 | 388|389858
627 | 291|388417
628 | 857|386858
629 | 538|383322
630 | 378|375414
631 | 288|373504
632 | ```
633 |
634 | Let's query for all inscribes grouped by day count:
635 |
636 | ```
637 | sqlite> SELECT strftime('%Y-%m-%d', date) AS day, COUNT(*)
638 | ...> FROM inscribes
639 | ...> GROUP BY day
640 | ...> ORDER BY day;
641 | ```
642 |
643 | resulting in:
644 |
645 | ```
646 | 2022-12-14|1
647 | 2022-12-17|1
648 | 2022-12-19|1
649 | 2023-01-05|1
650 | 2023-01-10|1
651 | 2023-01-12|1
652 | 2023-01-13|2
653 | 2023-01-15|1
654 | 2023-01-16|1
655 | 2023-01-19|5
656 | 2023-01-20|3
657 | 2023-01-21|5
658 | 2023-01-22|34
659 | 2023-01-23|23
660 | 2023-01-24|4
661 | 2023-01-25|9
662 | 2023-01-26|12
663 | 2023-01-27|19
664 | 2023-01-28|16
665 | 2023-01-29|128
666 | 2023-01-30|82
667 | 2023-01-31|98
668 | 2023-02-01|220
669 | 2023-02-02|332
670 | ```
671 |
672 |
673 | Let's query for all content types and grouped by count (descending):
674 |
675 | ```
676 | sqlite> SELECT content_type, COUNT(*)
677 | ...> FROM inscribes
678 | ...> GROUP BY content_type
679 | ...> ORDER BY COUNT(*) DESC, content_type;
680 | ```
681 |
682 | resulting in:
683 |
684 | ```
685 | image/png|475
686 | image/jpeg|188
687 | image/webp|117
688 | text/plain;charset=utf-8|112
689 | image/svg+xml|62
690 | text/html;charset=utf-8|18
691 | image/gif|11
692 | audio/mpeg|6
693 | application/pdf|2
694 | image/avif|2
695 | video/webm|2
696 | application/epub+zip|1
697 | application/pgp-signature|1
698 | audio/midi|1
699 | audio/mod|1
700 | video/mp4|1
701 | ```
702 |
703 | and so on.
704 |
705 |
706 |
707 | ## Questions? Comments?
708 |
709 | Join us in the [Ordgen / ORC-721 discord (chat server)](https://discord.gg/dDhvHKjm2t). Yes you can.
710 | Your questions and commetary welcome.
711 |
712 |
713 | Or post them over at the [Help & Support](https://github.com/geraldb/help) page. Thanks.
714 |
715 |
--------------------------------------------------------------------------------
/sub1k_build.rb:
--------------------------------------------------------------------------------
1 | #####
2 | # build ordsub1k.db (sqlite database with first thousand ordinal inscriptions)
3 |
4 | $LOAD_PATH.unshift( "../ordinals/lib" )
5 | $LOAD_PATH.unshift( "../ordlite/lib" )
6 |
7 |
8 | require 'ordlite'
9 |
10 |
11 |
12 | OrdDb.open( './ordsub1k.db' )
13 |
14 |
15 | puts
16 | puts " #{Inscribe.count} inscribe(s)"
17 | puts " #{Blob.count} blob(s)"
18 | #=> 0 inscribe(s)
19 | #=> 0 blob(s)
20 |
21 |
22 | OrdDb.import_csv( "./meta/sub1k_inscriptions.csv" )
23 |
24 | puts
25 | puts " #{Inscribe.count} inscribe(s)"
26 | puts " #{Blob.count} blob(s)"
27 | #=> 1000 inscribe(s)
28 | #=> 1000 blob(s)
29 |
30 |
31 | puts "bye"
--------------------------------------------------------------------------------
/sub1k_debug.rb:
--------------------------------------------------------------------------------
1 | $LOAD_PATH.unshift( "../ordlite/lib" )
2 | require 'ordlite'
3 |
4 |
5 |
6 |
7 | OrdDb.open( './ordsub1k.db' )
8 |
9 |
10 |
11 | inscribe = Inscribe.find_by( num: 580 )
12 | puts inscribe.blob.content
13 | puts
14 | pp inscribe.blob.content
15 | puts
16 | puts inscribe.blob.text
17 | puts
18 | puts inscribe.text
19 |
20 | puts "bye"
--------------------------------------------------------------------------------
/sub1k_export.rb:
--------------------------------------------------------------------------------
1 | #####
2 | # query ordsub1k.db (sqlite database with first thousand ordinal inscriptions)
3 |
4 | $LOAD_PATH.unshift( "../ordlite/lib" )
5 | require 'ordlite'
6 |
7 |
8 |
9 |
10 | OrdDb.open( './ordsub1k.db' )
11 |
12 |
13 | puts
14 | puts " #{Inscribe.count} inscribe(s)"
15 | puts " #{Blob.count} blob(s)"
16 | #=> 1000 inscribe(s)
17 | #=> 1000 blob(s)
18 |
19 |
20 | ## try to export inscribes
21 |
22 | Inscribe.all.each do |rec|
23 | print "==> exporting inscribe №#{rec.num} "
24 | print ">#{rec.content_type}< #{number_to_human_size(rec.bytes)} (#{rec.bytes} bytes) "
25 | print "to >#{rec.export_path}<..."
26 | print "\n"
27 | rec.export ## gets saved to ./tmp/.
28 | end
29 |
30 |
31 | puts "bye"
--------------------------------------------------------------------------------
/sub1k_games.rb:
--------------------------------------------------------------------------------
1 | #####
2 | # query ordsub1k.db (sqlite database with first thousand ordinal inscriptions)
3 |
4 | $LOAD_PATH.unshift( "../ordlite/lib" )
5 | require 'ordlite'
6 |
7 |
8 | OrdDb.open( './ordsub1k.db' )
9 |
10 |
11 | ## get snake game (no. 142) in "The Basics" series -
12 | ## a basic html & js game collection (no. 1147)
13 | ##
14 | ## how-to play - length of the snake grows when eating an apple
15 | inscribe = Inscribe.find_by( num: 142 )
16 | write_text( "../docs/snake.html", inscribe.text )
17 |
18 | ## get tetris game (no. 145) in "The Basics" series -
19 | inscribe = Inscribe.find_by( num: 145 )
20 | write_text( "../docs/tetris.html", inscribe.text )
21 |
22 |
23 |
24 | puts "bye"
--------------------------------------------------------------------------------
/sub1k_more.rb:
--------------------------------------------------------------------------------
1 |
2 | $LOAD_PATH.unshift( "../ordlite/lib" )
3 | require 'ordlite'
4 |
5 |
6 | OrdDb.open( './ordsub1k.db' )
7 |
8 |
9 | ## get bitcoin whitpaper (no. 54) pdf document
10 | inscribe = Inscribe.find_by( num: 54 )
11 | write_blob( "../docs/bitcoin.pdf", inscribe.content )
12 |
13 |
14 |
15 | puts "bye"
--------------------------------------------------------------------------------
/sub1k_query.rb:
--------------------------------------------------------------------------------
1 | #####
2 | # query ordsub1k.db (sqlite database with first thousand ordinal inscriptions)
3 |
4 | $LOAD_PATH.unshift( "../ordlite/lib" )
5 | require 'ordlite'
6 |
7 |
8 |
9 |
10 | OrdDb.open( './ordsub1k.db' )
11 |
12 |
13 | puts
14 | puts " #{Inscribe.count} inscribe(s)"
15 | puts " #{Blob.count} blob(s)"
16 | #=> 1000 inscribe(s)
17 | #=> 1000 blob(s)
18 |
19 |
20 |
21 |
22 | ######
23 | ## query for ten biggest (by bytes) inscriptions
24 |
25 | Inscribe.biggest.limit(10).each do |rec|
26 | print "#{number_to_human_size(rec.bytes)} (#{rec.bytes} bytes) - "
27 | print "Inscribe №#{rec.num} (#{rec.content_type}) - "
28 | print "#{rec.date} - #{rec.fee} fee in sats"
29 | print "\n"
30 | end
31 |
32 | ######
33 | ## query for all content types and group by count (descending)
34 |
35 | puts
36 | pp Inscribe.content_type_counts ## count_by_content_type
37 |
38 | puts
39 | pp Inscribe.date_counts ## count_by_date/day
40 |
41 | puts
42 | pp Inscribe.month_counts ## counts_by_month
43 |
44 |
45 | puts "bye"
--------------------------------------------------------------------------------
/sub1k_shrooms.rb:
--------------------------------------------------------------------------------
1 | $LOAD_PATH.unshift( "../ordlite/lib" )
2 | require 'ordlite'
3 |
4 |
5 | OrdDb.open( './ordsub1k.db' )
6 |
7 | =begin
8 | class AddHash < ActiveRecord::Migration[7.0]
9 | def up
10 | change_table :blobs do |t|
11 | t.string :sha256
12 | end
13 | end
14 | end
15 | AddHash.new.up
16 | =end
17 |
18 | ###
19 | ### check range - 675 - 1075
20 | ### up-to 1075???
21 | ##
22 | ### ==> saving shroom 186 with hash 3067fa383c71024fc04614b1524d7f13b408839d8f2b18da47db31437b52edaf...
23 | ## sub1k_shrooms.rb:48:in `block in ': undefined method `inscribe' for nil:NilClass (NoMethodError)
24 | ## shroom 186 not found is not in sub1k??
25 | ##
26 | ## ==> saving shroom 186 with hash 3067fa383c71024fc04614b1524d7f13b408839d8f2b18da47db31437b52edaf...
27 | ## !! ERROR - no matching hash found
28 | ## is inscribe no. 1075!!
29 | ## 4af5d25017a5c71d1333925ea29b79a18d36548597fc4f03e6a23f2d740547c7i0
30 | ## ==> saving shroom 196 with hash 5cf2abd9fe6f1878ee29f317d54e2ca2e5a46ad0417edf8c7e19a5edf0bcc818...
31 | ## !! ERROR - no matching hash found
32 | ## is inscribe no. 1074!!!
33 | ## 2807ac74213d2e9e4b86b7fc121edf7a94c66bc11a8142f851e5d7162d357333i0
34 |
35 |
36 | =begin
37 | inscribes = Inscribe.png.to_a
38 | puts " #{inscribes.size} .PNG inscribe(s)"
39 |
40 | inscribes.each_with_index do |rec, i|
41 | puts "==> #{i+1}/#{inscribes.size} no.#{rec.num} (#{rec.content_type} - #{rec.bytes} bytes)..."
42 | if rec.bytes != rec.content.bytesize
43 | puts "!! ERROR - bytes mismatch - blob corrupt?"
44 | exit 1
45 | end
46 | hex = Digest::SHA256.hexdigest( rec.content )
47 | puts hex
48 | rec.blob.sha256 = hex
49 | rec.blob.save
50 | end
51 | =end
52 |
53 | ## read inscription №105 converted "by hand" to .csv datafile
54 | recs = read_csv( './shrooms.csv')
55 |
56 | ## export inscribe ids
57 | meta = []
58 | recs.each do |rec|
59 | num = rec['num'].to_i(10)
60 | hash = rec['hash']
61 |
62 | id = if num == 186
63 | '4af5d25017a5c71d1333925ea29b79a18d36548597fc4f03e6a23f2d740547c7i0'
64 | elsif num == 196
65 | '2807ac74213d2e9e4b86b7fc121edf7a94c66bc11a8142f851e5d7162d357333i0'
66 | else
67 | Blob.find_by( sha256: hash ).id
68 | end
69 |
70 | meta << [num.to_s, id]
71 | end
72 | pp meta
73 |
74 | buf = ''
75 | buf << "num,id\n"
76 | meta.each do |values|
77 | buf << values.join(',')
78 | buf << "\n"
79 | end
80 | write_text( "./shrooms_inscriptions.csv", buf )
81 |
82 |
83 |
84 | recs.each do |rec|
85 | num = rec['num'].to_i(10)
86 | hash = rec['hash']
87 | puts "==> saving shroom #{num} with hash #{hash}..."
88 |
89 | ## note: shrooms no. 186 and 196 are NOT in sub1k
90 | ## - no. 186 is inscribe no. 1075 @ 4af5d25017a5c71d1333925ea29b79a18d36548597fc4f03e6a23f2d740547c7i0
91 | ## - no. 196 is inscribe no. 1074 @ 2807ac74213d2e9e4b86b7fc121edf7a94c66bc11a8142f851e5d7162d357333i0
92 | blob = if num == 186
93 | blob = Blob.new( content: Ordinals.content( '4af5d25017a5c71d1333925ea29b79a18d36548597fc4f03e6a23f2d740547c7i0' ).data )
94 | puts hash
95 | puts Digest::SHA256.hexdigest( blob.content )
96 | blob
97 | elsif num == 196
98 | blob = Blob.new( content: Ordinals.content( '2807ac74213d2e9e4b86b7fc121edf7a94c66bc11a8142f851e5d7162d357333i0' ).data )
99 | puts hash
100 | puts Digest::SHA256.hexdigest( blob.content )
101 | blob
102 | else
103 | Blob.find_by( sha256: hash )
104 | end
105 |
106 | write_blob( "./i/shroom#{num}.png", blob.content )
107 | end
108 |
109 |
--------------------------------------------------------------------------------
/sub1k_sql.rb:
--------------------------------------------------------------------------------
1 | $LOAD_PATH.unshift( "../ordlite/lib" )
2 | require 'ordlite'
3 |
4 |
5 | OrdDb.open( './ordsub1k.db' )
6 |
7 |
8 |
9 | puts
10 | puts Inscribe.order( 'bytes DESC' ).limit(10).to_sql
11 | puts
12 |
13 |
14 | puts
15 | puts Inscribe.select('content_type, COUNT(*)')
16 | .group( 'content_type' )
17 | .order( Arel.sql( 'COUNT(*) DESC, content_type')).to_sql
18 | puts
19 |
20 |
21 | puts
22 | puts Inscribe.select( Arel.sql( "strftime('%Y-%m-%d', date) as day, COUNT(*)"))
23 | .group( Arel.sql( 'day' ))
24 | .order( Arel.sql( 'day' )).to_sql
25 | puts
26 |
27 |
28 |
29 | puts "bye"
--------------------------------------------------------------------------------
/sub1k_text.rb:
--------------------------------------------------------------------------------
1 | $LOAD_PATH.unshift( "../ordlite/lib" )
2 | require 'ordlite'
3 |
4 |
5 |
6 |
7 | OrdDb.open( './ordsub1k.db' )
8 |
9 |
10 | puts
11 | puts " #{Inscribe.count} inscribe(s)"
12 | puts " #{Blob.count} blob(s)"
13 | #=> 1000 inscribe(s)
14 | #=> 1000 blob(s)
15 |
16 |
17 |
18 | inscribes = Inscribe.text
19 | puts " #{inscribes.size} text inscribe(s)"
20 | #=> 112 text inscribe(s)
21 |
22 | buf = ''
23 |
24 | inscribes.each_with_index do |rec, i|
25 | puts "==> [#{i+1}/#{inscribes.size}] text inscribe №#{rec.num} (#{rec.content_type} - #{rec.bytes} bytes):"
26 | puts rec.text
27 | puts
28 |
29 | ## note: add to buffer to write to disk
30 | buf << "==> [#{i+1}/#{inscribes.size}] text inscribe №#{rec.num} (#{rec.content_type} - #{rec.bytes} bytes):\n"
31 | buf << rec.text
32 | buf << "\n\n"
33 | end
34 |
35 | ## todo/fix:
36 | ## check if write_text has problem with \r
37 | ## \r doubles newlines - why? why not?
38 |
39 | write_text( "./sub1k.txt", buf.gsub(/\r/, '') )
40 |
41 | puts "bye"
42 |
43 |
--------------------------------------------------------------------------------