在生成藝術日漸火爆的當下,越來越多人在問:究竟什麼是生成藝術?為了讓大家理解,我們在徵得生成藝術平台——256ART 的創始人 Tib 授權後將他這篇科普文進行了翻譯。內容對於初學者十分友好,適合每一位想要了解生成藝術的朋友。
作者:Tib,256ART 創始人&gmDAO 核心成員
編譯: An7,藍籌持有者&收藏家
封面: Fidenza #351(@tylerxhobbs 創作,@CozomoMedici 收藏)
什麼是生成藝術? 為什麼 NFT 如此適合它?也許最重要的是,有沒有辦法做得更好?這篇長文旨在教育和普及。我會盡量保持它的初學者友好閱讀。
生成藝術是一個非常寬泛的術語,本文主要關註一種叫長程生成藝術(long form generative art)的子類,使用 JavaScript 語言創建。
具體的,生成藝術是一種使用自管理系統創作的藝術 (在我們的例子中,使用有一定量隨機性構成的 JavaScript 算法;JavaScript 是一種編程語言,常用於在瀏覽器中創建交互效果。
長程 (long form): 由 @tylerxHobbs 創造的名詞,這意味著作品在生成過程中沒有外因管理。即使是藝術家也不知道最終的作品會是什麼樣子。
長程生成藝術品最著名的例子是 Fidenza by @tylerxhobbs,如 @CozomoMedici 收藏的 Fidenza #351 。
另一個令人難以置信的系列是 Ringers by @dmitricherniak,例如 @Vince_Van_Dough 收藏的 Ringers #939。
NFT 空間中的生成藝術,最常見的創建方式如下: 在鏈上,鑄造時生成一個隨機散列,看起來像這樣:
0x0C4969981E56b00eB83814a67b260aa9308A641d) ,
然後在服務器上基於此哈希地址開始生成作品。
通常,一個生成藝術作品的構成如下:
- 實時觀感
- 靜態圖像
- 元數據
實時觀感(或實際藝術品):這是一個包含了 JavaScript 算法的 HTML 頁面(圖像可以是靜止的,也可以是動畫的,取決於代碼腳本)。例子:
靜態圖像: 靜態圖片格式的藝術品是個非常易於使用的格式 (交易市場和社交最常用的格式)。例子:
元數據:這是一個 JSON 格式的文件,包含了該藝術品的所有信息(包括各種屬性+ 靜態圖像的地址等),它也是您的 NFT 的 tokenid 指向的位置。例子:
大多數情況下,上述所有資產都存儲於在線服務器供應商(例如:亞馬遜 S3)或使用 IPFS 存儲。換句話說,上述所有數據都沒有存儲在區塊鏈上!
現在你可能想問,不是幾乎所有的生成藝術平台都號稱作品是全鏈上的嗎?的確如此,我再解釋一下。首先要知道的是,在鏈上存儲任何形式的數據都是非常昂貴的。將復雜的藝術品一件一件地完全上鍊儲存是不可行的。
但在生成藝術領域,代碼是保持不變的,只有輸入值、生成的哈希值會發生變化。這非常適合全鏈上存儲。生成藝術平台完全上鍊的方式通常是將創作代碼存儲在區塊鏈。
用你唯一的哈希值+ 藝術創作代碼,你可以用鏈上數據重構藝術作品。我認為對於不太懂技術的藏家,這不是一件容易的事情,因為它需要一些技術才能真正從鏈中獲取您的藝術品。
即便如此,將藝術創作代碼存儲在鏈上,哪怕一次也是相當昂貴的。大多數情況下,是在非優化 gas 的方式下生成的 (因此相當昂貴)。這可能是生成藝術的價格通常也相當昂貴的原因之一。最重要的是,並非所有的藝術平台都利用了 ERC721 最新的優化,使得鑄造的 gas 成本通常也很高。
那麼,從純技術的角度來看,怎樣才能做得更好呢?
- 從鏈上獲取作品能更簡單
- 推出新的藝術項目成本更低
- 確保我們利用 ERC721 的最新優化,降低 gas 成本
@ Mint256ART . 完成了這三方面的優化。作為一個收藏家,我認為最重要的是知道我們做到了。但如果你想深入了解我們是如何做到的,請繼續讀下去。不過接下來的部分將更加技術性。
就讓我們深入探討一下如何更容易地從鏈上獲得藝術品。我們的目標是創建一個每個藏家都可以執行的用戶流,而不需要大量的技術知識。這時,我們意識到瀏覽器對 base64 編碼的 HTML 有很好的支持。
這意味著,如果瀏覽器地址欄中輸入 base64 字符串,它將呈現已編碼的 HTML 頁面。因此,我們創建了一個函數,它對鏈上的 HTML 頁面 (包括藝術腳本和哈希地址) 執行 base64 編碼。
作為一個藏家,你所要做的就是使用 tokenId 調用 getArtFromChain 函數並將結果復制粘貼到地址欄中。這不是一個鏈接,是直接從鏈上獲取的整個藝術品。不需要 S3 服務器、 IPFS 或任何其他形式的鏈外主機或存儲。
你可以在合約中自己嘗試 (只有 id 0-8,為測試而唯一生成的) 。
在合約中找到 getArtFromChain 方法,輸入 0-8 隨便一個數字,點擊 Query,獲得一個長篇的文本,複製整個文本到瀏覽器地址欄然後回車,藝術作品會在瀏覽器中開始渲染生成。
https://rinkeby.etherscan.io/address/0x0c4969981e56b00eb83814a67b260aa9308a641d#readContract
接下來,我們可以以降低 10 倍的成本推出全新的生成藝術項目。是的,你沒看錯,成本下降 10 倍!
使用 EIP-1167 最小代理合約,合約部署成本降低了 10 倍+,即使使用執行最高效的鏈上存儲方式 “常量” 而不是 “內存” 來存儲代碼,也大約降了 4 倍成本。
樣例及樣例項目中的生成藝術代碼:
https://rinkeby.etherscan.io/address/0xAf8d9c3a754DD3356Bf267Af5bA87aBda632da0f
最後,我們可以利用最近 ERC721 合約的改進來降低 gas 成本。像 @nftchance 這樣有才華的開發人員改進了 ERC721,鑄造的 gas 成本便宜了 5 倍。在我看來,不利用這些優化是對你藏家社區的傷害!
說了這麼多,我很興奮的介紹一下 @Mint256ART ——一個新的生成藝術平台,將實現上述所有內容(以及許多其他非技術改進),並預計最遲會在下個月底推出。
記錄所有信息的 notion 地址如下:
https://256art.notion.site/256ART-45d735feb9aa40af8e76d1cac10affec
免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。本文內容僅用於信息分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。