=+==+=(o-o){\:/}==

OWLS × ETHEREUM

ランダムエントロピーからイーサリアムメインネット上の決定論的永続性へ移住する9,999羽のコード生成された鳥類の観察研究。

コレクションを探索
01

純粋なオンチェーンアート

299行のSolidityコード。依存関係ゼロ。すべてのフクロウは純粋なコントラクトロジックとして永遠に存在します。サーバーもIPFSもなく、ブロックチェーン自体から生まれる決定論的アート。

// tokenURI from Owls.sol
function tokenURI(uint256 tokenId) public view returns (string memory) {
require(_exists(tokenId), "Owl does not exist.");
uint256 seed = seeds[tokenId];
return descriptor.tokenURI(tokenId, seed);
}
02

ブロックハッシュエントロピー

ミント時、コントラクトはblockhashを読み取ります。この256ビット値は、keccak256を通じてトークンIDと組み合わされ、フクロウの不変のシードになります。

// random() from Owls.sol
function random(uint256 tokenId) private view returns (uint256) {
return uint256(
keccak256(abi.encodePacked(blockhash(block.number - 1), tokenId))
);
}
03

ビットシフトマジック

256ビットシードはモジュロ演算で分解されます。各特性は特定のビットを抽出:頭部は0-47ビット、顔は48-95、体は96-143、足は144-191。色と形が織り交ぜられます。

// generateSeed() from Owls.sol
function generateSeed(uint256 tokenId) private view returns (uint256) {
uint256 r = random(tokenId);
uint256 headSeed = 100 * (r % 7 + 10) + ((r >> 48) % 20 + 10);
uint256 faceSeed = 100 * ((r >> 96) % 6 + 10) + ((r >> 96) % 20 + 10);
...
}
04

リアルタイムSVG生成

事前保存された画像はありません。コントラクトはabi.encodePacked()を使用してメモリ内でSVGを構築します。カスタムWOFF2フォントはインラインでbase64エンコードされ、どこでも完璧にレンダリングされます。

// tokenURI from OwlDescriptorV3.sol
function tokenURI(...) {
// Extract traits from seed
Trait memory head = getHead(seed / 1000000000000);
Trait memory face = getFace((seed / 100000000) % 10000);
Trait memory body = getBody((seed / 10000) % 10000);
Trait memory feet = getFeet(seed % 10000);
...
// Assemble SVG from traits
string memory rawSvg = string(
abi.encodePacked(
'<text x="160" y="130">',
head.content, face.content, body.content, feet.content,
'</text>'
));
}
05

ガス最適化エンジニアリング

すべての行が効率のために最適化されています。uncheckedブロックは安全な場所でオーバーフローチェックをスキップします。バッチミントは最大100個のフクロウに単一のSSTOREを使用。結果:30%のガス節約。

MINT GAS
~65K
CONTRACT SIZE
24KB
ON-CHAIN %
100%
TOTAL SUPPLY
9,999
06

進化するキャンバス

3つのディスクリプタバージョンがオンチェーンにデプロイされています。チームはビジュアルレンダラーをアップグレードでき、将来のコンペティション、芸術的改善、コミュニティカスタマイゼーションを可能にします。あなたのフクロウのシードは不変のまま、その表現は進化できます。

Network:Ethereum Mainnet
Status:
Live

私たちは誰か

スイスは世界に時計とチョコレートをもたらしました。今度は、Web3、ASCIIアート、そしてもちろんフクロウに夢中になったアルプスの2人が作った9,999個のASCIIフクロウのコレクションをお届けします。どういたしまして。

ご質問は?hey@goodbird.io

Ready to own a piece of history?