cryptopunks 1.2.1 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 90c086c27ab6e20974bcb2c1777873eb0e6d61006ddcd72724f96e18687c9a13
4
- data.tar.gz: f91b82d1ae82abf305d3e95ef1e86f33fb2da3dab9b41ef6e18551b30202b845
3
+ metadata.gz: dceba5897b87bade5e787074da796bc116dea1e3acd8341d40d6cfa5337b3fdc
4
+ data.tar.gz: 725cbf4474d25b2c032396dfef71a4cad605d2b4f5af0361145693aada489101
5
5
  SHA512:
6
- metadata.gz: 5e4066e8746b234fa3ac7d25aad89f2bcd2ec15bce6f05c4c9b55d2cbcc56258778c412924c57024e24375ed326a784eba84fc1154676e8559a6d345b8990418
7
- data.tar.gz: 1262074a74f23d241e7ee5430a5a8b29911490183b98d2f27b3c2c76c04ee4e9f5b7492aeec75a4aaff15f3f809fab6501142f7814f58ac1cca7671d6853cc24
6
+ metadata.gz: '09a830c716f4305c2ae82f9ddfe9298eecfa891d9754e5014734db290ae3541fd9ef427d1eedd5b88ebc1e0d9743932254e631a90b394a2032995dc2e6570278'
7
+ data.tar.gz: b9cde99de27ccba6b572d0416fbb01512da27cf9e8bfeda96093944b2a9a4f5e3f08ef8f694dd68edbe78bf6290b3d37f108c56db6338af64055db7339a75b89
data/Manifest.txt CHANGED
@@ -4,31 +4,18 @@ README.md
4
4
  Rakefile
5
5
  bin/cryptopunk
6
6
  bin/punk
7
- config/more/alien-female.txt
8
- config/more/ape-female.txt
9
- config/more/demon-female.txt
10
- config/more/demon-male.txt
11
- config/more/mummy-female.txt
12
- config/more/mummy-male.txt
13
- config/more/orc-female.txt
14
- config/more/orc-male.txt
15
- config/more/robot-female.txt
16
- config/more/robot-male.txt
17
- config/more/skeleton-female.txt
18
- config/more/skeleton-male.txt
19
- config/more/vampire-female.txt
20
- config/more/vampire-male.txt
21
- config/more/zombie-female.txt
22
- config/original/alien-male.txt
23
- config/original/ape-male.txt
24
- config/original/human-female.txt
25
- config/original/human-male.txt
26
- config/original/zombie-male.txt
7
+ config/spritesheet.csv
8
+ config/spritesheet.png
27
9
  lib/cryptopunks.rb
28
10
  lib/cryptopunks/attributes.rb
29
11
  lib/cryptopunks/colors.rb
30
12
  lib/cryptopunks/composite.rb
13
+ lib/cryptopunks/contract/punksdata-assets.rb
14
+ lib/cryptopunks/contract/punksdata-contract.rb
15
+ lib/cryptopunks/contract/punksdata-meta.rb
31
16
  lib/cryptopunks/dataset.rb
17
+ lib/cryptopunks/generator.rb
32
18
  lib/cryptopunks/image.rb
33
19
  lib/cryptopunks/structs.rb
20
+ lib/cryptopunks/tool.rb
34
21
  lib/cryptopunks/version.rb
