4.4

更新於 發佈於 閱讀時間約 7 分鐘
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

contract MyNFT is ERC721{

using Strings for uint256;

address owner;
uint256 public maxSupply = 10; // 最大發行量
bool private isOpened = false; // 盲盒是否打開, 預設就是沒開

uint256 public counter = 0;

modifier onlyOwner { // 只有owner才可以操作的function
require(msg.sender == owner);
_;
}

constructor (string memory _name, string memory _symbol) ERC721(_name, _symbol){
owner = msg.sender; // 佈合約的地址, 就是msg.sender
}

// 盲盒打開, 圖片就會變, tokenURI改變
function openBlindBox() external onlyOwner {
isOpened = true;
}

// 設定NFT的baseURI(盲盒)
function _baseURI() internal pure overrider returns (string memory) {
return ipfs://QmahbazMeYgjSyKuSLZ6EqGWVKYYKEtDnH1gXdGGioiYnX"; //
}

// 查看NFT MetaData網址
function tokenURI(uint256 tokenId) public view override returns (string memory) {
if(!isOpenid) { // 如果盲盒沒有被打開, 就回傳網址
return _baseURI(); // 不管有沒有開, 都回傳Json檔
}
return string(abi.encodePacked("ipfs://QmahbazMeYgjSyKuSLZ6EqGWVKYYKEtDnH1gXdGGioiYnX");
}

// 實作mint function, 主要用來demo確認用
function mint (uint256 amount) external {
require(amount + count <= maxSupply, "over max supply.");
// 迴圏批量鑄造NFT
for(uint256 i = 0; i < amount ; i++){
//鑄造NFT, counter為NFT的tokenId
_mint(msg.sender, counter);
counter ++;
}
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

contract MyNFT is ERC721{

using Strings for uint256;

address owner;
uint256 public maxSupply = 10; // 最大發行量
bool private isOpened = false; // 盲盒是否打開, 預設就是沒開

uint256 public counter = 0;

modifier onlyOwner { // 只有owner才可以操作的function
require(msg.sender == owner);
_;
}

constructor (string memory _name, string memory _symbol) ERC721(_name, _symbol){
owner = msg.sender; // 佈合約的地址, 就是msg.sender
}

// 盲盒打開, 圖片就會變, tokenURI改變
function openBlindBox() external onlyOwner {
isOpened = true;
}

// 設定NFT的baseURI(盲盒)
function _baseURI() internal pure overrider returns (string memory) {
return ipfs://QmahbazMeYgjSyKuSLZ6EqGWVKYYKEtDnH1gXdGGioiYnX"; //
}

// 查看NFT MetaData網址
function tokenURI(uint256 tokenId) public view override returns (string memory) {
if(!isOpenid) { // 如果盲盒沒有被打開, 就回傳網址
return _baseURI(); // 不管有沒有開, 都回傳Json檔
}
return string(abi.encodePacked("ipfs://QmahbazMeYgjSyKuSLZ6EqGWVKYYKEtDnH1gXdGGioiYnX");
}

// 實作mint function, 主要用來demo確認用
function mint (uint256 amount) external {
require(amount + count <= maxSupply, "over max supply.");
// 迴圏批量鑄造NFT
for(uint256 i = 0; i < amount ; i++){
//鑄造NFT, counter為NFT的tokenId
_mint(msg.sender, counter);
counter ++;
}
}
}

Create an NFT Lootbox for blockchain games or NFT trading card platforms (NBA Topshot clone)

Solidity 實戰系列工作坊第 3 場精彩重播: ERC20 同質化代幣與 ERC721 NFT 非同質化代幣

尋大神腳印, 亦步亦趨。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Dapp Tutorial - ERC20 帶你發行自己的加密貨幣 🔥 Build Your Own ERC-20 Crypto Coin
Merkle Tree Solidity Whitelist Using Merkle Trees for NFT Whitelists - Solidity Tutorial (ERC-721, NFT, Whitelist, Solidity)
Mapping Vs Arrays | Gas Optimisation - Solidity Top Solidity Interview Questions: Questions 7: Whitelist: Array Vs Mapping!  #solidity
Random Number Generator in Solidity using keccak256 How to generate a random number in solidity?
Create & Upload NFT Metadata
Dapp Tutorial ERC721 帶你發行項目的 NFT 🔥
Dapp Tutorial - ERC20 帶你發行自己的加密貨幣 🔥 Build Your Own ERC-20 Crypto Coin
Merkle Tree Solidity Whitelist Using Merkle Trees for NFT Whitelists - Solidity Tutorial (ERC-721, NFT, Whitelist, Solidity)
Mapping Vs Arrays | Gas Optimisation - Solidity Top Solidity Interview Questions: Questions 7: Whitelist: Array Vs Mapping!  #solidity
Random Number Generator in Solidity using keccak256 How to generate a random number in solidity?
Create & Upload NFT Metadata
Dapp Tutorial ERC721 帶你發行項目的 NFT 🔥
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
連假第一天,這兩天要帶小孩去苗栗住宿。
Thumbnail
#小倉鼠 #社畜逃脫筆記 #自我成長 #財務自由 #PODCASTS #說書 #思考 #筆記#過度努力#宗教#企業菁英#效率#恐懼#我沒有用#量化黑洞#忙碌崇拜#罪惡感#薪水小偷#麥克斯.法蘭佐#MAX FRENZE#約翰.菲茨#JOHN.FITCH#沐光#麥克斯.法蘭佐#MAX FRENZE#約翰
Thumbnail
國曆二月是"寅",寅為"驛馬",有"啟動"的意謂,三月則是"卯",卯為"桃花",表示"人緣",意味計畫啟動後,就要透過人脈去發酵,本月則是"辰",辰為"庫",庫就像是箱子,有收成的概念。 「馬、花、庫」就是一個輪迴,本月可以好好檢視一下,農曆年後所許下的願望,執行到那裏,成效到哪裡...
Thumbnail
個人不是使用Word寫作,而且原本就習慣一章一章寫,不過看到Sigil的,從標記【<hr class="sigil_split_marker" />】分割的功能,很好奇是怎樣的,結果發現它超好用的,能夠幫你自動分章節成HTML檔。 要做到這點,非常的簡單,你只要使用儲存搜尋和Automation
Thumbnail
朱大哥預約更換前避震器 前日本KYB避震器+原廠件上座 , 追加前門限位器 原車前避震器是台製Y-KYB 前車門限位器更換 原廠限位器 出風口維修 冷氣濾網很久沒換了 , 更換新品濾網還要清洗鼓風機馬達
Thumbnail
Juliet: 華岡的冬天對你對我都具有刻骨銘心的意義。告訴過你,冷較有情調。你反問,還有什麼地方比華岡的冬天更情調更教人難忘? 山仔后猶在,冬天仍來,可是昔日的人兒呢? 沒有你,華岡之冬會有多寒冷?會有多潮濕呢?冷濕之中,我必更加想念那朵猶在南方池心的不凋不朽的蓮。 喬 1977年9月3日
Thumbnail
荷蘭生活停擺了五週, 但一切照舊 ,就像五週前一樣,無縫接軌真奇妙。 第一次在荷蘭上表演課 、客戶來取畫、氣炸鍋的優點 、波希米亞狂想曲 、不含鐵氟龍的氣炸鍋。
Thumbnail
2015年,七月十七~二十一號。 「這種語言是世界上最古老的語言之一喔! 且一直到現在都沒能知道它的來源,這個語言只有使用在法國和西班牙交界地帶這一區,就是巴斯克地區,但卻和歐語系沒有任何關聯,算是世界上最難又最神秘的語言之一。」見識不夠廣的我竟然第一次聽說有這種語言。 「是呀!」他回答我,
03.03、03.10 1-12/ 編劇在寫左右手女警的切入點很值得研究,而且到12集仍琢磨。 查: 《操作》的李政勳導演與《我的夢幻葬禮》金恩亨作家合作打造。 OST / sunwoojunga 鮮于貞娥 온기。
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
連假第一天,這兩天要帶小孩去苗栗住宿。
Thumbnail
#小倉鼠 #社畜逃脫筆記 #自我成長 #財務自由 #PODCASTS #說書 #思考 #筆記#過度努力#宗教#企業菁英#效率#恐懼#我沒有用#量化黑洞#忙碌崇拜#罪惡感#薪水小偷#麥克斯.法蘭佐#MAX FRENZE#約翰.菲茨#JOHN.FITCH#沐光#麥克斯.法蘭佐#MAX FRENZE#約翰
Thumbnail
國曆二月是"寅",寅為"驛馬",有"啟動"的意謂,三月則是"卯",卯為"桃花",表示"人緣",意味計畫啟動後,就要透過人脈去發酵,本月則是"辰",辰為"庫",庫就像是箱子,有收成的概念。 「馬、花、庫」就是一個輪迴,本月可以好好檢視一下,農曆年後所許下的願望,執行到那裏,成效到哪裡...
Thumbnail
個人不是使用Word寫作,而且原本就習慣一章一章寫,不過看到Sigil的,從標記【<hr class="sigil_split_marker" />】分割的功能,很好奇是怎樣的,結果發現它超好用的,能夠幫你自動分章節成HTML檔。 要做到這點,非常的簡單,你只要使用儲存搜尋和Automation
Thumbnail
朱大哥預約更換前避震器 前日本KYB避震器+原廠件上座 , 追加前門限位器 原車前避震器是台製Y-KYB 前車門限位器更換 原廠限位器 出風口維修 冷氣濾網很久沒換了 , 更換新品濾網還要清洗鼓風機馬達
Thumbnail
Juliet: 華岡的冬天對你對我都具有刻骨銘心的意義。告訴過你,冷較有情調。你反問,還有什麼地方比華岡的冬天更情調更教人難忘? 山仔后猶在,冬天仍來,可是昔日的人兒呢? 沒有你,華岡之冬會有多寒冷?會有多潮濕呢?冷濕之中,我必更加想念那朵猶在南方池心的不凋不朽的蓮。 喬 1977年9月3日
Thumbnail
荷蘭生活停擺了五週, 但一切照舊 ,就像五週前一樣,無縫接軌真奇妙。 第一次在荷蘭上表演課 、客戶來取畫、氣炸鍋的優點 、波希米亞狂想曲 、不含鐵氟龍的氣炸鍋。
Thumbnail
2015年,七月十七~二十一號。 「這種語言是世界上最古老的語言之一喔! 且一直到現在都沒能知道它的來源,這個語言只有使用在法國和西班牙交界地帶這一區,就是巴斯克地區,但卻和歐語系沒有任何關聯,算是世界上最難又最神秘的語言之一。」見識不夠廣的我竟然第一次聽說有這種語言。 「是呀!」他回答我,
03.03、03.10 1-12/ 編劇在寫左右手女警的切入點很值得研究,而且到12集仍琢磨。 查: 《操作》的李政勳導演與《我的夢幻葬禮》金恩亨作家合作打造。 OST / sunwoojunga 鮮于貞娥 온기。