首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ERC1155令牌的自定义元数据urls

ERC1155令牌的自定义元数据urls
EN

Ethereum用户
提问于 2021-04-08 19:14:56
回答 1查看 3K关注 0票数 2

我从本教程中创建了一个非常基本的ERC1155令牌:

https://docs.openzeppelin.com/contracts/3.x/erc1155

代码语言:javascript
复制
// contracts/GameItems.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;

import "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";

contract GameItems is ERC1155 {
    uint256 public constant GOLD = 0;
    uint256 public constant SILVER = 1;
    uint256 public constant THORS_HAMMER = 2;
    uint256 public constant SWORD = 3;
    uint256 public constant SHIELD = 4;

    constructor() public ERC1155("https://game.example/api/item/{id}.json") {
        _mint(msg.sender, GOLD, 10**18, "");
        _mint(msg.sender, SILVER, 10**27, "");
        _mint(msg.sender, THORS_HAMMER, 1, "");
        _mint(msg.sender, SWORD, 10**9, "");
        _mint(msg.sender, SHIELD, 10**9, "");
    }
}

如您所见,在部署契约时创建了5个令牌。这5个令牌中的每个都与一个元数据文件相关联:

代码语言:javascript
复制
https://game.example/api/item/0000.....0001.json
https://game.example/api/item/0000.....0002.json
https://game.example/api/item/0000.....0003.json
https://game.example/api/item/0000.....0004.json
https://game.example/api/item/0000.....0005.json

我想定制这5个urls。他们需要有很大的不同。有可能吗?我可以重写ERC1155函数,但我想要兼容ERC1155,以便保持令牌与市场位置的兼容。

谢谢

EN

回答 1

Ethereum用户

发布于 2021-04-09 06:32:16

是的,您可以对函数进行更改(例如,更改元数据URL),但不能更改输入参数的数量/类型或返回值,因为这将违反接口(更多细节请参见功能覆盖 )。

注意,如果从ERC1155Mintable继承,还可以调用setURI来更新元数据URL。

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/96931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档