cryptopunks 1.2.2 → 2.1.0

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: 40ec7d396eeeca8b4363ac52ca11cd4bb28c6ec9aa88c026e605378af16c8369
4
- data.tar.gz: a111a3dbbec40626e42f86a295adc00b90979c53081b43ed8d96b30ef5e0bdba
3
+ metadata.gz: 6d5c5095393516405521c5015bba5c08d8c664ed7069a3e2d40e18fa954a3966
4
+ data.tar.gz: 2e1f634711c262c540e069128842e547d9e43d4695d90022ed0d91f25c0f6f41
5
5
  SHA512:
6
- metadata.gz: 1c0b5c1ac7ffa4d0db4677f8541d1f03c72726b50abfbd2da62ef97c4047f43373f58234b8ad19b4a000c60d70f1881c2aa0719a0a3930a59387a67a6446a796
7
- data.tar.gz: 8b8e1ab287df0f36543c23491e5727c688672dcc898b02086a4332bc6bcf6f46f8b5cf4ee159ad6ce7d09e344c04f5cd82510b5a7d1d697cd17626bc5914aab6
6
+ metadata.gz: e377b5fa5e4652bdabf9ad77bf95aaea875fe84a5d778579e974573afb054157540fb40742019e20c80070ea9de163af116b605e1e8be08783d24e960562ac39
7
+ data.tar.gz: 882ef4d31762e7d14d3b8da4e3a2a41a8409d96cb2f29b89e70b77b7acf9427a0a5721b4f8eab9da9d12ae0fa1373a26ab226003d589ffe7aca3379966503989
data/Manifest.txt CHANGED
@@ -4,34 +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
27
7
  config/spritesheet.csv
28
8
  config/spritesheet.png
29
9
  lib/cryptopunks.rb
30
10
  lib/cryptopunks/attributes.rb
31
11
  lib/cryptopunks/colors.rb
32
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
33
16
  lib/cryptopunks/dataset.rb
34
17
  lib/cryptopunks/generator.rb
35
18
  lib/cryptopunks/image.rb
36
19
  lib/cryptopunks/structs.rb
