NFT数字藏品铸造系统开发应用源码示例
2023.04.13 17:33浏览量:102简介:NFT 代表不可替代的代币。Non-fungible 是一个经济学术语,可用于描述家具、歌曲文件
NFT 代表不可替代的代币。Non-fungible 是一个经济学术语,可用于描述家具、歌曲文件或计算机等事物。这些项目不能与其他项目互换,因为它们具有唯一的属性。
NFT的所有权是通过其唯一的ID和无法复制的元数据来管理的。NFT是通过分配所有权和管理NFT可转让性的智能合约铸造的。当有人创建或铸造 NFT 时,他们会执行存储在符合不同标准的智能合约中的代码。该信息被添加到管理 NFT 的区块链中。从高层次来看,铸币过程有以下步骤:
创建一个新块
验证信息
将信息记录到区块链中
NFT 具有一些特殊属性:
铸造的每个代币都有一个唯一标识符,该标识符直接链接到一个以太坊地址。
它们不能直接与其他代币 1:1 互换。例如,1 个 ETH 与另一个 ETH 完全相同。
NFT 不是这种情况,每个令牌都有一个所有者,并且此信息很容易验证。
它们存在于以太坊上,可以在任何基于以太坊的 NFT 市场上买卖。
NFT数字藏品铸造系统开发源码示例
const tokenUri = await badge.tokenURI(1)
// console.log(“tokenURI:”)
// console.log(tokenUri)
const tokenId = 1
const data = base64.decode(tokenUri.slice(29))
const itemInfo = JSON.parse(data)
expect(itemInfo.name).to.be.equal(‘Badge #’+String(tokenId))
expect(itemInfo.description).to.be.equal(‘Badge NFT with on-chain SVG image.’)
const svg = base64.decode(itemInfo.image.slice(26))
const idInSVG = svg.slice(256,-13)
expect(idInSVG).to.be.equal(String(tokenId))
// console.log(“SVG image:”)
// console.log(svg)
for(let i=1;i<=10;i++){
await badge.mintTo(address1)
const tokenUri = await badge.tokenURI(i)
const data = base64.decode(tokenUri.slice(29))
const itemInfo = JSON.parse(data)
expect(itemInfo.name).to.be.equal(‘Badge #’+String(i))
expect(itemInfo.description).to.be.equal(‘Badge NFT with on-chain SVG image.’)
const svg = base64.decode(itemInfo.image.slice(26))
const idInSVG = svg.slice(256,-13)
expect(idInSVG).to.be.equal(String(i))
}
expect(await badge.balanceOf(address1)).to.equal(10)
发表评论
登录后可评论,请前往 登录 或 注册