NFTスマートコントラクトの作成:最初に確認すべき点
ERC-1155の基本
ERC-1155を用いたNFTスマートコントラクトの作成には何が含まれますか?
ERC-1155の関数とイベントを実装するSolidityファイルと、ローカルチェーン上で残高や転送イベントを確認するテストが含まれます。SPDXライセンスコメントとpragma solidity行から始まり、balanceOf、safeTransferFrom、uri(id)を定義し、アクセス制御付きのミント関数が必要です。WaveClampはそのファイルを読み取り編集し、テストを実行します。すべての差分を確認してください。
ERC-1155とERC-721の違いは何ですか?
ERC-721は1つのコントラクトで1つのユニークなトークンコレクションを扱い、それぞれに固有の所有者を割り当てます。一方、ERC-1155は1つのコントラクトで複数のトークンタイプ(それぞれ数値IDを持つ)を管理でき、それらはfungible、non-fungible、またはsemi-fungibleな単位として扱えます。バーチャル3DアートギャラリーのNFTセットでは、各作品に1つのIDを使用できます。両方ともイーサリアムの標準であり、バッチ関数で複数のIDを一度に移動できます。
標準で定義されている関数とイベントは何ですか?
標準はbalanceOf、balanceOfBatch、safeTransferFrom、safeBatchTransferFrom、setApprovalForAll、isApprovedForAll、uri(id)を定義しており、さらにTransferSingle、TransferBatch、ApprovalForAll、URIという4つのイベントを定義しています。バッチ関数は1つのトランザクションで複数のトークンIDを移動し、WaveClampはプロジェクト内の各名前をgrepで検索できるので、すべての関数とイベントがどこで宣言または使用されているかを確認できます。レビューはミント関数と承認関数から始めてください。
安全な転送はどのように機能しますか?
安全な転送は受信者を確認します。受信者がコントラクトの場合、onERC1155ReceivedとonERC1155BatchReceivedを実装し、トークンを受け入れる必要があります。そうでない場合、転送は拒否されます。これにより、トークンが処理できないコントラクトに閉じ込められるのを防ぎます。受信コントラクトのテストを作成する価値があり、エージェントがそれを作成し、Shellを通じて実行できます。差分を読みながら確認してください。
uri(id)関数は何を返しますか?
トークンのメタデータJSONへのポインターとなる文字列を返します。値には{id}というテキストを含めることができ、クライアントはこれをトークンID(小文字の16進数、64文字にパディング)に置き換えます。これにより1つのパターンですべてのIDに対応できます。パターンは短く保ってください。WaveClampはwrite_fileでJSONファイルを作成し、grepでコントラクト内のパターンを確認できます。他のIDを作成する前に、1つのIDでテストしてください。
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 MBのセットアッププログラムをここからダウンロードし、SHA-256チェックサムを公開されたマニフェストと比較し、2つが一致する場合のみ実行してください。質問や問題についてはアプリ内のSend feedbackボタンを使用してください。インストーラはまだコード署名されていません。約25 MBのポータブル単一.exeは別ビルドとして存在します。
結果は常に正しいですか?
いいえ。エージェントはコード、スキャン、または分析が正しいことを保証するものではなく、モデルはコンパイルはできるが正しく動作しないコードを書く可能性があります。受け入れる前に、すべての結果と差分を確認し、テストコマンドを実行して終了コードを読んでください。実価値のあるものについては、デプロイメントの前に独立したセキュリティレビューが必要です。各回答をテストするための草案として扱ってください。
モデル、プライバシー、ダウンロード
ファイルはPCから外部に送られますか?
答えは選択するモデルによります。クラウドAIプロバイダーを使用する場合、エージェントが読み取るファイルのテキストを含むプロンプトがそのプロバイダーに送信されます。PC上で実行されるモデルを使用する場合、何もマシンから外部に送られません。チャット、作業フォルダ、APIキーはPCに残り、ツール出力内のシークレットはモデルに到達する前にマスクされます。
どのモデルに接続できますか?
標準APIエンドポイント経由のクラウドAIプロバイダー、PC上で実行されるモデル、またはエンドポイントなしで直接使用できる内蔵モデルです。Testボタンはエンドポイントをチェックし、応答時間とコンテキストウィンドウを表示します。タスクごとに選択してください。大きなモデルは難しいレビュー質問に適しており、小さなモデルは小さな編集に適しています。
実価値のある使用の前に小さなプロジェクトが確認すべきことは何ですか?
小さなERC20ユーティリティプロジェクトは、ソースとテストを公開することで透明性を確保し、この習慣はマルチトークンセットにも適用されます。独立したセキュリティレビューを追加してください。デプロイされたコントラクトは変更できないためです。WaveClampはレビューの代替ではなく、金融助言も提供しません。キーをファイルから出し、練習中は使い捨てアカウントを使用してください。受け入れる前に各差分を読んでください。
ダウンロードを確認するにはどうすればよいですか?
インストーラはまだコード署名されていないため、SHA-256チェックサムを公開されたマニフェストと比較してください。ターミナルで、ファイルのパスとSHA256という単語を使用してcertutil -hashfileを実行し、2つの文字列を比較してください。Windows SmartScreenが警告を表示した場合、[詳細情報]をクリックし、その後チェックサムが一致すれば[それでも実行]を選択してください。ポータブル.exeではなく、セットアッププログラムを選択してください。