20
+ lib/cryptopunks/tool.rb
37
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,296 @@ $ 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.1.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
+ --seed=NUM - Seed for random number generation /
43
+ shuffle (default: 4142)
44
+ -z, --zoom=ZOOM - Zoom factor x2, x4, x8, etc. (default: 1)
45
+
46
+ --help - Show this message
47
+ --version - Display the program version
48
+ --verbose - (Debug) Show debug messages
49
+
50
+
51
+ COMMANDS
52
+ g, gen, generate - Generate punk characters from text attributes (from
53
+ scratch / zero) via builtin punk spritesheet
54
+ l, ls, list - List all punk archetype and attribute names from builtin
55
+ punk spritesheet
56
+ q, query - Query (builtin off-chain) punk contract for punk text
57
+ attributes by IDs - use 0 to 9999
58
+ t, tile - Get punk characters via image tiles from all-in-one punk
59
+ series composite (./punks.png) - for IDs use 0 to 9999
60
+ f, flip - Flip (vertically) all punk characters in all-in-one punk
61
+ series composite (./punks.png)
62
+ s, shuffle - Shuffle all punk characters (randomly) in all-in-one
63
+ punk series composite (./punks.png)
64
+
65
+ help - Shows a list of commands or help for one command
66
+ ```
67
+
68
+
69
+ ### Generate Command
70
+
71
+ _Generate punk characters from text attributes (from scratch / zero) via builtin punk spritesheet_
72
+
73
+
74
+ Let's try punk #0:
75
+
76
+ ```
77
+ $ punk generate female_2 earring blonde_bob green_eye_shadow
78
+ ```
79
+
80
+ resulting in:
81
+
82
+ ![](i/punk-0000.png)
83
+
84
+ Let's try the `-z/--zoom` factor 2x, 4x, 8x, etc.:
85
+
86
+ ```
87
+ $ punk --zoom 4 generate female_2 earring blonde_bob green_eye_shadow
88
+ # -or-
89
+ $ punk -z2 g female_2 earring blonde_bob green_eye_shadow
90
+ ```
91
+
92
+ resulting in:
93
+
94
+ 2x ![](i/punk-0000x2.png)
95
+ 4x ![](i/punk-0000x4.png)
96
+ 8x ![](i/punk-0000x8.png)
97
+
98
+
99
+ Let's try never-before-seen super-rare punks:
100
+
101
+ ```
102
+ $ punk generate demon heart_shades
103
+ $ punk generate vampire_female wild_hair
104
+ ```
105
+
106
+ resulting in:
107
+
108
+ ![](i/demon.png)
109
+ ![](i/vampire-female.png)
110
+
111
+
112
+
113
+ Q: What punk archetypes and attributes can I use?
114
+
115
+ A: See the list command.
116
+
117
+
118
+ ### List Command
119
+
120
+ _List all punk archetype and attribute names from builtin punk spritesheet_
121
+
122
+
123
+ Let's try:
124
+
125
+ ```
126
+ $ punk list
127
+ # -or-
128
+ $ punk ls
129
+ ```
130
+
131
+ resulting in:
132
+
133
+ ```
134
+ ==> Archetypes
135
+ Male 1 / (m) - Archetype - Human
136
+ Male 2 / (m) - Archetype - Human
137
+ Male 3 / (m) - Archetype - Human
138
+ Male 4 / (m) - Archetype - Human
139
+ Female 1 / (f) - Archetype - Human
140
+ Female 2 / (f) - Archetype - Human
141
+ Female 3 / (f) - Archetype - Human
142
+ Female 4 / (f) - Archetype - Human
143
+ Zombie / (m) - Archetype - Zombie
144
+ Zombie Female / (f) - Archetype - Zombie
145
+ Ape / (m) - Archetype - Ape
146
+ Ape Female / (f) - Archetype - Ape
147
+ Alien / (m) - Archetype - Alien
148
+ Alien Female / (f) - Archetype - Alien
149
+ Demon / (m) - Archetype - Demon
150
+ Demon Female / (f) - Archetype - Demon
151
+ Mummy / (m) - Archetype - Mummy
152
+ Mummy Female / (f) - Archetype - Mummy
153
+ Orc / (m) - Archetype - Orc
154
+ Orc Female / (f) - Archetype - Orc
155
+ Robot / (m) - Archetype - Robot
156
+ Robot Female / (f) - Archetype - Robot
157
+ Skeleton / (m) - Archetype - Skeleton
158
+ Skeleton Female / (f) - Archetype - Skeleton
159
+ Vampire / (m) - Archetype - Vampire
160
+ Vampire Female / (f) - Archetype - Vampire
161
+ Zombie (Ape) / (m) - Archetype - Zombie
162
+ Alien (Ape) / (m) - Archetype - Alien
163
+ Alien 0° / (m) - Archetype - Alien
164
+ Alien 30° / (m) - Archetype - Alien
165
+ Alien 60° / (m) - Archetype - Alien
166
+ Alien 90° / (m) - Archetype - Alien
167
+ Alien 120° / (m) - Archetype - Alien
168
+ Alien 150° / (m) - Archetype - Alien
169
+ Alien 180° / (m) - Archetype - Alien
170
+ Alien 210° / (m) - Archetype - Alien
171
+ Alien 240° / (m) - Archetype - Alien
172
+ Alien 270° / (m) - Archetype - Alien
173
+ Alien 300° / (m) - Archetype - Alien
174
+ Alien 330° / (m) - Archetype - Alien
175
+ Alien (Ape) 0° / (m) - Archetype - Alien
176
+ Alien (Ape) 30° / (m) - Archetype - Alien
177
+ Alien (Ape) 60° / (m) - Archetype - Alien
178
+ Alien (Ape) 90° / (m) - Archetype - Alien
179
+ Alien (Ape) 120° / (m) - Archetype - Alien
180
+ Alien (Ape) 150° / (m) - Archetype - Alien
181
+ Alien (Ape) 180° / (m) - Archetype - Alien
182
+ Alien (Ape) 210° / (m) - Archetype - Alien
183
+ Alien (Ape) 240° / (m) - Archetype - Alien
184
+ Alien (Ape) 270° / (m) - Archetype - Alien
185
+ Alien (Ape) 300° / (m) - Archetype - Alien
186
+ Alien (Ape) 330° / (m) - Archetype - Alien
187
+ Alien Female 0° / (f) - Archetype - Alien
188
+ Alien Female 30° / (f) - Archetype - Alien
189
+ Alien Female 60° / (f) - Archetype - Alien
190
+ Alien Female 90° / (f) - Archetype - Alien
191
+ Alien Female 120° / (f) - Archetype - Alien
192
+ Alien Female 150° / (f) - Archetype - Alien
193
+ Alien Female 180° / (f) - Archetype - Alien
194
+ Alien Female 210° / (f) - Archetype - Alien
195
+ Alien Female 240° / (f) - Archetype - Alien
196
+ Alien Female 270° / (f) - Archetype - Alien
197
+ Alien Female 300° / (f) - Archetype - Alien
198
+ Alien Female 330° / (f) - Archetype - Alien
199
+
200
+ ==> Attributes
201
+ 3D Glasses / (m) - Attribute
202
+ 3D Glasses / (f) - Attribute
203
+ Bandana / (m) - Attribute
204
+ Bandana / (f) - Attribute
205
+ Beanie / (m) - Attribute
206
+ Beanie / (f) - Attribute
207
+ Big Beard / (m) - Attribute
208
+ Big Shades / (m) - Attribute
209
+ Big Shades / (f) - Attribute
210
+ Black Lipstick / (f) - Attribute
211
+ Blonde Bob / (f) - Attribute
212
+ Blonde Short / (f) - Attribute
213
+ Blue Eye Shadow / (f) - Attribute
214
+ Buck Teeth / (m) - Attribute
215
+ Cap / (m) - Attribute
216
+ Cap / (f) - Attribute
217
+ Cap Forward / (m) - Attribute
218
+ Cap Forward / (f) - Attribute
219
+ Chinstrap / (m) - Attribute
220
+ Choker / (f) - Attribute
221
+ Cigarette / (m) - Attribute
222
+ Cigarette / (f) - Attribute
223
+ Classic Shades / (m) - Attribute
224
+ Classic Shades / (f) - Attribute
225
+ Clown Eyes Blue / (m) - Attribute
226
+ Clown Eyes Blue / (f) - Attribute
227
+ Clown Eyes Green / (m) - Attribute
228
+ Clown Eyes Green / (f) - Attribute
229
+ Clown Hair Green / (m) - Attribute
230
+ Clown Hair Green / (f) - Attribute
231
+ Clown Nose / (m) - Attribute
232
+ Clown Nose / (f) - Attribute
233
+ Cowboy Hat / (m) - Attribute
234
+ Cowboy Hat / (f) - Attribute
235
+ Crazy Hair / (m) - Attribute
236
+ Crazy Hair / (f) - Attribute
237
+ Dark Hair / (f) - Attribute
238
+ Do-rag / (m) - Attribute
239
+ Do-rag / (f) - Attribute
240
+ Earring / (m) - Attribute
241
+ Earring / (f) - Attribute
242
+ Eye Mask / (m) - Attribute
243
+ Eye Mask / (f) - Attribute
244
+ Eye Patch / (m) - Attribute
245
+ Eye Patch / (f) - Attribute
246
+ Fedora / (m) - Attribute
247
+ Fedora / (f) - Attribute
248
+ Front Beard / (m) - Attribute
249
+ Front Beard Dark / (m) - Attribute
250
+ Frown / (m) - Attribute
251
+ Frumpy Hair / (m) - Attribute
252
+ Frumpy Hair / (f) - Attribute
253
+ Green Eye Shadow / (f) - Attribute
254
+ Goat / (m) - Attribute
255
+ Gold Chain / (m) - Attribute
256
+ Gold Chain / (f) - Attribute
257
+ ...
258
+ ```
259
+
260
+ See the [**punks.spritesheet**](https://github.com/cryptopunksnotdead/punks.spritesheet) for more.
261
+
262
+
263
+
264
+
265
+ ### Query Command
266
+
267
+ _Query (builtin off-chain) punk contract for punk text attributes by IDs - use 0 to 9999_
268
+
269
+
270
+ Let's try punk #0:
271
+
272
+ ```
273
+ $ punk query 0
274
+ # -or-
275
+ $ punk q 0
276
+ ```
277
+
278
+ resulting in:
279
+
280
+ ```
281
+ ==> (1/1) punk #0...
282
+ female_2 earring blonde_bob green_eye_shadow
283
+ ```
28
284
 
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
285
+ Let's try some top sellers:
286
+
287
+ ```
288
+ $ punk query 7804 3100 5217 8857
289
+ # -or-
290
+ $ punk q 7804 3100 5217 8857
35
291
  ```
36
292
 
293
+ resulting in:
294
+
295
+ ```
296
+ ==> (1/4) punk #7804...
297
+ alien cap_forward pipe small_shades
298
+ ==> (2/4) punk #3100...
299
+ alien headband
300
+ ==> (3/4) punk #5217...
301
+ ape gold_chain knitted_cap
302
+ ==> (4/4) punk #8857...
303
+ zombie wild_hair 3d_glasses
304
+ ```
305
+
306
+ Note: Yes, you can pass the text attributes to the generate command
307
+ to get a free "cleanroom" copy built from scratch / zero
308
+ that you own 100% forever.
309
+
310
+
311
+
312
+ ### Tile Command
313
+
314
+ _Get punk characters via image tiles from all-in-one punk series composite (`./punks.png`) - for IDs use 0 to 9999_
315
+
316
+
37
317
 
38
318
  Step 0 - Download the True Official Genuine CryptoPunks™ composite image
39
319
 
@@ -48,10 +328,10 @@ See [`punks.png` »](https://github.com/larvalabs/cryptopunks/blob/master/punks.
48
328
 
49
329
 
50
330
 
51
- Now let's give it a try. Let's mint punk #0, #2890, and #8219:
331
+ Now let's give it a try. Let's save punk #0, #2890, and #8219:
52
332
 
53
333
  ```
