Bitcoin (Inscription) Generative Image Machinery
bitgen - bitcoin (inscription) generative image machinery incl gen-brc721 & co
- home :: github.com/ordbase/ordbase
- bugs :: github.com/ordbase/ordbase/issues
- gem :: rubygems.org/gems/bitgen
- rdoc :: rubydoc.info/gems/bitgen
Usage
Generative BRC-721 (Gen BRC-721 or GBRC-721)
(historic) ordinal (bitcoin) protocol by Jerry Fanelli proposed / published in mid-May 2023
- Generative BRC-721 Proposol - https://github.com/jerryfane/generative-brc-721
- Analytics (Dune) Dashboard - https://dune.com/j543/generative-brc-721
note: Gen BRC-721 is ded. Jerry Fanelli proposed BRC-69 as the official successor in July 2023 BUT yes, Ordgen / ORC-721 may be the better (generative) alternative protocol / winner.
Let's try some (historic) Gen BRC-721 collections...
Collection №1 - 1000 Ordibots (32x32px)
The world's first gen-brc-721
Find the deploy text @ inscription no 8326719 - May 21, 2023 by Jerry Fanelli.
Let's generate some ulta-rare never-before-seen (do-it-yourself) ordibots.
require 'bitgen'
## step 1: read in the deploy text (incl the base64-encoded generative images)
gen = Bitgen::Generator.read( './ordibots.json' )
## step 2: generate your images
bot = gen.generate( accessories: 'antenna',
body: 'gold-oval',
belly: 'chess',
face: 'happy',
)
bot.save( "./bot1.png" )
bot.zoom( 4 ).save( "./[email protected]" )
bot = gen.generate( background: 'bitcoin-orange',
accessories: 'rainbow',
body: 'standard-square',
belly: 'empty',
face: 'unimpressed'
)
bot.save( "./bot2.png" )
bot.zoom( 4 ).save( "./[email protected]" )
bot = gen.generate( background: 'bitcoin-orange',
accessories: 'rainbow',
body: 'black-and-white-triangular',
belly: 'square',
face: 'happy'
)
bot.save( "./bot3.png" )
bot.zoom( 4 ).save( "./[email protected]" )
resulting in:
in 4x:
If you wonder what categories and names can I use?
Print the cheatsheet returned by Catalog#cheat
.
catalog = Bitgen::Catalog.read( './ordibots.json' )
puts catalog.cheat
resulting in:
0 - background (4)
0 - blue
1 - bitcoin-orange
2 - brown
3 - purple
1 - accessories (3)
0 - antenna
1 - none
2 - rainbow
2 - face (7)
0 - happy
1 - neutral
2 - surprised
3 - unimpressed
4 - angry
5 - bored-green
6 - bored-red
3 - body (9)
0 - standard-triangular
1 - standard-square
2 - standard-oval
3 - gold-oval
4 - black-and-white-square
5 - black-and-white-oval
6 - black-and-white-triangular
7 - gold-square
8 - gold-triangular
4 - belly (3)
0 - empty
1 - chess
2 - square
Now if you wonder what do these look in pixels?
Export all images (in 1x and 8x) using Catalog#export
for browsing
using your local image viewer / file explorer.
catalog = Bitgen::Catalog.read( './ordibots.json' )
catalog.export
resulting in:
/ordibots
+---0_background
| 0_blue.png
| [email protected]
| 1_bitcoin-orange.png
| [email protected]
| 2_brown.png
| [email protected]
| 3_purple.png
| [email protected]
|
+---1_accessories
| 0_antenna.png
| [email protected]
| 1_none.png
| [email protected]
| 2_rainbow.png
| [email protected]
|
+---2_face
| 0_happy.png
| [email protected]
| 1_neutral.png
| [email protected]
| 2_surprised.png
| [email protected]
| 3_unimpressed.png
| [email protected]
| 4_angry.png
| [email protected]
| 5_bored-green.png
| [email protected]
| 6_bored-red.png
| [email protected]
|
+---3_body
| 0_standard-triangular.png
| [email protected]
| 1_standard-square.png
| [email protected]
| 2_standard-oval.png
| [email protected]
| 3_gold-oval.png
| [email protected]
| 4_black-and-white-square.png
| [email protected]
| 5_black-and-white-oval.png
| [email protected]
| 6_black-and-white-triangular.png
| [email protected]
| 7_gold-square.png
| [email protected]
| 8_gold-triangular.png
| [email protected]
|
\---4_belly
0_empty.png
[email protected]
1_chess.png
[email protected]
2_square.png
[email protected]
Collection №2 - 20 000 Blooming Flower (80x80px)
Find the deploy text @ inscription no 17707699 - July 17, 2023.
Let's generate some ulta-rare never-before-seen (do-it-yourself) blooming flowers.
require 'bitgen'
## step 1: read in the deploy text (incl the base64-encoded generative images)
gen = Bitgen::Generator.read( './blooming-flower.json' )
## step 2: generate your images
flower = gen.generate( background: 'new-moon',
window: 'simple-yellow',
table: 'metal',
flowerpot: 'ceramics-red',
rose: 'bud-red',
)
flower.save( "./flower1.png" )
flower.zoom( 4 ).save( "./[email protected]" )
flower = gen.generate( background: 'autumn',
window: 'sliding-yellow',
table: 'wood',
flowerpot: 'ceramics-blue',
rose: 'bud-white',
)
flower.save( "./flower2.png" )
flower.zoom( 4 ).save( "./[email protected]" )
flower = gen.generate( flowerpot: 'ceramics-red',
rose: 'bud-red',
)
flower.save( "./flower1a.png" )
flower.zoom( 4 ).save( "./[email protected]" )
flower = gen.generate( flowerpot: 'ceramics-blue',
rose: 'bud-white',
)
flower.save( "./flower2a.png" )
flower.zoom( 4 ).save( "./[email protected]" )
resulting in:
in 4x:
That's it for now.
License
The scripts are dedicated to the public domain. Use it as you please with no restrictions whatsoever.
Questions? Comments?
Join us in the Ordgen / ORC-721 discord (chat server). Yes you can. Your questions and commetary welcome.
Or post them over at the Help & Support page. Thanks.