#solidity
Вопрос:
Пытаюсь создать функцию для чеканки определенного набора токенов ERC1155, но по какой-то причине при выполнении токены не чеканятся. Код для функции mintSingle() работает нормально. Я перепробовал несколько способов построения динамического массива, который требуется в качестве входных данных для контрактной функции OpenZeppelin ERC1155 _mintBatch(адрес, идентификаторы uint256 [], суммы uint256 [], данные в байтах), но ничего не работает. Что я делаю не так? Спасибо.
contract ExampleProject is ERC1155 { uint256 public constant ROWA = 0; uint256 public constant ROWBA = 30; constructor() public ERC1155("ipfs://Example/metadata/{id}.json") { } function mintRowA() public { uint256[] memory a = new uint256[](2); a[0] = ROWA; a[1] = ROWBA; uint256[] memory b = new uint256[](2); b[0] = 1; b[1] = 1; _mintBatch(msg.sender, a, b, "" ); } function mintSingle() public { _mint(msg.sender, ROWBA, 1, ""); } }
Комментарии:
1. пусть ты найдешь что-нибудь
2. столкнувшись с той же проблемой
3. Похоже, это была проблема с Etherscan. Если вы используете функцию balanceOf для проверки своей учетной записи на наличие токена, вы увидите, что токены ERC1155 действительно чеканятся с помощью _mintBatch, но ES не показывает передачу, как это происходит для одного монетного двора. Я хотел положить билет в ES, чтобы исправить это.
4. в opensea я также не вижу никаких токенов, поэтому я думаю, что есть какая-то более глубокая проблема.