| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 区块链 -> NFT链游系统开发技术栈分析 -> 正文阅读 |
|
[区块链]NFT链游系统开发技术栈分析 |
一个NFT是一个token/凭证,有唯一的id和owner以及关联的其他数据,目前有经济价值的NFT项目的发行方式主要分两种形式: 一次性发行一个单独的项目并包含有限个NFT,它们共享一系列特性和数据,比如CryptoPunks 在一个公共的项目里创建一个自己的NFT,比如Foundation 一种最经典的NFT(BAYC,CryptoPunk,…) 基础数据构成 开发者个人钱包或者DAO的钱包发起交易,创建一个ERC721合约,它长这样: ? ? NFT合约里包含什么信息 1.每个token的owner和url 2.实现权限的逻辑,谁可以改合约数据,比如url 项目方权限越小就越去中心化 3.实现transfer和mint的逻辑 transfer是ERC721的接口规范,逻辑大家都一样,mint一般会加一些特别限制 4.实现取钱(withdraw)逻辑,从合约里把钱转到指定账户 一般是项目方个人钱包或者DAO钱包。 什么是mint(铸造)? 合约刚刚部署/创建的时候,合约的数据里面是没有token的,创建一个token的过程就是mint,其实就是在数据库里面新增了一条数据。一般是用户支付给合约一笔钱然后合约生成一个token并且把owner设置成这个用户。 mint出来的一个token至少包含id,url和owner三个信息 几乎所有项目都会限制mint的次数,比如10000个,这就是发行量,人为设定的稀有度 每个id对应的url是合约里按照一个规则设置好的,用户不能自己在mint的时候传 mint时候用户支付给合约的钱就是公开发行价,这笔钱项目方会从合约里取走。 ? 总结一下第一种发行方式,以BAYC为例: 项目方部署一个合约 限量10000个用户可以mint一个自己的NFT 用户每mint一个NFT需要支付0.08个ETH给项目方 每个NFT上都是项目方提前画好的图,项目方就是作者 通过Foundation/Rarible/SuperRare发行NFT 免费mint一个自己的NFT ? 总结一下第二种发行方式,以Foundation平台为例: 平台只有一个提前部署好的合约 任何人都可以上传一张图并mint一个自己的NFT 用户不需要支付费用给平台 每个NFT上的图是用户自己上传的,用户自己是作者 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 3:13:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |