主页 > imtoken转账手续费 > 【Day 22】理解BAYC Monkey智能合约背后的工作原理(四)Metadat
【Day 22】理解BAYC Monkey智能合约背后的工作原理(四)Metadat
昨天我们简单解释了BAYC合约的工作原理,发现了很多漏洞和需要改进的地方。 今天把剩下的baseURI补完,说明图片存在的地方!
setBaseURI() 函数
首先我们可以很明显的发现这个函数是用来设置baseURI的值的,但是这个值是多少呢?
让我们切换回 Etherscan 的读取合约,看看当前的 baseURI 值是什么……
原来是一串网址! 并且后缀要填写BAYC的代币号
那么……这会导致什么? 让我们将值放入 0 并搜索
获取一个JSON格式的文件,第一行有一个名为image(图片)的数据,再提供一串IPFS URL
第二行包含属性(attributes)。 下面是背景、嘴巴、眼睛等很多部分的名称,都有对应的值。
我们先打开图片看看
果然得到了BAYC token的图片文件,也对应了刚才JSON中提到的属性
我们回到OpenSea对比一下,确认和编号为#0的BAYC是一致的
通常,IPFS链接的第一串会被称为Metadata,意思是“包含某种数据的数据”。
但是……IPFS 到底是什么?
IPFS
IPFS(Interplanetary File System)是一个概念类似于区块链的文件存储系统。 其运行原理结合了多项技术,包括BitTorrent、Git、DHT、SFS等,旨在打造一个去中心化的存储世界。 类似于比特币和以太坊比特币以太坊图片,所有人都可以上传和查看所有文件,特别是协助存储数据的用户也可以获得$FIL币作为奖励。
更详细的IPFS介绍可以参考这个视频比特币以太坊图片,10分钟让你了解它是如何工作的:
以太坊不能存储图片吗?
看到这里肯定有人会问,为什么不直接把图片存到以太坊里呢?
其实是可行的,但是这不符合以太坊最初的目标,所以大部分资源都集中在计算而不是存储上,这也会导致你花费大量的gas费用,假设价格以太坊的价格是 2000 美元,每上传 1kb 大约需要 20 美元!
概括
这是解析智能合约的最后一章! 恭喜大家了解目前市面上常见的NFT项目和智能合约是如何运作的。 限于篇幅,依依不能告诉你太多细节,但欢迎你使用以下参考资料DYOR!
【第21天】了解BAYC Monkey智能合约背后的工作原理(三) 其实BAYC的合约是有漏洞的!
【第23天】新手也能创造NFT! 开始使用 OpenSea,3 分钟卖掉你的 NFT
参考:
无聊猿游艇俱乐部:BAYC Token | EtherscanBored猿游艇会:10分钟解读IPFS的智能合约细目,为什么它是下一代互联网标准? | 为什么选择IPFS? | 理查德会谈