54
- $ punk 0 2890 8219
334
+ $ punk tile 0 2890 8219
55
335
  ```
56
336
 
57
337
  printing:
@@ -60,9 +340,9 @@ printing:
60
340
  ==> reading >./punks.png<...
61
341
  >ac39af4793119ee46bbff351d8cb6b5f23da60222126add4268e261199a2921b< SHA256 hash matching
62
342
  ✓ 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<...
343
+ ==> (1/3) saving punk #0 to >./punk-0000.png<...
344
+ ==> (2/3) saving punk #2890 to >./punk-2890.png<...
345
+ ==> (3/3) saving punk #8219 to >./punk-8219.png<...
66
346
  ```
67
347
 
68
348
  And voila!
@@ -73,14 +353,14 @@ And voila!
73
353
 
74
354
 
75
355
 
76
- **Bonus: Try the `-z/--zoom` factor x2, x4, x8, etc.**
356
+ **Bonus: Try the `-z/--zoom` factor 2x, 4x, 8x, etc.**
77
357
 
78
- Let's give it a try. Let's mint punk #0, #2890, and #8219 in 2x format:
358
+ Let's give it a try. Let's save punk #0, #2890, and #8219 in 2x format:
79
359
 
80
360
  ```
81
- $ punk --zoom 2 0 2890 8219
361
+ $ punk --zoom 2 tile 0 2890 8219
82
362
  # -or-
83
- $ punk -z2 0 2890 8219
363
+ $ punk -z2 t 0 2890 8219
84
364
  ```
