NFT 開發流程


Nft項目開發流程

一、調研公鏈,了解對應公鏈的合約發布、鏈碼測試、鏈碼正式部署、鏈碼正式調用流程。

例子:bsc公鏈(幣安智能鏈)
合約來源:github搜索。
在線編輯合約地址:https://remix.ethereum.org/
在線錢包:小狐狸。
額外了解:小狐狸錢包如何通過配置添加BSC公鏈,開發時將BSC的主網和測試網全部添加到小狐狸中。

二、准備相應的智能合約,如erc20、erc721、erc1155、erc998
例子:BEP721NFT,BEP1155NFT兩份智能合約。
1.將下載的合約文件導入remix中;
2.主要關注721協議和1155協議必須要實現的接口及上鏈、查詢、白名單、鑄幣人等接口方法,如果方法不全或不方便測試,可以修改或增加方法便於測試;
3.將合約方法檢查完后,選擇合適的版本進行編譯,編譯報錯的解決錯誤問題,未報錯說明編譯成功;
4.在remix的部署頁面上面選擇“Injected Web3”,拉起小狐狸的授權頁面進行授權,授權成功后,在remix部署頁面選擇要部署的主合約(如NFT721Token合約),選擇正確的合約后,會出現構造函數輸入框,輸入參數name、symbol、address后點擊deploy按鈕進行部署,此時會拉起小狐狸錢包進行消費確認,點擊確認按鈕后等待部署上鏈。部署成功后,remix的部署頁面下面會顯示已部署合約的所有可調用的方法。
5.測試合約方法,主要測試授權、創作、鑄幣、查詢這些接口,測試完成后,代表合約部分已准備完畢。
注意事項:測試時小狐狸要選擇測試網絡。

三、根據業務流程進行代碼開發。

整個721nft流程說明:
1.通過在線remix部署合約,獲得合約信息(合約id、發布人、時間等信息);
該步驟也可以由前端完成,前端sdk可以實現合約的編譯和部署。
2.將合約信息手動錄入到數據庫中,后續業務開發基於這個合約來完成業務,合約id不能有誤。
3.用戶在頁面上輸入創建信息,點擊創建方法后,先經過后端接口查詢當前用戶是否是鑄幣人,如果不是,后端接口會調用合約的addMinter方法將用戶添加到鑄幣人列表中;
4.前端接收到后台返回值后,根據返回接口判斷用戶是否能鑄幣(鏈上方法),若有權限,則前端調用合約的safeMint(鏈上方法)方法進行鑄幣,該方法需要用戶的小狐狸錢包支付bnb進行確認,支付成功后,前端得到交易hash,調用后端的鑄幣接口(后端鑄幣接口只是將鑄幣信息存入到數據庫中)。完成鑄幣信息的記錄。
5.用戶在收藏列表上架nft,該過程實際是將用戶持有的nft交易給平台托管地址,這個過程需要用戶的小狐狸錢包支付交易礦工費確認。前端得到小狐狸的交易hash之后調用后端的上架接口(后端接口記錄上架信息,市場信息,並完成資產轉移)。
6.交易(步驟多,較為復雜)
A.驗證交易價格;
B.記錄買家支付BNB的交易記錄;
C.平台托管地址給作者打版權費BNB(鏈上方法),並記錄流水;
D.平台托管地址給賣家打BNB(鏈上方法),並記錄流水;
E.平台給買家打nft(鏈上方法),並記錄流水;
F.平台給買家打erc20(鏈上方法)的代幣,並記錄流水;
G.修改市場上nft的數量;
H.修改買家nft資產情況;
注意:上述步驟必須全部走完,如果交易失敗,也要有一條記錄,並在remark標識一下。
7.下架,下架只是修改了狀態,變成下架審核中,管理后台審核下架內容,若通過,則從平台托管地址將nft交易給賣家手上(鏈上方法)。

Nft721合約的核心方法:
1.getTotalSupply(獲取總鑄幣量);
2.tokenByIndex(獲取對應下標的tokenId);
3.addMinter(添加鑄幣人);
4.removeMinter(移除鑄幣人);
5.ownerof(根據tokenId獲取指定數量持有量);
6.SafeTransferFrom(交易);

721和1155合約模板:
https://github.com/wangqianfu/history-memory


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM