永續合約/秒合約/合約量化/量化合約系統開發詳情/原始碼功能/成熟案例
The development technology of smart contract dapps is mainly supported by the Ethereum blockchain network,which provides a series of smart contract technologies that enable developers to quickly and safely build powerful dapps.The development technology of smart contract dapp mainly includes Ethereum smart contract language Solidity,Ethereum smart contract framework Truffle,Web3.js,Ethereum blockchain browser Mist,etc
The characteristic of Web3.0 is the use of blockchain and other enabling technologies such as AI and cryptography to create a more fair,secure,and private online ecosystem.
The development trend of web3.0 is to create decentralized networks,protocols,and applications,promoting the exchange of value and information in a trustless and secure manner.
1、mint功能實現
雖然可以直接呼叫OZ的ERC721.sol的_safeMint函式來實現mint,但最好外面再封裝一層,寫自己的mint函式,你可以寫一個huhu_mint,裡面呼叫OZ的_safeMint即可。
自己寫mint的好處是:至少可以控制鑄造NFT的價格,以及每個地址可以mint的數量。
類似的可以考慮銷燬(burn)功能,burn就是取消某tokenID和具體地址的繫結,或者理解為把這個tokenID轉給地址0。直接用OZ的_burn函式即可。
2、轉移功能實現
不用自己寫,直接用OZ的ERC721.sol。
3、查詢功能實現
不用自己寫,用OZ的ERC721.sol及ERC721Enumerable.sol(列舉)即可。
ERC721主要提供的查詢是:
balanceOf函式,查詢某個地址持有的token數量。
ownerOf函式,查詢某token的持有者地址。
ERC721Enumerable提供瞭如下3個功能:
注意最重要的是:totalSupply函式,呼叫它返回目前已經鑄造出來的NFT的個數。
tokenByIndex函式用來查詢第index個token的ID是多少,也就是說透過這個函式和totalSupply函式,就可以遍歷所有鑄造出來的token。
tokenOfOwnerByIndex函式,給它一個地址和一個編號index,可以告訴你該地址擁有的第index個token是啥。結合balanceOf函式,就可以遍歷一個地址擁有的所有token的ID。
4、後設資料功能實現
OZ提供了IERC721Metadata介面,但功能是在ERC721.sol中實現的。
主要是實現了name、symbol和tokenURI函式,呼叫後分別返回NFT名、NFT的縮寫符號、token後設資料的連結。
尤其注意tokenURI函式,給它一個tokenID,它返回該token後設資料所在的URI。
你還需要自己實現一個外部可見的函式,用來設定baseURI(注意使用onlyOwner)。這樣,如果原先的儲存不可用了,就可以換一個地方存。
然後,重寫_baseURI這個ERC721.sol中的內部函式,使之可以返回正確的根目錄URI。
function setBaseURI(string memory _newBaseURI)public onlyOwner{
baseURI=_newBaseURI;
}
function _baseURI()internal view virtual override returns(string memory){
return baseURI;
}
比如對於BAYC這個NFT,他的baseURI在:
ipfs://QmeSjSinHpPnmXmspMjwiXyN6zS4E9zccariGR3jxcaWtq/
然後,第23號猿猴的tokenURI就在:
ipfs://QmeSjSinHpPnmXmspMjwiXyN6zS4E9zccariGR3jxcaWtq/23
讀取其中的內容,就是:
{image:ipfs://QmadJd1GgsSgXn7RtrcL8FePionDyf4eQEsREcvdqh6eQe,attributes:[{trait_type:Mouth,value:Bored Pipe},{trait_type:Background,value:Aquamarine},{trait_type:Fur,value:Trippy},{trait_type:Eyes,value:Bored},{trait_type:Hat,value:Beanie}]}
5、合約後設資料功能實現
實現一個contractURI函式2,告訴OpenSea你的NFT collection(收藏集)的後設資料,比如收藏集的名字、描述、背景圖、外部連結等。
比如可以寫成這樣:
{
"image":"
"external_link":"
"seller_fee_basis_points":100,#Indicates a 1%seller fee.
"fee_recipient":"0xA97F337c39cccE66adfeCB2BF99C1DdC54C2D721"
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70016819/viewspace-2947750/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 量化合約/合約量化/秒合約系統開發/永續合約/合約跟單
- 合約量化/量化合約開發原始碼功能,量化合約/合約量化系統開發(開發策略)及案例詳情原始碼
- 量化合約丨合約量化開發原始碼版,合約量化丨量化合約系統開發(成熟案例)及詳細策略原始碼
- 量化交易/量化合約/合約量化/秒合約/永續合約/合約跟單/交易所繫統開發(策略及原始碼)原始碼
- 現貨期權合約量化/量化合約/秒合約/永續合約/交易所繫統開發(開發案例及原始碼)原始碼
- 數字貨幣交易所/合約跟單/秒合約/永續合約/量化合約/合約量化系統開發詳細策略及原始碼原始碼
- 量化合約/合約量化/秒合約/永續合約/現貨期權期貨/交易所繫統開發案例及原始碼原始碼
- 現貨跟單量化/合約跟單/系統開發/量化合約交易/永續合約/秒合約解析
- 海外版量化合約/秒合約/合約量化/永續合約/交易所繫統開發(多語言)及原始碼功能原始碼
- 現貨期權期貨/合約量化/量化合約/秒合約/永續合約/交易所繫統開發成熟技術及原始碼原始碼
- 量化合約/合約量化/合約跟單系統開發(策略及詳細)案例原始碼原始碼
- 合約量化|秒合約|合約跟單系統開發案例
- 永續合約/秒合約/HKD交易所繫統合約開發詳情
- 秒合約/永續合約/合約跟單/量化交易系統設計開發/詳情分析
- 秒合約|合約跟單|永續合約系統開發模式模式
- 秒合約開發/量化合約系統技術開發/永續交割合約/現貨跟單交易
- 秒合約開發(穩定版)丨秒合約系統開發(開發案例)丨秒合約系統原始碼詳情原始碼
- 秒合約系統開發搭建原始碼|秒合約案例原始碼
- 合約跟單/系統開發/現貨量化跟單/永續合約/秒合約策略
- 量化跟單丨永續合約丨秒合約丨合約交易模式軟體開發詳情模式
- 量化跟單/秒合約/原始碼系統開發/永續合約量化交易開發技術分析原始碼
- 現貨交易/合約跟單/系統技術開發/合約量化/秒合約功能開發詳情
- 數字貨幣交易所/合約跟單/秒合約/永續合約/合約量化系統開發說明/原始碼案例/運營版原始碼
- 合約量化系統丨合約量化系統開發策略及詳情丨合約量化開發原始碼邏輯原始碼
- 量化合約系統開發穩定版,量合約系統開發(成熟及案例)
- 交割合約系統/現貨量化跟單技術開發/秒合約/永續合約交易
- 量化合約原始碼搭建開發案例丨合約量化技術開發成熟Demo原始碼
- 秒合約|合約跟單|永續合約系統開發|測試版
- 合約跟單/秒合約/永續合約/量化跟單交易系統開發技術設計
- 量化合約系統開發丨合約量化系統開發原始碼丨合約量化系統開發技術Demo原始碼
- 合約交易丨秒合約丨永續合約丨幣幣合約交易所繫統開發|案例詳情|專案測試
- 量化合約系統開發(原始碼)合約量化系統開發(技術)原始碼
- 合約量化系統開發(成熟及策略)丨合約量化開發(原始碼專案)原始碼
- 量化合約/合約量化/合約跟單/對沖搬磚/交易所繫統開發成熟及方案丨原始碼案例原始碼
- 永續合約開發/秒合約/合約跟單/量化交易跟單系統技術開發丨Python示例Python
- 量化合約開發功能版丨量化合約系統開發(策略詳細)丨量化合約跟單原始碼成熟原始碼
- 量化合約策略系統開發/合約量化系統開發技術方案講解(成熟原始碼)原始碼
- 量化合約系統開發(方案模式)|合約量化系統開發(原始碼搭建)模式原始碼