85
365
 
86
366
  printing:
@@ -90,9 +370,9 @@ printing:
90
370
  >ac39af4793119ee46bbff351d8cb6b5f23da60222126add4268e261199a2921b< SHA256 hash matching
91
371
  ✓ True Official Genuine CryptoPunks™ verified
92
372
  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<...
373
+ ==> (1/3) saving punk #0 to >punk-0000@2x.png<...
374
+ ==> (2/3) saving punk #2890 to >punk-2890@2x.png<...
375
+ ==> (3/3) saving punk #8219 to >punk-8219@2x.png<...
96
376
  ```
97
377
 
98
378
  And voila!
@@ -120,7 +400,7 @@ And so on.
120
400
 
121
401
 
122
402
 
123
- ## 10 000 More Punks - Unauthorized? No Way?!- Fuck the Establishment - Yes, You Can - Do-It-Yourself - Use Your Own Collections
403
+ **10 000 More Punks - Unauthorized? No Way?!- Fuck the Establishment - Yes, You Can - Do-It-Yourself - Use Your Own Collections**
124
404
 
125
405
 
126
406
  Use the `-f, --file=FILE` option
@@ -138,12 +418,12 @@ in the series.
138
418
 
139
419
 
140
420
 
141
- Let's mint punk #0, #19, #50, and #89
421
+ Let's save punk #0, #19, #50, and #89
142
422
  and let's add an offset of 10000
143
423
  (to start counting at 10000 instead of 0):
144
424
 
145
425
  ```