data/README.md CHANGED
@@ -12,6 +12,7 @@ New to Crypto Punks?
12
12
  See the [**Awesome CryptoPunks Bubble (Anno 2021) - Modern 24×24 Pixel Crypto Art on the Blockchain** »](https://github.com/cryptopunksnotdead/awesome-cryptopunks-bubble)
13
13
 
14
14
 
15
+
15
16
  ## Command Line
16
17
 
17
18
  Use the `punk` (or `cryptopunk`) command line tool. Try:
@@ -23,17 +24,289 @@ $ punk -h
23
24
  resulting in:
24
25
 
25
26
  ```
26
- Usage: cryptopunk [options] IDs
27
- Mint punk characters from composite (./punks.png) - for IDs use 0 to 9999
27
+ NAME
28
+ punk - punk (or cryptopunk) command line tool
29
+
30
+ SYNOPSIS
31
+ punk [global options] command [command options] [arguments...]
32
+
33
+ VERSION
34
+ 2.0.0
35
+
36
+ GLOBAL OPTIONS
37
+ -d, --dir,
38
+ -o, --out, --outdir=DIR - Output directory (default: .)
39
+ -f, --file=FILE - True Official Genuine CryptoPunks™ all-in-one
40
+ composite image (default: ./punks.png)
41
+ --offset=NUM - Start counting at offset (default: 0)
42
+ -z, --zoom=ZOOM - Zoom factor x2, x4, x8, etc. (default: 1)
43
+
44
+ --help - Show this message
45
+ --version - Display the program version
46
+ --verbose - (Debug) Show debug messages
47
+
48
+
49
+ COMMANDS
50
+ g, gen, generate - Generate punk characters from text attributes (from
51
+ scratch / zero) via builtin punk spritesheet
52
+ l, ls, list - List all punk archetype and attribute names from builtin
53
+ punk spritesheet
54
+ q, query - Query (builtin off-chain) punk contract for punk text
55
+ attributes by IDs - use 0 to 9999
56
+ t, tile - Get punk characters via image tiles from all-in-one punk
57
+ series composite (./punks.png) - for IDs use 0 to 9999
58
+
59
+ help - Shows a list of commands or help for one command
60
+ ```
61
+
62
+ ### Generate Command
63
+
64
+ _Generate punk characters from text attributes (from scratch / zero) via builtin punk spritesheet_
65
+
66
+
67
+ Let's try punk #0:
68
+
69
+ ```
70
+ $ punk generate female_2 earring blonde_bob green_eye_shadow
71
+ ```
72
+
73
+ resulting in:
74
+
75
+ ![](i/punk-0000.png)
76
+
77
+ Let's try the `-z/--zoom` factor 2x, 4x, 8x, etc.:
78
+
79
+ ```
80
+ $ punk --zoom 4 generate female_2 earring blonde_bob green_eye_shadow
81
+ # -or-
82
+ $ punk -z2 g female_2 earring blonde_bob green_eye_shadow
83
+ ```
84
+
85
+ resulting in:
86
+
87
+ 2x ![](i/punk-0000x2.png)
88
+ 4x ![](i/punk-0000x4.png)
89
+ 8x ![](i/punk-0000x8.png)
90
+
91
+
92
+ Let's try never-before-seen super-rare punks:
93
+
94
+ ```
95
+ $ punk generate demon heart_shades
96
+ $ punk generate vampire_female wild_hair
97
+ ```
98
+
99
+ resulting in:
100
+
101
+ ![](i/demon.png)
102
+ ![](i/vampire-female.png)
103
+
104
+
105
+
106
+ Q: What punk archetypes and attributes can I use?
107
+
108
+ A: See the list command.
109
+
110
+
111
+ ### List Command
112
+
113
+ _List all punk archetype and attribute names from builtin punk spritesheet_
114
+
115
+
116
+ Let's try:
28
117
 
29
- Options:
30
- -z, --zoom=ZOOM Zoom factor x2, x4, x8, etc. (default: 1)
31
- -d, --dir=DIR Output directory (default: .)
32
- -f, --file=FILE True Official Genuine CryptoPunks™ composite image (default: ./punks.png)
33
- --offset=NUM Start counting at offset (default: 0)
34
- -h, --help Prints this help
118
+ ```
119
+ $ punk list
120
+ # -or-
121
+ $ punk ls
35
122
  ```
36
123
 
124
+ resulting in:
125
+
126
+ ```
127
+ ==> Archetypes
128
+ Male 1 / (m) - Archetype - Human
129
+ Male 2 / (m) - Archetype - Human
130
+ Male 3 / (m) - Archetype - Human
131
+ Male 4 / (m) - Archetype - Human
132
+ Female 1 / (f) - Archetype - Human
133
+ Female 2 / (f) - Archetype - Human
134
+ Female 3 / (f) - Archetype - Human
135
+ Female 4 / (f) - Archetype - Human
136
+ Zombie / (m) - Archetype - Zombie
137
+ Zombie Female / (f) - Archetype - Zombie
138
+ Ape / (m) - Archetype - Ape
139
+ Ape Female / (f) - Archetype - Ape
140
+ Alien / (m) - Archetype - Alien
141
+ Alien Female / (f) - Archetype - Alien
142
+ Demon / (m) - Archetype - Demon
143
+ Demon Female / (f) - Archetype - Demon
144
+ Mummy / (m) - Archetype - Mummy
145
+ Mummy Female / (f) - Archetype - Mummy
146
+ Orc / (m) - Archetype - Orc
147
+ Orc Female / (f) - Archetype - Orc
148
+ Robot / (m) - Archetype - Robot
149
+ Robot Female / (f) - Archetype - Robot
150
+ Skeleton / (m) - Archetype - Skeleton
151
+ Skeleton Female / (f) - Archetype - Skeleton
152
+ Vampire / (m) - Archetype - Vampire
153
+ Vampire Female / (f) - Archetype - Vampire
154
+ Zombie (Ape) / (m) - Archetype - Zombie
155
+ Alien (Ape) / (m) - Archetype - Alien
156
+ Alien 0° / (m) - Archetype - Alien
157
+ Alien 30° / (m) - Archetype - Alien
158
+ Alien 60° / (m) - Archetype - Alien
159
+ Alien 90° / (m) - Archetype - Alien
160
+ Alien 120° / (m) - Archetype - Alien
161
+ Alien 150° / (m) - Archetype - Alien
162
+ Alien 180° / (m) - Archetype - Alien
163
+ Alien 210° / (m) - Archetype - Alien
164
+ Alien 240° / (m) - Archetype - Alien
165
+ Alien 270° / (m) - Archetype - Alien
166
+ Alien 300° / (m) - Archetype - Alien
167
+ Alien 330° / (m) - Archetype - Alien
168
+ Alien (Ape) 0° / (m) - Archetype - Alien
169
+ Alien (Ape) 30° / (m) - Archetype - Alien
170
+ Alien (Ape) 60° / (m) - Archetype - Alien
171
+ Alien (Ape) 90° / (m) - Archetype - Alien
172
+ Alien (Ape) 120° / (m) - Archetype - Alien
173
+ Alien (Ape) 150° / (m) - Archetype - Alien
174
+ Alien (Ape) 180° / (m) - Archetype - Alien
175
+ Alien (Ape) 210° / (m) - Archetype - Alien
176
+ Alien (Ape) 240° / (m) - Archetype - Alien
177
+ Alien (Ape) 270° / (m) - Archetype - Alien
178
+ Alien (Ape) 300° / (m) - Archetype - Alien
179
+ Alien (Ape) 330° / (m) - Archetype - Alien
180
+ Alien Female 0° / (f) - Archetype - Alien
181
+ Alien Female 30° / (f) - Archetype - Alien
182
+ Alien Female 60° / (f) - Archetype - Alien
183
+ Alien Female 90° / (f) - Archetype - Alien
184
+ Alien Female 120° / (f) - Archetype - Alien
185
+ Alien Female 150° / (f) - Archetype - Alien
186
+ Alien Female 180° / (f) - Archetype - Alien
187
+ Alien Female 210° / (f) - Archetype - Alien
188
+ Alien Female 240° / (f) - Archetype - Alien
189
+ Alien Female 270° / (f) - Archetype - Alien
190
+ Alien Female 300° / (f) - Archetype - Alien
191
+ Alien Female 330° / (f) - Archetype - Alien
192
+
193
+ ==> Attributes
194
+ 3D Glasses / (m) - Attribute
195
+ 3D Glasses / (f) - Attribute
196
+ Bandana / (m) - Attribute
197
+ Bandana / (f) - Attribute
198
+ Beanie / (m) - Attribute
199
+ Beanie / (f) - Attribute
200
+ Big Beard / (m) - Attribute
201
+ Big Shades / (m) - Attribute
202
+ Big Shades / (f) - Attribute
203
+ Black Lipstick / (f) - Attribute
204
+ Blonde Bob / (f) - Attribute
205
+ Blonde Short / (f) - Attribute
206
+ Blue Eye Shadow / (f) - Attribute
207
+ Buck Teeth / (m) - Attribute
208
+ Cap / (m) - Attribute
209
+ Cap / (f) - Attribute
210
+ Cap Forward / (m) - Attribute
211
+ Cap Forward / (f) - Attribute
212
+ Chinstrap / (m) - Attribute
213
+ Choker / (f) - Attribute
214
+ Cigarette / (m) - Attribute
215
+ Cigarette / (f) - Attribute
216
+ Classic Shades / (m) - Attribute
217
+ Classic Shades / (f) - Attribute
218
+ Clown Eyes Blue / (m) - Attribute
219
+ Clown Eyes Blue / (f) - Attribute
220
+ Clown Eyes Green / (m) - Attribute
221
+ Clown Eyes Green / (f) - Attribute
222
+ Clown Hair Green / (m) - Attribute
223
+ Clown Hair Green / (f) - Attribute
224
+ Clown Nose / (m) - Attribute
225
+ Clown Nose / (f) - Attribute
226
+ Cowboy Hat / (m) - Attribute
227
+ Cowboy Hat / (f) - Attribute
228
+ Crazy Hair / (m) - Attribute
229
+ Crazy Hair / (f) - Attribute
230
+ Dark Hair / (f) - Attribute
231
+ Do-rag / (m) - Attribute
232
+ Do-rag / (f) - Attribute
233
+ Earring / (m) - Attribute
234
+ Earring / (f) - Attribute
235
+ Eye Mask / (m) - Attribute
236
+ Eye Mask / (f) - Attribute
237
+ Eye Patch / (m) - Attribute
238
+ Eye Patch / (f) - Attribute
239
+ Fedora / (m) - Attribute
240
+ Fedora / (f) - Attribute
241
+ Front Beard / (m) - Attribute
242
+ Front Beard Dark / (m) - Attribute
243
+ Frown / (m) - Attribute
244
+ Frumpy Hair / (m) - Attribute
245
+ Frumpy Hair / (f) - Attribute
246
+ Green Eye Shadow / (f) - Attribute
247
+ Goat / (m) - Attribute
248
+ Gold Chain / (m) - Attribute
249
+ Gold Chain / (f) - Attribute
250
+ ...
251
+ ```
252
+
253
+ See the [**punks.spritesheet**](https://github.com/cryptopunksnotdead/punks.spritesheet) for more.
254
+
255
+
256
+
257
+
258
+ ### Query Command
259
+
260
+ _Query (builtin off-chain) punk contract for punk text attributes by IDs - use 0 to 9999_
261
+
262
+
263
+ Let's try punk #0:
264
+
265
+ ```
266
+ $ punk query 0
267
+ # -or-
268
+ $ punk q 0
269
+ ```
270
+
271
+ resulting in:
272
+
273
+ ```
274
+ ==> (1/1) punk #0...
275
+ female_2 earring blonde_bob green_eye_shadow
276
+ ```
277
+
278
+ Let's try some top sellers:
279
+
280
+ ```
281
+ $ punk query 7804 3100 5217 8857
282
+ # -or-
283
+ $ punk q 7804 3100 5217 8857
284
+ ```
285
+
286
+ resulting in:
287
+
288
+ ```
289
+ ==> (1/4) punk #7804...
290
+ alien cap_forward pipe small_shades
291
+ ==> (2/4) punk #3100...
292
+ alien headband
293
+ ==> (3/4) punk #5217...
294
+ ape gold_chain knitted_cap
295
+ ==> (4/4) punk #8857...
296
+ zombie wild_hair 3d_glasses
297
+ ```
298
+
299
+ Note: Yes, you can pass the text attributes to the generate command
300
+ to get a free "cleanroom" copy built from scratch / zero
301
+ that you own 100% forever.
302
+
303
+
304
+
305
+ ### Tile Command
306
+
307
+ _Get punk characters via image tiles from all-in-one punk series composite (`./punks.png`) - for IDs use 0 to 9999_
308
+
309
+
37
310
 
38
311
  Step 0 - Download the True Official Genuine CryptoPunks™ composite image
39
312
 
@@ -48,10 +321,10 @@ See [`punks.png` »](https://github.com/larvalabs/cryptopunks/blob/master/punks.
48
321
 
49
322
 
50
323
 
51
- Now let's give it a try. Let's mint punk #0, #2890, and #8219:
324
+ Now let's give it a try. Let's save punk #0, #2890, and #8219:
52
325
 
53
326
  ```
54
- $ punk 0 2890 8219
327
+ $ punk tile 0 2890 8219
55
328
  ```
56
329
 
57
330
  printing:
@@ -60,9 +333,9 @@ printing:
60
333
  ==> reading >./punks.png<...
61
334
  >ac39af4793119ee46bbff351d8cb6b5f23da60222126add4268e261199a2921b< SHA256 hash matching
62
335
  ✓ True Official Genuine CryptoPunks™ verified
63
- ==> (1/3) minting punk #0; writing to >./punk-0000.png<...
64
- ==> (2/3) minting punk #2890; writing to >./punk-2890.png<...
65
- ==> (3/3) minting punk #8219; writing to >./punk-8219.png<...
336
+ ==> (1/3) saving punk #0 to >./punk-0000.png<...
337
+ ==> (2/3) saving punk #2890 to >./punk-2890.png<...
338
+ ==> (3/3) saving punk #8219 to >./punk-8219.png<...
66
339
  ```
67
340
 
68
341
  And voila!
@@ -73,14 +346,14 @@ And voila!
73
346
 
74
347
 
75
348
 
76
- **Bonus: Try the `-z/--zoom` factor x2, x4, x8, etc.**
349
+ **Bonus: Try the `-z/--zoom` factor 2x, 4x, 8x, etc.**
77
350
 
78
- Let's give it a try. Let's mint punk #0, #2890, and #8219 in 2x format:
351
+ Let's give it a try. Let's save punk #0, #2890, and #8219 in 2x format:
79
352
 
80
353
  ```
81
- $ punk --zoom 2 0 2890 8219
354
+ $ punk --zoom 2 tile 0 2890 8219
82
355
  # -or-
83
- $ punk -z2 0 2890 8219
356
+ $ punk -z2 t 0 2890 8219
84
357
  ```
85
358
 
86
359
  printing:
@@ -90,9 +363,9 @@ printing:
90
363
  >ac39af4793119ee46bbff351d8cb6b5f23da60222126add4268e261199a2921b< SHA256 hash matching
91
364
  ✓ True Official Genuine CryptoPunks™ verified
92
365
  setting zoom to 2x
93
- ==> (1/3) minting punk #0; writing to >punk-0000x2.png<...
94
- ==> (2/3) minting punk #2890; writing to >punk-2890x2.png<...
95
- ==> (3/3) minting punk #8219; writing to >punk-8219x2.png<...
366
+ ==> (1/3) saving punk #0 to >punk-0000@2x.png<...
367
+ ==> (2/3) saving punk #2890 to >punk-2890@2x.png<...
368
+ ==> (3/3) saving punk #8219 to >punk-8219@2x.png<...
96
369
  ```
97
370
 
98
371
  And voila!
@@ -120,7 +393,7 @@ And so on.
120
393
 
121
394
 
122
395
 
123
- ## 10 000 More Punks - Unauthorized? No Way?!- Fuck the Establishment - Yes, You Can - Do-It-Yourself - Use Your Own Collections
396
+ **10 000 More Punks - Unauthorized? No Way?!- Fuck the Establishment - Yes, You Can - Do-It-Yourself - Use Your Own Collections**
124
397
 
125
398
 
126
399
  Use the `-f, --file=FILE` option
@@ -138,12 +411,12 @@ in the series.
138
411
 
139
412
 
140
413
 
141
- Let's mint punk #0, #19, #50, and #89
414
+ Let's save punk #0, #19, #50, and #89
142
415
  and let's add an offset of 10000
143
416
  (to start counting at 10000 instead of 0):
144
417
 
145
418
  ```
146
- $ punk 0 18 40 88 --file ./more-punks-1.png --offset 10000
419
+ $ punk --file ./more-punks-1.png --offset 10000 tile 0 18 40 88
147
420
  ```
148
421
 
149
422
  printing:
@@ -151,10 +424,10 @@ printing:
151
424
  ```
152
425
  ==> reading >./more-punks-1.png<...
153
426
  240x240 (height x width)
154
- ==> (1/4) minting punk #10000; writing to >./punk-10000.png<...
155
- ==> (2/4) minting punk #10018; writing to >./punk-10018.png<...
156
- ==> (3/4) minting punk #10040; writing to >./punk-10040.png<...
157
- ==> (4/4) minting punk #10040; writing to >./punk-10088.png<...
427
+ ==> (1/4) saving punk #10000 to >./punk-10000.png<...
428
+ ==> (2/4) saving punk #10018 to >./punk-10018.png<...
429
+ ==> (3/4) saving punk #10040 to >./punk-10040.png<...
430
+ ==> (4/4) saving punk #10040 to >./punk-10088.png<...
158
431
  ```
159
432
 
160
433
  And voila!
@@ -182,12 +455,12 @@ Let's try the second pack - that is, punks 100 to 199 in the series.
182
455
 
183
456
 
184
457
 
185
- Let's mint punk #0, #79, #80, and #90
458
+ Let's save punk #0, #79, #80, and #90
186
459
  and let's add an offset of 10100
187
460
  (to start counting at 10000 plus 100 instead of 0):
188
461
 
189
462
  ```
190
- $ punk 0 79 80 90 --file ./more-punks-2.png --offset 10100
463
+ $ punk --file ./more-punks-2.png --offset 10100 tile 0 79 80 90
191
464
  ```
192
465
 
193
466
  printing:
@@ -195,10 +468,10 @@ printing:
195
468
  ```
196
469
  ==> reading >./more-punks-2.png<...
197
470
  240x240 (height x width)
198
- ==> (1/4) minting punk #10100; writing to >./punk-10100.png<...
199
- ==> (2/4) minting punk #10179; writing to >./punk-10179.png<...
200
- ==> (3/4) minting punk #10180; writing to >./punk-10180.png<...
201
- ==> (4/4) minting punk #10190; writing to >./punk-10190.png<...
471
+ ==> (1/4) saving punk #10100 to >./punk-10100.png<...
472
+ ==> (2/4) saving punk #10179 to >./punk-10179.png<...
473
+ ==> (3/4) saving punk #10180 to >./punk-10180.png<...
474
+ ==> (4/4) saving punk #10190 to >./punk-10190.png<...
202
475
  ```
203
476
 
204
477
  And voila! Super rare - world's first female alien and much more.
@@ -223,10 +496,12 @@ And so on.
223
496
 
224
497
 
225
498
 
499
+
500
+
226
501
  ## Usage in Your Scripts
227
502
 
228
503
 
229
- Yes, you can mint punks in your own scripts
504
+ Yes, you can generate punks in your own scripts
230
505
  and much more.
231
506
  See the
232
507
  [**Programming CryptoPunks & Copypastas Step-by-Step Booklet / Guide »**](https://github.com/cryptopunksnotdead/programming-cryptopunks)
data/Rakefile CHANGED
@@ -20,6 +20,7 @@ Hoe.spec 'cryptopunks' do
20
20
  self.extra_deps = [
21
21
  ['pixelart'],
22
22
  ['csvreader'],
23
+ ['gli'],
23
24
  ]
24
25
 
25
26
  self.licenses = ['Public Domain']