智能合约 之 ERC-721

ERC-721(Non-Fungible Token,NFT)标准

ERC-721是以太坊区块链上的一种代币标准,它定义了一种非同质化代币(Non-Fungible Token,NFT)的标准。NFT是一种加密数字资产,每个代币都具有独特的属性,使其在区块链上不可互换。ERC-721标准的提出为数字艺术品、游戏物品、房地产和其他实物资产数字化所有权提供了基础

基本原理

ERC-721标准建立在以太坊智能合约技术之上,它定义了一组规则,以确保非同质化代币的发行、传输和交易的一致性和互操作性。与传统的代币标准(如ERC-20)不同,ERC-721代币具有独一无二的标识符和属性,因此每个代币都是独特的

ERC-20属于同质化代币,比如 你的 1 USDT 和 `我的 1 USDT`` 本质上是一样的价值

应用场景

  1. 数字艺术品: 艺术家可以将其作品转换为ERC-721代币,并通过智能合约确保其数字版权。
  2. 游戏物品: 游戏开发者可以使用ERC-721创建游戏中的唯一道具、角色或地图,玩家可以拥有、交易或出售这些物品。比如:加密猫
  3. 房地产和虚拟现实: 开发者可以利用ERC-721创建虚拟地产,如数字土地或建筑,从而在虚拟现实世界中实现所有权和交易。

目前来看,游戏物品是最有发展潜力的。数字艺术品房地产和虚拟现实一般需要公证机构的参与,所以有其局限性。

加密猫

定义的规则

    function balanceOf(address _owner) external view returns (uint256); // 拥有几个NFTfunction ownerOf(uint256 _tokenId) external view returns (address); // 谁拥有当前NFT(_tokenId)function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable; // 转移NFTfunction safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable; // 转移NFTfunction transferFrom(address _from, address _to, uint256 _tokenId) external payable; // 转移NFTfunction approve(address _approved, uint256 _tokenId) external payable; // 将自己的NFT授权给_approved,其可以执行转移操作function setApprovalForAll(address _operator, bool _approved) external; // 授权_approved可以转移自己所有此合约的NFTfunction getApproved(uint256 _tokenId) external view returns (address); // 检查某个NFT的转移权限function isApprovedForAll(address _owner, address _operator) external view returns (bool); // 检查_operator是否有_owner的NFT的转移权限

关注我,一起进入Web3的世界

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/286628.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小动物主动跑轮和被动跑轮的功能和目的?

小动物主动跑轮和被动跑轮在运动方式、实验目的和设计构造方面上是有区别的。 运动方式不同。主动跑轮是由动物自主运动来推动跑轮转动的。这种设置可以真实地反映动物自发的运动情况。相对地,被动跑轮则是一种强迫运动的方式,通常由电机带动跑轮转动从…

Web CSS笔记2

目录 1、背景 ①、背景图片(image) ②、背景平铺(repeat) ③、背景位置(position) ④、背景附着(attachment) ⑤、背景透明(CSS3) ⑥、背景图片缩放大小(size): ⑦、背景简写 2、标签显…

使用LLaVA模型实现以文搜图和以图搜图

本文将会详细介绍如何使用多模态模型——LLaVA模型来实现以文搜图和以图搜图的功能。本文仅为示例Demo,并不能代表实际的以文搜图和以图搜图的技术实现方案。 1、实现原理 使用多模态模型获取图片的标题和详细描述以文搜图功能:使用ES实现查询匹配&…

知识图谱-图数据库-neo4j (1)踩坑记录

1、neo4j 安装 材料 : openjdk11 (neo4j 最低jdk版本要求) neo4j-community-4.4.30 CentOS 7.8 Release Date: 25 January 2024 Neo4j 4.4.30 is a maintenance release with many important improvements and fixes. Neo4j Deployment Center - Graph Database…

全局自定义指令实现图片懒加载,vue2通过js和vueuse的useintersectionObserver实现

整体逻辑: 1.使用全局自定义指令创建图片懒加载指令 2.在全局自定义指令中获取图片距离顶部的高度和整个视口的高度 3.实现判断图片是否在视口内的逻辑 一、使用原生js在vue2中实现图片懒加载 1.创建dom元素,v-lazy为自定义指令,在自定义指令传入图片…

vue-selectTree

vue-selectTree并且修改样式和el-select下拉框样式一致。 注意下拉多选,后台数据传参问题。 可拖拽分隔栏, 1.安装依赖 "riophae/vue-treeselect": "0.4.0" 2.工程入口文件main.js全局配置 import Treeselect from riophae/vu…

http模块 获取http请求报文中的路径 与 查询字符串

虽然request.url已包含属性和查询字符串,但使用不便,若只需其中一个不好提取,于是用到了如下路径和字符串的单独查询方法: 一、获取路径 例如:我在启动谷歌端口时输入http://127.0.0.1:9000 后接了 "/search?k…

几个常用的AI工具

人工智能大模型的出现对人类社会产生了深远的影响,这些影响既包括积极的方面,也包括一些潜在的挑战: 1. **提高效率**:AI大模型能够快速处理大量数据,提高工作效率,尤其在数据分析、自然语言处理等领域。 2. **辅助决…

【理解机器学习算法】之Clustering算法(Agglomerative Clustering)

聚合聚类(Agglomerative Clustering)是一种层次聚类算法,通过逐步合并或“聚集”它们来构建嵌套聚类。这种方法采用自底向上的方式构建聚类层次:它从将每个数据点作为单个聚类开始,然后迭代合并最接近的聚类对,直到所有数据点合并…

解决BladeX微服务Swagger资源未授权访问漏洞

1.问题描述 客户线上环境,第三方进行安全检测时候,反馈来一个"Spring"接口未授权访问漏洞。如图: 2.后端框架 服务平台后端采用开源框架BladeX微服务版本。BladeX 是由一个商业级项目升级优化而来的SpringCloud微服务架构,采用Java8 API重构了业务代码,完全遵…

略带个性化的B端界面,非框架生成的。

B端系统(即面向企业或机构的系统)使用框架搭建页面具有以下优势和劣势: 优势: 提高开发效率:框架提供了一套已经定义好的标准和组件,可以大大减少开发人员的工作量和开发时间。开发人员可以专注于业务逻辑…

人工智能在产业中应用

一、从人工智能说起 (一) 关联关系发现 1. 推荐匹配 在信息爆炸的时代,我们每天都面临着信息的轰炸,无数电影、歌曲、帖子、商品呈现在我们的眼前。海量内容虽然丰富多彩,但同时也让我们感到目不暇接、应接不暇。就在这时,有一…

每日一题 --- 数组中的第 K 个最大元素[力扣][Go]

数组中的第 K 个最大元素 题目:数组中的第 K 个最大元素 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1…

蓝桥杯练习题总结(二)dfs题、飞机降落、全球变暖

目录 一、飞机降落 二、全球变暖 初始化和输入 确定岛屿 DFS搜索判断岛屿是否会被淹没 计算被淹没的岛屿数量 三、军训排队 一、飞机降落 问题描述: N架飞机准备降落到某个只有一条跑道的机场。其中第 i 架飞机在 时刻到达机场上空,到达时它的剩余…

qrcode插件-生成二维码

安装 yarn add qrcodejs2 --save npm install qrcodejs2 --save 使用 <template><div><div id"qrcodeImg"></div><!-- 创建一个div&#xff0c;并设置id --></div> </template> <script> import QRCode from q…

一篇文章,告别Flutter状态管理争论,问题和解决

起因 每隔一段时间&#xff0c;都会出现一个新的状态管理框架&#xff0c;最近在YouTube上也发现了有人在推signals, 一个起源于React的状态管理框架&#xff0c;人们总是乐此不疲的发明各种好用或者为了解决特定问题而产生的方案&#xff0c;比如Bloc, 工具会推陈出新&#x…

AI基础知识扫盲

AI基础知识扫盲 AIGCLangchain--LangGraph | 新手入门RAG&#xff08;Retrieval-Augmented Generation&#xff09;检索增强生成fastGPT AIGC AIGC是一种新的人工智能技术&#xff0c;它的全称是Artificial Intelligence Generative Content&#xff0c;即人工智能生成内容。 …

关于SpringMVC返回JSON中时间对象序列化的问题

系列文章目录 文章目录 系列文章目录前言前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 首先要说明一点,SpringMVC进行JSON序列化处理时,使用的工具包是Jackson…

PointNet++论文复现(一)【PontNet网络模型代码详解 - 分类部分】

PontNet网络模型代码详解 - 分类部分 专栏持续更新中!关注博主查看后续部分! 分类模型的训练: ## e.g., pointnet2_ssg without normal features python train_classification.py --model pointnet2_cls_ssg --log_dir pointnet2_cls_ssg python test_classification.py…

云电脑火爆出圈,如何选择和使用?--腾讯云、ToDesk云电脑、青椒云使用评测和攻略

前言&#xff1a; Hello大家好&#xff0c;我是Dream。在当下&#xff0c;科技的飞速发展已经深入影响着我们的日常生活&#xff0c;特别是随着物联网的兴起和5G网络的普及&#xff0c;云计算作为一个重要的技术概念也逐渐走进了我们的视野。云计算早已不再是一个陌生的名词&am…