146
- $ punk 0 18 40 88 --file ./more-punks-1.png --offset 10000
426
+ $ punk --file ./more-punks-1.png --offset 10000 tile 0 18 40 88
147
427
  ```
148
428
 
149
429
  printing:
@@ -151,10 +431,10 @@ printing:
151
431
  ```
152
432
  ==> reading >./more-punks-1.png<...
153
433
  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<...
434
+ ==> (1/4) saving punk #10000 to >./punk-10000.png<...
435
+ ==> (2/4) saving punk #10018 to >./punk-10018.png<...
436
+ ==> (3/4) saving punk #10040 to >./punk-10040.png<...
437
+ ==> (4/4) saving punk #10040 to >./punk-10088.png<...
158
438
  ```
159
439
 
160
440
  And voila!
@@ -182,12 +462,12 @@ Let's try the second pack - that is, punks 100 to 199 in the series.
182
462
 
183
463
 
184
464
 
185
- Let's mint punk #0, #79, #80, and #90
465
+ Let's save punk #0, #79, #80, and #90
186
466
  and let's add an offset of 10100
187
467
  (to start counting at 10000 plus 100 instead of 0):
188
468
 
189
469
  ```
190
- $ punk 0 79 80 90 --file ./more-punks-2.png --offset 10100
470
+ $ punk --file ./more-punks-2.png --offset 10100 tile 0 79 80 90
191
471
  ```
192
472
 
193
473
  printing:
@@ -195,10 +475,10 @@ printing:
195
475
  ```
196
476
  ==> reading >./more-punks-2.png<...
197
477
  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<...
