Создание кода смарт-контрактов NFT: с чего начать
Основы ERC-1155
Что включает создание кода смарт-контракта NFT с ERC-1155?
Файл Solidity, реализующий функции и события ERC-1155, а также тесты, проверяющие балансы и события переводов в локальной сети. Он начинается с комментария об лицензии SPDX и директивы pragma solidity, определяет balanceOf, safeTransferFrom и uri(id), а также требует функцию создания токенов с контролем доступа. WaveClamp читает и редактирует этот файл и запускает ваши тесты. Вы проверяете каждое изменение.
Чем ERC-1155 отличается от ERC-721?
Разница в том, что ERC-721 предоставляет один контракт для одной коллекции уникальных токенов, каждый из которых имеет своего владельца, тогда как ERC-1155 позволяет одному контракту управлять множеством типов токенов, каждый из которых имеет числовой идентификатор, как взаимозаменяемые, невзаимозаменяемые или полу-взаимозаменяемые единицы. Набор NFT для виртуальной 3D-галереи искусства мог бы использовать один идентификатор для каждого произведения искусства. Оба стандарта являются стандартами Ethereum, а пакетные функции перемещают несколько идентификаторов одновременно.
Какие функции и события определяет стандарт?
Стандарт определяет balanceOf, balanceOfBatch, safeTransferFrom, safeBatchTransferFrom, setApprovalForAll, isApprovedForAll и uri(id), а также события TransferSingle, TransferBatch, ApprovalForAll и URI. Это 4 события. Пакетные функции перемещают несколько идентификаторов токенов в одной транзакции, и WaveClamp может выполнить grep проекта по каждому имени, чтобы вы видели, где объявляются или используются каждая функция и событие. Начните проверку с функций создания токенов и одобрения.
Как работают безопасные переводы?
Безопасный перевод проверяет получателя: когда получатель является контрактом, он должен реализовать onERC1155Received и onERC1155BatchReceived и принять токены, в противном случае перевод отклоняется. Это защищает токены от застревания в контракте, который не может их обработать. Стоит написать тест для контракта-получателя, и агент может составить его и запустить через Shell, пока вы читаете изменения.
Что возвращает функция uri(id)?
Строку, указывающую на JSON-файл метаданных токена. Значение может содержать текст {id}, который клиенты заменяют идентификатором токена в нижнем регистре в шестнадцатеричном формате, дополненным до 64 символов, так что один шаблон может обслуживать каждый идентификатор. Держите шаблон коротким. WaveClamp может записать JSON-файлы с помощью write_file и проверить шаблон в контракте с помощью grep. Протестируйте один идентификатор, прежде чем создавать остальные.
Использование WaveClamp
Запускает ли агент инструменты самостоятельно?
Да. Агент вызывает инструменты самостоятельно, и каждое действие отображается в чате в виде карточки с реальным результатом, поэтому вы читаете вывод, а не описание. Развернутая карточка показывает полный результат команды или изменения файла. В Auto-run действия выполняются сразу, в Ask first агент приостанавливается перед действиями, изменяющими что-либо, а в Plan only он ничего не запускает.
Как начать разработку смарт-контрактов NFT в тестовой сети?
Первый шаг — локальная сеть или тестовая сеть, чьи монеты не имеют ценности, а также небольшой файл Solidity. Откройте папку проекта в WaveClamp, выберите Plan only, чтобы прочитать шаги, затем переключитесь на Ask first, чтобы каждое изменение приходило как изменения в коде. Ваша собственная команда компиляции и команда тестирования запускаются через Shell. Никогда не используйте реальные средства или реальные ключи.
Может ли WaveClamp помочь с развертыванием ERC20, ERC721 и ERC1155 в разных сетях?
Да, с ограничениями. Агент редактирует контракты и запускает вашу собственную команду развертывания через Shell против локальной сети или тестовой сети, но он не развертывает ничего самостоятельно. Развертывание с реальной ценностью выходит за рамки целей этого сайта, а развернутый контракт нельзя изменить, поэтому сначала требуется независимый аудит безопасности. Ask first приостанавливается перед действиями, изменяющими что-либо.
Является ли mirazcode.com официальным сайтом WaveClamp?
Да, mirazcode.com — официальный сайт WaveClamp. Он размещает оригинальную сборку: загрузите установочную программу размером около 34 МБ здесь, сравните контрольную сумму SHA-256 с опубликованным манифестом и запустите её только если они совпадают. Используйте кнопку Send feedback внутри приложения для вопросов или проблем. Установочная программа пока не имеет кодовой подписи. Портативная версия в виде одного .exe размером около 25 МБ существует как отдельная сборка.
Всегда ли результаты верны?
Нет. Агент не гарантирует, что код, сканирования или анализ верны, и модель может написать код, который компилируется, но ведет себя неправильно. Вы проверяете каждый результат и каждое изменение перед тем, как принять их, запускаете команду тестирования и читаете код выхода. Для всего, что имеет реальную ценность, независимый аудит безопасности проводится перед развертыванием. Относитесь к каждому ответу как к черновику для проверки.
Модели, конфиденциальность и загрузка
Покидают ли мои файлы компьютер?
Ответ зависит от выбранной вами модели. С облачным провайдером ИИ запрос, включая текст любого файла, который читает агент, отправляется этому провайдеру. С моделью, работающей на вашем компьютере, ничего не покидает машину. Чаты, рабочие папки и API-ключи остаются на компьютере, а секреты в выводе инструментов маскируются перед отправкой в модель.
Какие модели я могу подключить?
Облачного ИИ-провайдера через стандартный API-конечную точку, модель, работающую на вашем компьютере, или встроенную модель, готовую к использованию без вашей собственной конечной точки. Кнопка Test проверяет конечную точку и показывает время отклика и размер контекстного окна. Выбирайте в зависимости от задачи. Большая модель подходит для сложных вопросов проверки, а меньшая — для небольших изменений.
Что должна проверить небольшая перед использованием с реальной ценностью?
Небольшой проект утилиты ERC20 заслуживает прозрачности, публикуя свой исходный код и тесты, и та же привычка применяется к набору нескольких токенов. Добавьте независимый аудит безопасности, потому что развернутый контракт нельзя изменить. WaveClamp не заменяет этот аудит и не дает финансовых советов. Держите ключи вне файлов и используйте одноразовые учетные записи во время практики. Читайте каждое изменение перед тем, как принять его.
Как проверить загрузку?
Установочная программа пока не имеет кодовой подписи, поэтому сравните её контрольную сумму SHA-256 с опубликованным манифестом. В терминале выполните certutil -hashfile с путем к файлу и словом SHA256, затем сравните две строки. Если SmartScreen в Windows выдает предупреждение, нажмите More info, а затем Run anyway только после совпадения контрольной суммы. Выберите установочную программу, а не портативный .exe.