Blockchain
如何在區塊鏈上儲存大文件?
我幾乎無法創建大於 100kiB 的事務。我想知道,是否可以在區塊鏈上儲存大文件(幾個 MiB 或 GiB)?
如果是這樣,怎麼做?
不,您必須將數據儲存在其他地方,並將此數據的雜湊值及其在區塊鏈中的位置儲存起來。您應該有足夠的空間來儲存它,但請記住,您的數據越短,您需要的 gas 就越少。所以使用 URL 縮短器。
將數據儲存到交易中需要消耗氣體,而區塊具有動態氣體限制。你必須通過發送越來越大的數據來強製網路適應來提高 gas 限制。但是在每筆交易中,您將被限制在固定數量的 gas 上,因此也限制在固定數量的數據上。在 2016 年 2 月,gas 限制約為 300 萬,這意味著一個塊被限制為大約 89Kb 的數據。(請參閱交易大小有限制嗎?):
目前的交易大小限制在 89kB 左右(300 萬 gas)。但請繼續閱讀。
交易大小和塊大小都沒有直接或固定的限制。這是乙太坊網路的優勢,它確實可以擴展。
這並不意味著沒有限制。目前的區塊氣體限制為 3,141,592 氣體,每個區塊最多可以使用。
在撰寫本文時,gas 限制約為 4712388 gas,這應該將數據限制在 140Kb 左右。見https://ethstats.net/
很快,我們預計一些去中心化的安全儲存(如 swarm 或 IPFS)將易於使用。查看https://github.com/ethereum/go-ethereum/wiki/Swarm---distributed-preimage-archive,您還可以在頁面末尾找到替代列表。