478
+ ==> (1/4) saving punk #10100 to >./punk-10100.png<...
479
+ ==> (2/4) saving punk #10179 to >./punk-10179.png<...
480
+ ==> (3/4) saving punk #10180 to >./punk-10180.png<...
481
+ ==> (4/4) saving punk #10190 to >./punk-10190.png<...
202
482
  ```
203
483
 
204
484
  And voila! Super rare - world's first female alien and much more.
@@ -223,10 +503,112 @@ And so on.
223
503
 
224
504
 
225
505
 
506
+ ### Flip Command
507
+
508
+ _Flip (vertically) all punk characters in all-in-one punk series composite (`./punks.png`)_
509
+
510
+
511
+ Let's generate an all new punk series by turning all punks
512
+ in the classic series
513
+ from right-looking to left-looking
514
+ by flipping vertically "one-by-one by hand [thanks to philip the intern]"
515
+ all punks. Phree the phunks! Let's give it a try:
516
+
517
+ ```
518
+ $ punk flip
519
+ # - same as -
520
+ $ punk --file ./punks.png flip
521
+ ```
522
+
523
+ printing:
524
+
525
+ ```
526
+ ==> reading >./punks.png<...
527
+ >ac39af4793119ee46bbff351d8cb6b5f23da60222126add4268e261199a2921b< SHA256 hash matching
528
+ ✓ True Official Genuine CryptoPunks™ verified
529
+ (1/10000) philip the intern flipping punk #0...
530
+ (2/10000) philip the intern flipping punk #1...
531
+ ...
532
+ ==> saving phunks flipped one-by-one by hand to >./punks-flipped.png<...
533
+ ```
534
+
535
+ And voila!
536
+
537
+ Yes, you can use any 24x24 composite. Use the `--file` option.
538
+ Example - let's flip the 1000 More Punks collection:
539
+
540
+ ```
541
+ $ punk --file ./morepunks.png flip
542
+ ```
543
+
544
+ And so on.
545
+
546
+
547
+
548
+
549
+ ### Shuffle Command
550
+
551
+ _Shuffle all punk characters (randomly) in all-in-one punk series composite (`./punks.png`)_
552
+
553
+ Let's generate an all new punks series by randomly shuffling
554
+ "one-by-one by hand [thanks to philip the intern]".
555
+ Let's give it a try:
556
+
557
+ ```
558
+ $ punk shuffle
559
+ # - same as -
560
+ $ punk --file ./punks.png --seed 4142 shuffle
561
+ ```
562
+
563
+ printing:
564
+
565
+ ```
566
+ ==> reading >./punks.png<...
567
+ >ac39af4793119ee46bbff351d8cb6b5f23da60222126add4268e261199a2921b< SHA256 hash matching
568
+ ✓ True Official Genuine CryptoPunks™ verified
569
+ using random generation number seed >4142< for shuffle
570
+ #1369 now #0
571
+ #590 now #1
572
+ #1635 now #2
573
+ #3199 now #3
574
+ ...
575
+ ==> saving p(h)unks shuffled one-by-one by hand to >./punks-4142.png<...
576
+ ```
577
+
578
+ And voila!
579
+
580
+ Note: The shuffle command also prints out
581
+ all new index numbers for easy reference (to reuse attributes and so on):
582
+
583
+ ```
584
+ All 10000 index numbers (zero-based) for reference using seed 4142:
585
+
586
+ [1369, 590, 1635, 3199, 1887, 7719, 5747, 2146, 6671, 7144,
587
+ 1428, 7817, 1219, 163, 7186, 8488, 7191, 5240, 7226, 6574,
588
+ 1619, 1701, 3018, 4745, 2438, 6474, 4756, 9300, 9382, 9528,
589
+ 102, 1847, 2848, 8369, 7825, 842, 66, 1035, 2934, 2442,
590
+ ...
591
+ 8789, 7299, 4403, 5972, 338, 5635, 7566, 828, 8987, 9777]
592
+ ```
593
+
594
+
595
+
596
+ Yes, you can use any 24x24 composite. Use the `--file` option.
597
+ Example - let's flip the 1000 More Punks collection:
598
+
599
+ ```
600
+ $ punk --file ./morepunks.png shuffle
601
+ ```
602
+
603
+ And so on.
604
+
605
+
606
+
607
+
226
608
  ## Usage in Your Scripts
227
609
 
228
610
 
229
- Yes, you can mint punks in your own scripts
611
+ Yes, you can generate punks in your own scripts
230
612
  and much more.
231
613
  See the
232
614
  [**Programming CryptoPunks & Copypastas Step-by-Step Booklet / Guide »**](https://github.com/cryptopunksnotdead/programming-cryptopunks)
data/Rakefile CHANGED
@@ -18,8 +18,9 @@ Hoe.spec 'cryptopunks' do
18
18
  self.history_file = 'CHANGELOG.md'
19
19
 
20
20
  self.extra_deps = [
21
- ['pixelart'],
21
+ ['pixelart', '>= 1.2.1'],
22
22
  ['csvreader'],
23
+ ['gli'],
23
24
  ]
24
25
 
25
26
  self.licenses = ['Public Domain']