Velas での NFT の作成について知っておくべきことすべて
Velas で NFT を作成すると、チームにさまざまなメリットがもたらされます。これらには、イーサリアムと互換性のあるスマート コントラクトの活用、超高速のトランザクション速度の享受、高額なガス料金の免除などが含まれます。
内容:
概要
NFT は、ユーザーにさまざまなメリットをもたらす革新的なテクノロジーです。たとえば、これまでにない方法でユーザーにデジタル資産の所有権の証明を付与します。さらに、NFTはまったく新しいクリエイターエコノミーにつながる可能性があります。
NFT がもたらすあらゆる特典により、誰もが NFT でプロジェクトを強化することについて話しています。しかし、NFTをサポートするスマートコントラクトを開発する方法を知っていますか?この記事では、Velas Testnet で NFT スマート コントラクトを作成するすべての手順を説明しますので、そうでない場合でも心配する必要はありません。
このチュートリアルでは、コレクションではなく 1 対 1 の NFT を作成する方法を説明することに注意してください。したがって、このスマートコントラクトにより、ユーザーは自分の写真やビデオをNFTとしてミントできるようになります。
なぜベラスなのか?
利用可能なブロックチェーン プロトコルは数多くあります。しかし、開発者はそれらを使用する際に依然として問題に直面しています。たとえば、イーサリアムは高いガス料金と遅いトランザクション処理に悩まされていますが、他のブロックチェーンでは開発者が Rust などのなじみのない言語を使用する必要があります。
ヴェラス、それらの懸念のほとんどは存在しません。 Velas のソリューションは、Solana のテクノロジーの最高の DNA を継承し、それを追加機能で補完して、Solana との互換性をサポートします。 EVM。これにより、より速いトランザクション時間で優れたユーザー エクスペリエンスを保証する理想的なプラットフォームがユーザーと開発者に提供されます。さらに、Solidity のサポートにより開発プロセスが簡素化されます。
前提条件
手順を進めるには、Node とパッケージ マネージャーである Yarn が必要です。また、Solidity の基本的な知識も必要です。したがって、Solidity に慣れていない場合は、Solidity の基本を身につけてください。 まずはヘルメット.
プロジェクトを設定するには、ターミナルで次のコマンドを実行します。
npx hardhat
Hardhat がインストールされていない場合は、次の出力が表示されます。
タイプ y をクリックし 入力します、ハードハットのインストールに進みます。ただし、Hardhat をすでにお持ちの場合は、Hardhat のインストールを求めるプロンプトは表示されません。代わりに、プロジェクトをどのように設定するかについていくつかの質問が表示されます。
現在のフォルダーに基本的な Javascript プロジェクトが必要なので、クリックするだけです。 入力します 全てにおいて。
次に、プロジェクトの依存関係をインストールする必要があります。これらをインストールするには、次のコマンドを使用します。
npm install --save-dev "^2.10.1" "@nomicfoundation/^1.0.1" "@openzeppelin/contracts" "dotenv"
Yarn を使用しているため、hardhat-toolbox が使用するライブラリをインストールする必要があります。
yarn add --dev @nomicfoundation/hardhat-toolbox @nomicfoundation/hardhat-network-helpers @nomicfoundation/hardhat-chai-matchers @nomiclabs/hardhat-ethers @nomiclabs/hardhat-etherscan chai ethers hardhat-gas-reporter solidity-coverage @typechain/hardhat typechain @typechain/ethers-v5 @ethersproject/abi @ethersproject/providers
npm バージョン 7 以降のバージョンを使用している場合、これらのライブラリは直接インストールされます。
スマート コントラクトを作成する前に、もう 1 つのステップを踏む必要があることに注意してください。それは何かを取り除くことです 。ソル 契約フォルダーにあるファイルを選択し、という名前の新しいファイルを作成します。 VELASNFT.sol。これは契約書を作成するフォルダーです。
NFTスマートコントラクトの書き方
コンストラクタ
まず、ソリッド性バージョンを定義し、空のスマート コントラクト本体を作成するベアボーン スマート コントラクトを作成します。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9; contract VELASNFT { }
ベーススマートコントラクトとユーティリティスマートコントラクトをインポートする必要があります。特に、これらは NFT スマート コントラクトを構築するために使用されるコントラクトです。基本契約は、 ERC721URISストレージ、ストレージベースのトークン URI 管理を備えた ERC721 実装。
Counters は、鋳造された NFT の数を数えるために使用されるユーティリティ契約です。
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
私たちの契約は基本契約を継承します。これにより、ユーザーは基本コントラクトとスマートコントラクトのすべての機能にアクセスできるようになります。
contract VELASNFT is ERC721URIStorage { }
これで、コントラクトのコンストラクターを作成できるようになりました。特に、コンストラクターには引数がありませんが、名前とシンボルを ERC721 コンストラクターに渡す必要があります。
constructor() ERC721("VELASNFT", "VN") {}
このステップが完了すると、スマート コントラクトは次のようになります。
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol"; contract VELASNFT is ERC721URIStorage { constructor() ERC721("VELASNFT", "VN") {} }
mint関数を書く
mint 関数の場合、最初にカウンターを設定する必要があります。コンストラクターの上のコントラクト内に次のスニペットを貼り付けます。
using Counters for Counters.Counter; Counters.Counter private _tokenIds;
Counters ライブラリのすべての関数を Counter 構造体に割り当てます。次に、というプライベート変数を作成します。 _tokenIds.
それでは関数の開発を始めましょう。引数を 1 つ受け取ります。 トークンURIそして、それはすべてのメタデータを保存する json ファイルへの URL になります。次のセクションではメタデータについて詳しく説明します。 mint 関数はパブリックに公開され、作成された NFT の ID (タイプ uint256) を返します。
function mint(string memory tokenURI) public returns (uint256) { }
関数内では、まずカウンターの現在のカウントを取得します。
NFTを鋳造するには、次を使用します _ミント 引数としてアドレスとIDを取る関数。アドレスには発信者のアドレスを使用し、ID は現在のカウントになります。その後、保存する必要があります トークンURI。
そのためには、次のことを行う必要があります _setTokenURI、 これにより、対応する ID を持つ URI がキーとして保存されます。最後に、カウンターをインクリメントし、作成された NFT の ID をインクリメントします。
function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(minter, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
おめでとう!これで、スマート コントラクトが NFT を鋳造できるようになりました。ここでは契約全体の概要を説明します。
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.9; import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol"; contract VELASNFT is ERC721URIStorage { using Counters for Counters.Counter; Counters.Counter private _tokenIds; constructor() ERC721("VELASNFT", "VN") {} function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(msg.sender, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
}
契約の展開方法
NFT スマート コントラクトを構築しました。ここで、展開というエキサイティングなステップが始まります。ただし、コントラクトをデプロイする前に、コントラクトをコンパイルし、コントラクトをデプロイするスクリプトを作成する必要があります。コントラクトをコンパイルするには、ターミナルで次のコマンドを実行します。
npx hardhat compile
次の出力が表示されます。
次の段階に進み、このスマート コントラクトをデプロイするためのスクリプトを作成します。これを行うには、script フォルダーに移動し、deploy.js ファイルを開きます。次に、すべてのコンテンツを削除し、次のスニペットをそのファイルに貼り付けます。
const hre = require("hardhat"); async function main () { // We get the contract to deploy const VELASNFT = await hre.ethers.getContractFactory('VELASNFT'); console.log("Deploying NFT contract..."); const velasnft = await VELASNFT.deploy(); await velasnft.deployed(); console.log('NFT contract deployed to:', velasnft.address); } main() .then(() => process.exit(0)) .catch(error => { console.error(error); process.exit(1);
});
コントラクトを展開する前に、Velas テストネットに関する詳細をhardhat.config.js ファイルに追加する必要があります。ファイルを開いて Velas テストネット構成を追加します。
require("@nomicfoundation/hardhat-toolbox");
const dotenv = require('dotenv');
dotenv.config(); /** @type import('hardhat/config').HardhatUserConfig */
module.exports = { solidity: "0.8.9", networks: { velastestnet: { url: `https://evmexplorer.testnet.velas.com/rpc`, accounts: [process.env.PRIVATE_KEY] } }
};
コントラクトをデプロイする前に、ウォレットの秘密キーを .env ファイルに追加し、ウォレットにテストネット VLX トークンを含める必要があることにも言及する価値があります。テストネットトークンは以下から取得できます こちら.
すべての設定が完了したので、ターミナルで次のコマンドを実行します。
npx hardhat run scripts/deploy.js --network velastestnet
コマンドが正常に実行されると、ターミナルに次のような出力が表示されます。
NFTをミントする
スマート コントラクトがデプロイされると、端末から NFT を鋳造できます。これを行うには、まず次のコマンドを使用してハードハット コンソールを起動します。
npx hardhat console --network velastestnet
出力を以下に示します。
次に、というコントラクト変数を作成します。 「ヴェラスンフト」を選択します。 getContractAt メソッドはコントラクト オブジェクトを返します。
const velasnft = await ethers.getContractAt("VELASNFT", '0x587133187DEC8E1D5a964254B42FF3627a649313')
以下に示す出力を参照してください。
NFT をミントするには、次の mint メソッドを使用します。 ベラスンフト 変数。また、メタデータのリンクをメソッドに渡す必要があります。メタデータ標準について詳しく読むことができます こちら.
await velasnft.mint("https://metadatastorage.com/velasnft/0")
以下の出力を確認してください。
次に、NFTの所有者を確認します。を使用して鋳造して以来、 の所有者 メソッドに、作成した NFT のインデックスを渡しましょう。
await velasnft.ownerOf(0)
それがNFT所有者の結果を取得する方法です。
まとめ
この記事では、ユーザーがNFTを鋳造できるようにするNFTスマートコントラクトを作成する方法を学びました。さらに、Velas テストネットへのデプロイにも成功しました。これで、新しい NFT を利用したアプリケーションを開発し、動的な Velas エコシステムを探索できるようになります。
このリンクから、Velas で DAO を構築する方法を確認することもできます。
Velas は、Web3 の開発を加速しようと努力する人々に力を与えたいと考えています。したがって、Velas はこの使命を達成するために 100 億ドルの助成プログラムを開始しました。一方、このプログラムは Velas エコシステムの拡大をサポートすることも目的としています。
Velas の助成プログラムを利用して、開発者はエキサイティングなアイデアをより効率的に実現できます。各プロジェクトには最大 100,000 ドルの資金を受け取る機会があります。さらに、選ばれたチームは、プロジェクトの開発を促進するためのマーケティングや技術コンサルタントなどの他のリソースにアクセスできます。
この助成プログラムは、DeFi、NFT、ブロックチェーンを利用したゲームなどを含むがこれらに限定されない幅広いカテゴリーをカバーしています。
暗号通貨とブロックチェーンの大量導入を加速することに興味がある場合は、 Velas の進化し続けるエコシステムに今すぐ参加してください。
ヴェラスについてさらに詳しく:
免責事項 — これはスポンサー記事です。 DappRadar は、このページのコンテンツや製品を推奨していません。 DappRadar は正確な情報を提供することを目指していますが、読者は行動を起こす前に常に独自の調査を行う必要があります。 DappRadar による記事は、投資アドバイスと見なすことはできません。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- Platoblockchain。 Web3メタバースインテリジェンス。 知識の増幅。 こちらからアクセスしてください。
- 情報源: https://dappradar.com/blog/how-to-create-nft-on-velas
- 100万ドル
- 000
- 1
- 10
- 7
- 9
- a
- 私たちについて
- 上記の.
- 加速している
- アクセス
- アカウント
- 正確な
- Action
- 添加
- NEW
- 住所
- 養子縁組
- アドバイス
- 後
- 目指して
- すべて
- ことができます
- 既に
- 常に
- および
- 引数
- 引数
- 記事
- 物品
- 資産
- 利用できます
- 待つ
- ベース
- 基本
- の基礎
- なぜなら
- さ
- 以下
- 恩恵
- 利点
- BEST
- ブロックチェーン
- ブロックチェーン駆動
- ブロックチェーン
- ボディ
- 持って来る
- ビルド
- 内蔵
- 呼ばれます
- 発信者
- 取得することができます
- カテゴリ
- チェック
- コレクション
- 互換性
- 互換性のあります
- 懸念事項
- 結論
- 見なさ
- 領事
- コンサルタント
- コンテンツ
- 縮小することはできません。
- 契約
- 対応する
- カウンター
- カウンター
- カバー
- 作ります
- 作成した
- 作成
- クリエイター
- クリエイターエコノミー
- 暗号通貨
- 電流プローブ
- DAO
- DappRadar
- データ
- DeFi
- 展開します
- 展開
- 展開する
- 展開
- 配備する
- 細部
- 開発する
- 開発者
- 開発
- デジタル
- デジタル資産
- 直接に
- DNA
- ドント
- ダイナミック
- 各
- 経済
- エコシステム
- 効率良く
- エンパワー
- エンパワーメント
- enable
- 裏書きする
- 完全に
- ERC721
- エラー
- イーサリアム
- 誰も
- すべてのもの
- 例
- 優れた
- エキサイティング
- 実行します
- 拡大
- 体験
- 探る
- 輸出
- 顔
- おなじみの
- スピーディー
- 速いです
- 特徴
- 費用
- File
- 名
- フォロー中
- 育てる
- 無料版
- から
- function
- 機能
- 資金調達
- Games
- GAS
- ガス代
- 取得する
- 与える
- 与える
- Go
- 助成金
- 助成
- 保証
- こちら
- ハイ
- 認定条件
- How To
- しかしながら
- HTTPS
- 理想
- 考え
- 実装
- import
- in
- include
- 含めて
- index
- 情報
- install
- を取得する必要がある者
- 興味がある
- 概要
- 投資
- 問題
- IT
- JavaScriptを
- join
- JSON
- キー
- キー
- 知っている
- 知識
- ESL, ビジネスESL <br> 中国語/フランス語、その他
- 打ち上げ
- つながる
- 学んだ
- 活用
- ライブラリ
- 図書館
- 生活
- 限定的
- LINK
- 見て
- のように見える
- メイン
- マネージド
- 管理
- マネージャー
- 多くの
- マーケティング
- 質量
- 大量採用
- 最大幅
- その間
- ミディアム
- メモリ
- 方法
- 百万
- ミント
- 鋳造
- ミッション
- マサチューセッツ工科大学(MIT)
- モジュール
- 他には?
- 最も
- 名
- 必要
- ネットワーク
- 新作
- 次の
- NFT
- NFTスマートコントラクト
- NFTs
- 特に
- 数
- オブジェクト
- ONE
- 開いた
- 公海
- 機会
- その他
- 概要
- 自分の
- 所有者
- 所有権
- パッケージ
- 役得
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- お願いします
- さらに
- 前提条件
- プレゼンテーション
- プライベート
- 秘密鍵
- プロセス
- 処理
- プロダクト
- 演奏曲目
- プロジェクト
- プロジェクト(実績作品)
- 証明
- 保護された
- プロトコル
- 提供します
- 公共
- 質問
- 範囲
- 読む
- 読者
- 受け取ります
- 削除します
- 必要とする
- 研究
- リソース
- 結果
- return
- 収益
- 革新的な
- ラン
- さび
- Save
- スクリプト
- セクション
- 選択
- セッションに
- すべき
- 表示する
- 示す
- 同様の
- から
- 遅く
- スマート
- スマート契約
- スマート契約
- So
- SOL
- 固い
- 溶液
- 一部
- スピード
- スポンサー
- ステージ
- 規格
- start
- 手順
- ステップ
- まだ
- 店舗
- 努力する
- 闘争
- 首尾よく
- サポート
- シンボル
- 取る
- 取り
- 取得
- 会話
- チーム
- 技術的
- テクノロジー
- ターミナル
- テストネット
- 基礎
- アプリ環境に合わせて
- そこ。
- したがって、
- 物事
- 介して
- 時間
- 〜へ
- トークン
- トークン
- トランザクション
- 取引速度
- true
- チュートリアル
- 未知
- URL
- つかいます
- ユーザー
- 操作方法
- users
- ユーティリティ
- さまざまな
- ヴェラス
- バージョン
- 、
- 動画
- 視認性
- W3
- 財布
- 方法
- Web3
- webp
- which
- while
- 誰
- ワイド
- 広い範囲
- 意志
- 価値
- 書きます
- 書き込み
- You
- あなたの
- あなた自身
- ゼファーネット