CryptoAgents: スマートコントラクトアートコレクション @cryptopunksnfts & @autoglyphs のようなスマート コントラクト アートは、暗号アートの聖杯です CryptoAgents も同じ原則に従い、すべてのピクセルが完全に @ethereum に保存されます CryptoAgents がどのように機能🧵するかを詳しく見てみましょう
1/ ビジュアルアセット登録 すべてのビジュアルアセットは、最初にCryptoAgentsのSolidityスマートコントラクトに登録され、10,000のエージェントを構成できます。 3つの主な機能: - addDNA(): エイリアン、コングなど - addItem(): 目、頭など - setPalettes(): アイスキャンディー、優しさなど
2/ オンチェーンアートレンダリング この関数は次のように機能します。 - 各形質(DNA、頭など)の位置データを取得 - 各特性をカラーパレットにマッピングします - 各ピクセルに RGBA 値を持つ 24×24 ピクセル マップ (2304 バイト) を生成します。 - すべての特性を 1 つのピクセル配列に結合します
興味深いのは、特性データの処理方法です。 - 各特性には、パレットインデックスを参照する位置があります。 - これらを 5 バイトのグループ (x、y、r、g、b) で処理します。 - これらを単一の 24×24 RGBA ピクセル バッファに組み立てます。
3/ SVGの生成 各 CryptoAgent を SVG として返す関数を実装する方法は次のとおりです。 - アートレンダリング関数からピクセルデータを取得 - 各ピクセルをループします - 不透明ピクセル (アルファ > 0) の場合、色 - すべての長方形を完全な SVG に結合します。 - SVG コンテンツを含むデータ URI を返します。 SVG は、各ピクセルにサイズ 1×1 の長方形を使用し、正しい x、y 座標に配置されます。
4/ アセンブリの最適化 - ガスを節約するためにメモリ操作にアセンブリを使用します - また、カスタム形式を使用して ERG 値を効率的にエンコードします
3.13K