# 學習看合約

By [0xKM](https://paragraph.com/@0xkm) · 2022-05-07

---

Pxn 除了為一PFP項目外，更多了想要做區塊鍊的線上購物平台

A.合約結構

合約使用721A hardhat部屬

總發行數量 : 10000

1.公售使用荷蘭拍 : 4000

2.其餘 : 6000 包含白名單，team 與dev

B.荷蘭拍從 2eth 開始 每900 s下降 0.05 eth 最小 0.1 eth

使用 mintDutchAuction 進行鑄造 包含 modifier callerIsUser 禁用合約鑄造

require條件:

判斷 DA\_ACTIVE 是否為true

判斷最大數量不超過4000

判斷開始時間 DA\_STARTING\_TIMESTAMP = 1651719600

判斷結束時間 WL\_STARTING\_TIMESTAMP

每個錢包最多2個

判斷 錢包eth數量

若荷蘭拍最後價格小於白名單價格一半 則將白名單價格變更為荷蘭拍最後價格的一半

當荷蘭拍結束才會設定 DA\_FINAL\_PRICE 用來給白名單鑄造判斷荷蘭拍已結束

C .白名單鑄造方式 mintWL

判斷DA\_FINAL\_PRICE

判斷最大數量6000

判斷開始與結束時間

判斷是否在 userToHasMintedPublicWL\[msg.sender\] 白名單內

判斷錢包乙太是否大於白名單價格

白名單只能買一個

D. dev鑄造方式 在白名單時間1天之後

剩餘超過10個 就以十個為單位一次鑄造 10個 直到把剩下鑄造完

E team鑄造方式 與白名單時間相同

判斷數量不超過setTeamMint 設定數量

判斷錢包以太數量足夠

F.withdrawFunds 的時候 一半給founder 一半給dev

---

*Originally published on [0xKM](https://paragraph.com/@0xkm/4CZXx5a9nRy7Org72SXn)*
