---
# System prepended metadata

title: Yolo cat 文章 濃縮

---

# Yolo cat 文章 濃縮


![](https://hackmd.io/_uploads/BkICot52t.png)

區塊鏈核心始終不變，從以前的Fomo3D到如今的NFT。不管是去年2021年的Adidas mint超長時間，又或者周杰倫 nft闢謠，到如今的yolo cat / murmur cat，echox白名單階段透過合約把NFT買完，公售沒東西可賣。

今天就帶大家從三個方向，聊聊跨入NFT市場的陳零九YOLO Cat事件。

* YOLO Cat 事情經過
* 從合約分析YOLO Cat
* YOLO Cat 事件影響

## YOLO Cat事發經過
2022.1.9 當天藝人陳零九本來預計將在下午1330公開發售的，「 YOLO Cat Club」的系列 NFT，卻在1329分時全數鑄造完，幣圈社群頓時炸鍋。

對此陳零九及其技術合作方團隊 FOMO Dog Club 有在當天晚上的八點鐘，一同在 IG 直播說明整個事件的始末，以及主要的補償措施

https://www.instagram.com/tv/CYgnUQVBV2c/?utm_source=ig_web_copy_link

首先，關於為什麼在發售時間前就可以進行買賣，項目工程師的說明：

> 之所以會在開賣時間前就鑄造完畢，是因為他原本就是準備在接近拍賣時間（13:30）時釋出合約，但剛好這次以太坊出塊時間較快，所以才會導致在開買時間（13:30）前，就於官網釋出合約連結。
至於退還 gas fee 的補償措施，項目方將全數退還「4,394 筆」沒有鑄造成功的交易，一共 70,060 美元的 gas fee，此外還將抽出三位用戶，免費空投 YOLO Cat 作為補償。

此事件發酵後區塊鏈科學家社群 AlphaShark 的創辦人也有在，Medium 上發文解釋這次事件的原因 https://medium.com/@b1995/yolo-cat-%E5%BE%A9%E7%9B%A4-1-956565334642


我們可能沒有去搶，又或者沒有搶到熱門的NFT，但不管我們的選擇是什麼，我們可以從中學習到什麼呢？

## 合約即條文，鏈上公開資訊會告訴我們答案
### 向Vitalik Buterin致敬
我們所有的疑惑都可以從合約去挖掘出答案

就讓我們帶大家透過合約的基礎來解答！

下面我們會分享如何找到NFT的合約，包含合約上架時間，觀看鑄造的機制。
有關機器人搶NFT的原理則不深入探討，簡單來說主要機器人所做的事情分為兩個，分別是暴力查詢提前找到合約以及產生多個智能合約代替人頭，突破每人鑄造數量的限制。

* 如何找到合約
* 如何知道合約上架時間



### 如何找到合約？
首先我們要先到 opensea 上找到 Yolo Cat 的項目
https://opensea.io/collection/yolo-cat-club09

1. 點擊其中一個NFT
2. 找到左側 Detail，其中有一個 Contract Address，點擊他
3. 會看到在 Etherscan 上的 Contract
![](https://hackmd.io/_uploads/SyFfCtqnF.png)


### 如何知道合約上架時間？
到 Contract Creator: 中 txn 的網址，會有此筆交易的詳細內容
可以看到 timestamp 是 `Jan-09-2022 04:37:34 AM +UTC)``


從這邊可以得知這個合約是在公開發售約一個小時前上架的，
而這裡的確會有人可以事先取得合約地址進行偷跑的動作，
不過這份合約當中其實有做一個狀態判斷，而從公開發售時間點的 block `13969455`中，我們可以清楚地看到。

在 Etherscan 上 搜尋 `13969455`，可以看到這個 block 的詳細資訊，可以找到這筆交易 filp Sale Active (這邊應該是拼錯flip)。

點擊 129 transcations https://etherscan.io/txs?block=13969455&ps=100&p=1
從這裡我們可以發現，這個動作的意思才是真正開賣，只要在這個動作前的鑄造行為都會失敗，可以從合約的 transactions 觀察


直接看倒數第二頁的交易記錄，可以看到在 filp Sale Active 前都是 fail 的
![](https://hackmd.io/_uploads/r1_cm5cnt.png)

從這些數據來看如果想只是單純地偷跑，在13:58其實是會失敗的

## 此NFT事件 從技術面去看兩大方面
1. 第一隻鑄造出來的 NFT 的 ID
2. 智能合約當中的鑄造方法是否有特殊寫法

首先 1 我們可以看 filp Sale Active 完的第一筆交易，他的 id 是 10，而下一筆是11，從這個規律推斷他前面還有九隻，剛好跟白名單的數量相符。
![](https://hackmd.io/_uploads/HJa_Eqc3K.png)


### 接下來是第二點，也是此事件發生的重點

從合約中我們可以以找到鑄造方法，詳細去合約看發現在 `auctionMintYoloCat` 確實是有寫到時間的判斷

把這兩段做比對，可以看到 `auctionMintYoloCat` 有判斷執行的時間一定要超過`auctionStartTime`，否則就會拒絕執行

第一個方法，的確有判斷狀態，如果有人偷跑是會挖失敗
![](https://hackmd.io/_uploads/rk9wcc5hY.png)
![](https://hackmd.io/_uploads/SJn-5552F.png)


但類似的方法 `mintYoloCats` 卻少了這個判斷
所以才有出塊時間不一致的問題。這裡的寫法的確需要好好檢視
同時也證明上線前的測試還有程式碼 review 非常重要！！！

因為很重要，所以貼三次
`require(block.timestamp >= auctionStartTime, 'Auction not start');`
`require(block.timestamp >= auctionStartTime, 'Auction not start');`
`require(block.timestamp >= auctionStartTime, 'Auction not start');`

## 一個可以走長遠的好項目，需同時具備社群與技術能力


### 此事件中項目方該值得深思的地方『公平』

在整起YOLO Cat凸顯了一件事，那就是對於一般人來說，創造了一個高門檻的標準，單純喜歡想要支持此項目的人如果不會程式，搶不到那就只能到opensea去購買，換句話就是取得門檻就變高了。

這就像是知名歌手的演唱會門票，假設今天公告在12:00開賣，但是11:59就搶購一空，有人先用程式搶完了，那麼不會程式，但是想聽演唱會的人只能透過黃牛去買。

```
項目的未來 取決於 社群的認同
信任所產生的認同 來自於 平日互動間的累積
```
```
一次不公平事件很可能造就社會大眾的不信任
```

### 針對此一事件被影響者的共勉
身處在區塊鏈圈這個去中心化的世界，多懂一點，就是一種保護自己的方式。
獨立思考，鑒別爆炸的資訊量，哪些對自己有益，哪些對自己有害，永遠是不會錯的

不隨之起舞，不一頭熱，因為永遠都有下一個賺錢的機會
我們能做的，就是在那個時間點到來時，把自己準備好
