


NFT 在區塊鏈上代表獨一無二的資產,每個 NFT 皆以 URI 標識,指向元資料及相關視覺內容。這些 URI 可採 HTTP 連結、雜湊型 IPFS 位址、激勵型儲存的 Arweave,或將所有資訊直接嵌入的 data URI。data URI 方式逐漸成為主流,讓創作者能將 NFT 內容完全存放於鏈上,確保永續保存,不需仰賴外部基礎設施。SVG 格式原生支援瀏覽器且適合智慧合約儲存最佳化,已成為以太坊鏈上 NFT 視覺首選,提供數位資產永久存證的堅實解決方案。
在以太坊區塊鏈,上傳程式碼需支付 Gas 費。凡涉及狀態變更的操作都需發送交易並產生費用,唯獨唯讀操作不需成本。用戶瀏覽鏈上 SVG NFT 時,智慧合約透過 tokenURI() 函式動態生成圖像,此函式依據當前狀態執行但不改變鏈狀態,因此無需 Gas。這種動態渲染機制已成鏈上 SVG 專案的核心。例如 Neolastics,鑄造 NFT 時分配唯一 ID 作為生成函式輸入,確保 SVG 輸出始終一致,兼具可重現性與動態生成。開發者一大技術挑戰在於如何透過高效程式設計優化程式碼,使其能於交易 Gas 限制內順利執行,這一過程即稱為「Gas Golf」。
Avastars 首創 NFT 鏈上 SVG 儲存。雖然最初採用 HTTP 元資料伺服器,但完整 SVG 及元資料仍能透過 getAvastarMetadata() 與 AvastarsTeleporter 合約的 renderAvastar() 在鏈上復現。此冗餘機制確保即使外部伺服器失效,內容仍可保留。Avastars 以拼接最初注入的 智慧合約 SVG 元件,將不同特徵合成 SVG 圖像,可直接依鏈上資料完整重建作品。
Squiggly 採用與 Avastars 類似的混合架構,兼具 HTTP 元資料伺服器與鏈上復現,主要透過 getIdtoSVG() 完成。不同於 Avastars 按特徵逐項儲存,Squiggly 在合約部署時一次上傳完整 SVG 程式碼。渲染時,系統依據種子值動態生成漸層與曲線,為每個 Token 創造獨特視覺效果。值得一提的是,Squiggly 引入非標準「image_data」元資料欄位,主流 NFT 平台為支援 data URI 渲染而採用此方案直到市場普遍相容。
Neolastics 架構與 Squiggly 類似,既有鏈下元資料伺服器,也具備鏈上藝術品復現。generateSVGofTokenById() 函式可直接生成 SVG 資料,即使元資料伺服器失效也能還原圖像。SVG 元件於合約部署時上傳,並依種子參數動態組合。此方法兼顧傳統元資料伺服器使用體驗與鏈上可復現性安全性。
TinyBoxes 引入 SVG 動畫元素,實現由靜態到動態的突破。tokenArt() 函式負責自訂渲染,同時保留鏈下元資料伺服器架構。其特色在於將特徵元資料以 HTML 標籤嵌入 SVG 圖像本體,而非於鏈上獨立儲存元資料。動畫元素由隨機種子生成,複雜度高於其他專案。為克服 Solidity 字串處理限制,TinyBoxes 設計 SVG.sol,作為封裝渲染與動畫生成邏輯的抽象層。
Mandalas 徹底革新架構,全面捨棄 HTTP 元資料伺服器,將完整 JSON 元資料及 base64 編碼 SVG 圖像直接存入 data URI。此創新需以 base64 編碼安全處理特殊 URI 字元,但相較純 SVG 增加 Gas 消耗。此方式保證瀏覽器相容,解碼 data URI 可還原完整藝術品。Mandalas 採獨特渲染系統,在模板化曼荼羅結構上繪製 base64 像素,生成程式化幾何圖案。
UniSwap V3 NFTs 整合高級動畫效果與全鏈上儲存,採用全面 base64 編碼。具體做法為巢狀編碼:data URI 包含 base64 編碼的 JSON 元資料,元資料再嵌入 base64 編碼 SVG 圖像。此舉推動 data URI 在 NFT 市場廣泛支援。複雜渲染邏輯由獨立合約(NFTDescriptor.sol 與 NFTSVG.sol)處理,彌補 Solidity 字串處理不足。作品還結合鏈上金融部位等元素,展現 SVG 鏈上動態視覺化區塊鏈狀態的能力。
Anchor Certificates 採用全鏈上架構,所有元資料與 SVG 以 base64 編碼直接儲存於 data URI。SVG 元件以獨立函式拆分,繞過 Solidity 呼叫堆疊限制,支援計算階段間變數清理。此模組化設計不僅能生成複雜藝術品,也確保完全鏈上可用性。
Blitmap 採用傳統架構,圖像與元資料存在鏈下,但透過自訂渲染函式實現鏈上復現。其創新之處在於透過 mintOriginal() 或 mintVariant 將藝術品編碼為 268 字節像素資料,再以 SVG 矩形集合重建圖像。每字節對應像素資訊,對應 SVG rect 元素,有效壓縮鏈上資料,支援完整復現。
Nouns 結合多種先進方案:所有元資料和 SVG 以 base64 編碼完整存放於鏈上,採用類 UniSwap V3 的獨立描述符合約,並延續 Avastars 和 Blitmap 特徵編碼。Nouns 創新地將相鄰色塊合併為單一 SVG 矩形,非逐像素生成 rect,極大減少輸出體積並維持視覺品質。此最佳化持續推進鏈上藝術編碼效率。
solSeedlings 採混合架構,更重視作品可復現性而非技術極致純粹。雖存在不適合 data URI 的特殊字元,系列仍保留足夠鏈上元件以保障藝術品復現。渲染採以種子為基礎的隨機方式,並實現系列客製化,展現鏈上 SVG 生態多元化發展。
鏈上 SVG NFT 歷經多元架構探索,在技術限制、Gas 效率與永久性間持續創新。從 Avastars 特徵組合到 Mandalas 全 data URI 模式,從 Blitmap 像素編碼到 Nouns 矩形分組最佳化,各專案不斷推動藝術品鏈上儲存與渲染進步。儘管「完全鏈上」定義仍存歧異,這一系列探索已孕育兼具美學與韌性的數位藝術,充分展現以太坊不可竄改特性。以太坊 SVG 已成為永久數位創作主流,隨新技術與編碼方式出現,鏈上藝術生態將持續演進。這不僅是技術突破,更是藝術想像力的展現——區塊鏈約束反而激發創作和 Gas 最佳化的雙重革新。
將編碼後 SVG 資料直接存於智慧合約鏈上,無需連結外部資源。tokenURI 函式回傳包含 SVG 資料的 JSON 編碼,可直接於瀏覽器渲染。此方法確保資料完整性並支援 SVG NFT 動態生成,無需外部依賴。
SVG 可將視覺元素直接編碼至區塊鏈,創造獨特鏈上 NFT 藝術。SVG 檔案作為 NFT 元資料的一部分儲存,可透過程式化演算法組合視覺元件,支援可擴充數位藝術生成。
必須防範 XSS 攻擊,確保 SVG 檔案不含惡意 JavaScript,以防用戶錢包遭攻擊。所有 SVG 輸入皆需校驗、元資料徹底淨化,並採用安全渲染函式庫,杜絕注入型安全漏洞。











