分投趣(Fintoch)开发系统模式技术
NFT是我们可以用来表示独特物品所有权的代币。他们让我们对艺术品、收藏品甚至房地产等事物进行代币化。他们一次只能有一个官方所有者,并且受到以太坊区块链的保护——没有人可以修改所有权记录或复制/粘贴新的NFT。
什么是NFT标准或ERC-721?
ERC-721是最常见的NFT标准。如果您的智能合约实现了某些标准化的API方法,则可以将其称为ERC-721非同质代币合约。
这些方法在EIP-721中指定。像OpenZeppelin等开源项目通过将最常见的ERC标准实现为可重用库来实现,从而简化了开发过程。
什么是铸造NFT?
通过铸造NFT,您可以在区块链上发布一个独特的代币。此代币是您的智能合约的一个实例。
每个代币都有一个唯一的tokenURI,它在符合特定模式的JSON文件中包含您的资产的元数据。元数据是您存储有关NFT信息的地方,例如名称、图像、描述和其他属性。
“ERC721元数据架构”的JSON文件示例如下所示:
{
"attributes":[
{
"trait_type":"Shape",
"value":"Circle"
},
{
"trait_type":"Mood",
"value":"Sad"
}
],
"description":"A sad circle.",
"image":"https://i.https://img.chengxuka.comur.com/Qkw9N0A.jpeg",
"name":"Sad Circle"
如何存储NFT的元数据?
存储NFT元数据的主要方式有三种。
首先,您可以将信息存储在链上。换句话说,您可以扩展您的ERC-721并将元数据存储在区块链上,但是这可能会很昂贵。
第二种方法是使用IPFS。
第三种方法是让您的API返回JSON文件。
通常首选第一种和第二种方法,因为您无法调整底层JSON文件。对于本项目的范围,我们将选择第三种方法。
链上所有的应用程序(dApp)也都是由智能合约驱动的,不论是借贷协议、去中心化交易所(DEX)、预言机或NFT市场。这些协议都是由一个或多个智能合约组成的,而合约里面都会写好各式功能,让协议能正常被用户使用。例如我们刚刚举例的“Swap Exact Tokens for Tokens”功能,就能在下图合约上看到当用户地址呼叫这个功能时,合约会做什么相对应的操作。
智能合约与链的互动
写智能合约的语言有很多中,每一条链支援的语言也不太一样,常见的语言有Solidity,Vyper和Rust。在链上执行合约的环境称为虚拟机器(VM),不同的链也有各自不同的环境(例如以太坊的就称为EVM),而这些环境能适用的程序语言也不同。像是以太坊的EVM就只能执行由Solidity写的智能合约,这也让Solidity成为现在最普遍的智能合约语言。
相关文章
- BI系统的分布式部署原理和技术实现
- FDF智能合约互助公排游戏系统开发源码技术讲解
- 阿凡达系统开发模式技术方案丨阿凡达模式项目系统开发技术逻辑程序(源码)
- 溯源‘NFT链游系统开发’源码技术搭建
- 任务卷轴模式开发NFT系统搭建技术
- 如何使用SXDork并利用Google Dorking技术在互联网中搜索指定信息
- 系统压缩技术Linux S类型文件系统的压缩技术:让存储无处不在(linuxs类型文件)
- Oracle技术:提升多线程性能(oracle多线程)
- Oracle技术实现汉字拼音转换(oracle汉字转拼音)
- Linux系统的自动网络连接技术(linux网络自动连接)
- Linux系统智能硬件检测技术初探(linux硬件检测)
- 掌握Linux系统搭建技巧,开启新技术之路(linux系统的搭建)
- LINUX系统下安全数据传输的技术突破(linux数据传输)
- Linux 零拷贝技术: 提升系统效率(linux零拷贝技术)
- MongoDB实现分片技术,减轻存储压力(mongodb分片机制)
- 分割Linux物理磁盘分割技术实现方法(linux物理磁盘)
- Redis之父:开源数据库技术领袖Salvatore Sanfilippo(redis作者)
- 息壤数据管理:MS SQL数据库技术实现(息壤mssql数据库)
- oracle RAC热备技术:让系统更加安全可靠(oracle 热备rac)
- Oracle虚拟化:让企业系统更高效的技术解决方案(oracle 虚拟化)
- mssql虚拟化技术提升系统性能(mssql 虚拟化)
- MSSQL系统账号删除的技术指南(mssql系统账号删除)
- Linux系统显卡驱动支持技术突破(linux显卡支持)
- 世界各地拥有Oracle技术的人数统计(oracle全球人数)
- 推崇点赞系统架构基于Redis技术(点赞系统设计redis)
- Oracle数据库两表拼接技术实现分析(oracle两表拼接)
- 分配Redis自定义内存页分配技术研究(redis自定义内存页)