Nft項目開發(fā)流程
一、調(diào)研公鏈,了解對應(yīng)公鏈的合約發(fā)布、鏈碼測試、鏈碼正式部署、鏈碼正式調(diào)用流程。
例子:bsc公鏈(幣安智能鏈)
合約來源:github搜索。
在線編輯合約地址:https://remix.ethereum.org/
在線錢包:小狐貍。
額外了解:小狐貍錢包如何通過配置添加BSC公鏈,開發(fā)時將BSC的主網(wǎng)和測試網(wǎng)全部添加到小狐貍中。
二、準(zhǔn)備相應(yīng)的智能合約,如erc20、erc721、erc1155、erc998
例子:BEP721nft,BEP1155NFT兩份智能合約。
1.將下載的合約文件導(dǎo)入remix中;
2.主要關(guān)注721協(xié)議和1155協(xié)議必須要實現(xiàn)的接口及上鏈、查詢、白名單、鑄幣人等接口方法,如果方法不全或不方便測試,可以修改或增加方法便于測試;
3.將合約方法檢查完后,選擇合適的版本進(jìn)行編譯,編譯報錯的解決錯誤問題,未報錯說明編譯成功;
4.在remix的部署頁面上面選擇“InjectedWeb3”,拉起小狐貍的授權(quán)頁面進(jìn)行授權(quán),授權(quán)成功后,在remix部署頁面選擇要部署的主合約(如NFT721Token合約),選擇正確的合約后,會出現(xiàn)構(gòu)造函數(shù)輸入框,輸入?yún)?shù)name、symbol、address后點擊deploy按鈕進(jìn)行部署,此時會拉起小狐貍錢包進(jìn)行消費確認(rèn),點擊確認(rèn)按鈕后等待部署上鏈。部署成功后,remix的部署頁面下面會顯示已部署合約的所有可調(diào)用的方法。
5.測試合約方法,主要測試授權(quán)、創(chuàng)作、鑄幣、查詢這些接口,測試完成后,代表合約部分已準(zhǔn)備完畢。
注意事項:測試時小狐貍要選擇測試網(wǎng)絡(luò)。
三、根據(jù)業(yè)務(wù)流程進(jìn)行代碼開發(fā)。
整個721nft流程說明:
1.通過在線remix部署合約,獲得合約信息(合約id、發(fā)布人、時間等信息);
該步驟也可以由前端完成,前端sdk可以實現(xiàn)合約的編譯和部署。
2.將合約信息手動錄入到數(shù)據(jù)庫中,后續(xù)業(yè)務(wù)開發(fā)基于這個合約來完成業(yè)務(wù),合約id不能有誤。
3.用戶在頁面上輸入創(chuàng)建信息,點擊創(chuàng)建方法后,先經(jīng)過后端接口查詢當(dāng)前用戶是否是鑄幣人,如果不是,后端接口會調(diào)用合約的addMinter方法將用戶添加到鑄幣人列表中;
4.前端接收到后臺返回值后,根據(jù)返回接口判斷用戶是否能鑄幣(鏈上方法),若有權(quán)限,則前端調(diào)用合約的safeMint(鏈上方法)方法進(jìn)行鑄幣,該方法需要用戶的小狐貍錢包支付bnb進(jìn)行確認(rèn),支付成功后,前端得到交易hash,調(diào)用后端的鑄幣接口(后端鑄幣接口只是將鑄幣信息存入到數(shù)據(jù)庫中)。完成鑄幣信息的記錄。
5.用戶在收藏列表上架nft,該過程實際是將用戶持有的nft交易給平臺托管地址,這個過程需要用戶的小狐貍錢包支付交易礦工費確認(rèn)。前端得到小狐貍的交易hash之后調(diào)用后端的上架接口(后端接口記錄上架信息,市場信息,并完成資產(chǎn)轉(zhuǎn)移)。
6.交易(步驟多,較為復(fù)雜)
A.驗證交易價格;
B.記錄買家支付BNB的交易記錄;
C.平臺托管地址給作者打版權(quán)費BNB(鏈上方法),并記錄流水;
D.平臺托管地址給賣家打BNB(鏈上方法),并記錄流水;
E.平臺給買家打nft(鏈上方法),并記錄流水;
F.平臺給買家打erc20(鏈上方法)的代幣,并記錄流水;
G.修改市場上nft的數(shù)量;
H.修改買家nft資產(chǎn)情況;
注意:上述步驟必須全部走完,如果交易失敗,也要有一條記錄,并在remark標(biāo)識一下。
7.下架,下架只是修改了狀態(tài),變成下架審核中,管理后臺審核下架內(nèi)容,若通過,則從平臺托管地址將nft交易給賣家手上(鏈上方法)。
Nft721合約的核心方法:
1.getTotalSupply(獲取總鑄幣量);
2.tokenByIndex(獲取對應(yīng)下標(biāo)的tokenId);
3.addMinter(添加鑄幣人);
4.removeMinter(移除鑄幣人);
5.ownerof(根據(jù)tokenId獲取指定數(shù)量持有量);
6.SafeTransferFrom(交易);
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。