CryptoAgents:一个智能合约艺术收藏 像 @cryptopunksnfts 和 @autoglyphs 这样的智能合约艺术是加密艺术的圣杯 CryptoAgents 遵循相同的原则 - 每个像素都完全存储在 @ethereum 上 让我们深入了解 CryptoAgents 的运作方式 🧵
1/ 视觉资产注册 所有视觉资产首先注册到CryptoAgents Solidity智能合约中,这使我们能够组合出10,000个代理。 三个主要功能: - addDNA(): 外星人,猩猩等 - addItem(): 眼睛,头部等 - setPalettes(): Popsicl,善良等
2/ 链上艺术渲染 该功能的工作原理如下: - 获取每个特征(DNA、头部等)的位置信息 - 将每个特征映射到其颜色调色板 - 生成一个 24×24 像素的地图(2304 字节),每个像素具有 RGBA 值 - 将所有特征组合成一个单一的像素数组
有趣的部分在于它如何处理特征数据: - 每个特征都有引用调色板索引的位置 - 它以5个字节(x, y, r, g, b)为一组进行处理 - 它将这些组装成一个单一的24×24 RGBA像素缓冲区
3/ SVG 生成 以下是我们实现的一个函数,该函数返回每个 CryptoAgent 的 SVG: - 从艺术渲染函数获取像素数据 - 遍历每个像素 - 对于非透明像素(alpha > 0),创建一个带有颜色的 SVG 矩形 - 将所有矩形组合成一个完整的 SVG - 返回包含 SVG 内容的数据 URI SVG 使用 1×1 的矩形表示每个像素,定位在正确的 x,y 坐标上。
4/ 汇编优化 - 我们使用汇编进行内存操作以节省燃气 - 我们还使用自定义格式高效编码 ERG 值
3.13K