Nft商城系统项目开发流程(nft交易平台开发)

Nft项目开发流程

一、调研公链,了解对应公链的合约发布、链码测试、链码正式部署、链码正式调用流程。

例子:bsc公链(币安智能链)

合约来源:github搜索。

在线编辑合约地址:https://remix.ethereum.org/

在线钱包:小狐狸。

额外了解:小狐狸钱包如何通过配置添加BSC公链,开发时将BSC的主网和测试网全部添加到小狐狸中。

Nft商城系统项目开发流程(nft交易平台开发)

二、准备相应的智能合约,如erc20、erc721、erc1155、erc998

例子:BEP721nft,BEP1155NFT两份智能合约。

1.将下载的合约文件导入remix中;

2.主要关注721协议和1155协议必须要实现的接口及上链、查询、白名单、铸币人等接口方法,如果方法不全或不方便测试,可以修改或增加方法便于测试;

3.将合约方法检查完后,选择合适的版本进行编译,编译报错的解决错误问题,未报错说明编译成功;

4.在remix的部署页面上面选择“InjectedWeb3”,拉起小狐狸的授权页面进行授权,授权成功后,在remix部署页面选择要部署的主合约(如NFT721Token合约),选择正确的合约后,会出现构造函数输入框,输入参数name、symbol、address后点击deploy按钮进行部署,此时会拉起小狐狸钱包进行消费确认,点击确认按钮后等待部署上链。部署成功后,remix的部署页面下面会显示已部署合约的所有可调用的方法。

5.测试合约方法,主要测试授权、创作、铸币、查询这些接口,测试完成后,代表合约部分已准备完毕。

注意事项:测试时小狐狸要选择测试网络。

三、根据业务流程进行代码开发。

Nft商城系统项目开发流程(nft交易平台开发)

整个721nft流程说明:

1.通过在线remix部署合约,获得合约信息(合约id、发布人、时间等信息);

该步骤也可以由前端完成,前端sdk可以实现合约的编译和部署。

2.将合约信息手动录入到数据库中,后续业务开发基于这个合约来完成业务,合约id不能有误。

3.用户在页面上输入创建信息,点击创建方法后,先经过后端接口查询当前用户是否是铸币人,如果不是,后端接口会调用合约的addMinter方法将用户添加到铸币人列表中;

4.前端接收到后台返回值后,根据返回接口判断用户是否能铸币(链上方法),若有权限,则前端调用合约的safeMint(链上方法)方法进行铸币,该方法需要用户的小狐狸钱包支付bnb进行确认,支付成功后,前端得到交易hash,调用后端的铸币接口(后端铸币接口只是将铸币信息存入到数据库中)。完成铸币信息的记录。

Nft商城系统项目开发流程(nft交易平台开发)

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(交易);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。