Velas'ta NFT oluşturma hakkında bilmeniz gereken her şey
Velas'ta NFT'ler oluşturmak ekiplere çeşitli avantajlar sağlayabilir. Bunlar arasında Ethereum uyumlu akıllı sözleşmelerden yararlanmak, çok hızlı işlem hızının tadını çıkarmak, yüksek gas ücretlerinden muaf olmak ve daha fazlası yer alıyor.
İçerik:
Giriş
NFT, kullanıcılara çeşitli şekillerde fayda sağlayabilecek devrim niteliğinde bir teknolojidir. Örneğin, kullanıcılara dijital varlıkları üzerinde daha önce hiç olmadığı kadar sahiplik kanıtı sağlıyor. Dahası, NFT'ler tamamen yeni bir içerik oluşturucu ekonomisine yol açabilir.
NFT'lerin getirdiği tüm avantajlara rağmen herkes projelerini NFT'lerle güçlendirmekten bahsediyor. Peki NFT destekli akıllı sözleşmelerin nasıl geliştirileceğini biliyor musunuz? Değilse endişelenmeyin çünkü bu makale, Velas Testnet'te NFT akıllı sözleşmeler oluşturmanın tüm adımlarında size yol gösterecektir.
Lütfen bu eğitimin size koleksiyon yerine nasıl birebir NFT oluşturulacağını göstereceğini unutmayın. Dolayısıyla bu akıllı sözleşme, kullanıcıların herhangi bir fotoğrafını veya videosunu NFT olarak basmasına olanak tanıyacak.
Neden Velas?
Piyasada birçok blockchain protokolü mevcut. Ancak geliştiriciler bunları kullanırken hala sorunlarla karşılaşıyor. Örneğin, Ethereum yüksek gas ücretleri ve yavaş işlem süreçleriyle boğuşuyor; diğer blockchainler ise geliştiricilerin Rust gibi alışılmadık diller kullanmasını gerektiriyor.
İle Velas, bu endişelerin çoğu mevcut değil. Velas'ın çözümü, Solana teknolojisinin en iyi DNA'sını devralıyor ve bunu, uyumluluğu destekleyen ek özelliklerle tamamlıyor. EVM. Bu, kullanıcılara ve geliştiricilere daha hızlı işlem süresiyle mükemmel bir kullanıcı deneyimini garanti eden ideal bir platform sağlar. Üstelik Solidity desteğiyle geliştirme sürecini kolaylaştırıyor.
Önkoşullar
Devam etmek için paket yöneticisi Node plus Yarn'a sahip olmalısınız. Ayrıca temel Solidity bilgisine sahip olmanız gerekir. Dolayısıyla, eğer buna aşina değilseniz, lütfen kendinizi Sağlamlığın temelleri ile donatın ve Önce kask.
Kurmak
Projemizi kurmak için terminalde aşağıdaki komutu uygulayınız.
npx hardhat
Eğer Hardhat kurulu değilse aşağıdaki çıktıyı göreceksiniz.
Tip y ve tıklayın girmekve Hardhat'ı yüklemeye devam edecek. Ancak, eğer Hardhat'ınız zaten varsa, size Hardhat yükleme istemini göstermez. Bunun yerine projeyi nasıl kurmak istediğinizle ilgili bazı sorular soracaktır.
Mevcut klasörümüzde temel bir Javascript projesi istiyoruz, bu yüzden tıklamanız yeterli girmek herşey için.
Daha sonra proje için bağımlılıklarımızı kurmamız gerekiyor. Bunları kurmak için aşağıdaki komutu kullanacağız.
npm install --save-dev "^2.10.1" "@nomicfoundation/^1.0.1" "@openzeppelin/contracts" "dotenv"
Yarn kullandığımız için hardhat-toolbox'ın kullandığı kütüphaneleri kurmamız gerekiyor.
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 sürüm 7 veya sonraki sürümlerini kullanıyorsanız bu kitaplıklar doğrudan yüklenecektir.
Akıllı sözleşme yazmadan önce bir adım daha atmamız gerektiğini belirtmekte fayda var. Yani herhangi bir şeyi kaldırmak .sol Sözleşmeler klasöründe gördüğünüz dosyaları seçin ve adında yeni bir dosya oluşturun. VELASNFT.sol. Sözleşmemizi yazacağımız klasör burasıdır.
NFT akıllı sözleşmesi nasıl yazılır?
Inşaatçı
Başlangıç olarak katılık versiyonunu tanımladığımız ve boş bir akıllı sözleşme gövdesi oluşturduğumuz bir barebone akıllı sözleşme oluşturacağız.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9; contract VELASNFT { }
Bir temel akıllı sözleşme ve bir faydalı akıllı sözleşme ithal etmeliyiz. Özellikle bunlar, NFT akıllı sözleşmemizi oluşturmak için kullanılacak sözleşmelerdir. Temel sözleşme ERC721URISdepolama, depolama tabanlı belirteç URI yönetimine sahip bir ERC721 uygulaması.
Sayaçlar, basılan NFT sayısını saymak için kullanılacak bir hizmet sözleşmesidir.
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
Sözleşmemiz temel sözleşmeyi devralacaktır. Bu, kullanıcıların temel sözleşmenin ve akıllı sözleşmelerimizin tüm işlevlerine erişmesine olanak tanıyacaktır.
contract VELASNFT is ERC721URIStorage { }
Artık sözleşmemiz için yapıcı yazabiliriz. Özellikle yapıcımızın herhangi bir argümanı olmayacak, ancak adı ve sembolü ERC721 yapıcısına iletmeniz gerekiyor.
constructor() ERC721("VELASNFT", "VN") {}
Bu adımın sonunda akıllı sözleşmeniz şu şekilde görünmelidir.
//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") {} }
Nane fonksiyonunun yazılması
Mint fonksiyonu için öncelikle sayacı ayarlamamız gerekiyor. Aşağıdaki pasajı yapıcının üzerindeki sözleşmenin içine yapıştırın.
using Counters for Counters.Counter; Counters.Counter private _tokenIds;
Counters kütüphanesinin tüm fonksiyonlarını Counter yapısına atadık. Daha sonra adında özel bir değişken yaratacağız. _tokenIds.
Şimdi fonksiyonu geliştirmeye başlayalım. Bir argüman gerekecek: belirteçURI, ve tüm meta verileri saklayan json dosyasının URL'si olacaktır. Aşağıdaki bölümlerde meta verilere daha fazla değineceğiz. Mint işlevi genel görünürlüğe sahip olacak ve basılan NFT'nin uint256 tipindeki kimliğini döndürecektir.
function mint(string memory tokenURI) public returns (uint256) { }
Fonksiyonun içinde öncelikle sayacın mevcut sayısını alacağız.
Bir NFT oluşturmak için şunu kullanacağız: _nane adresi ve kimliği argüman olarak alan işlev. Adres için arayanın adresini kullanacağız ve kimlik mevcut sayım olacaktır. Bundan sonra kaydetmemiz gerekiyor tokenURI.tokenURI.
Bunu yapmak için şunları yapmalıyız _setTokenURI, bu, URI'yi karşılık gelen kimliğe sahip bir anahtar olarak kaydedecektir. Sonunda sayacı ve ardından oluşturulan NFT'nin kimliğini artıracağız.
function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(minter, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
Tebrikler! Artık akıllı sözleşmeniz NFT'leri basabilir! İşte sözleşmenin tamamına genel bakış.
//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; }
}
Sözleşme nasıl dağıtılır
NFT akıllı sözleşmemizi oluşturduk. İşte heyecan verici adım geliyor: dağıtım. Ancak sözleşmeyi dağıtmadan önce onu derlememiz ve sözleşmeyi dağıtan bir komut dosyası yazmamız gerekiyor. Sözleşmeyi derlemek için terminalde aşağıdaki komutu çalıştırın.
npx hardhat compile
Aşağıdaki çıktıyı göreceksiniz.
Şimdi bir sonraki aşamaya geçelim ve bu akıllı sözleşmeyi dağıtmak için bir komut dosyası yazalım. Bunu yapmak için scripts klasörüne gidip konuşlandırma.js dosyasını açacağız. Ardından tüm içeriği kaldırın ve aşağıdaki pasajı bu dosyaya yapıştırın.
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);
});
Sözleşmeyi dağıtmadan önce Velas testnet ile ilgili detayları hardhat.config.js dosyasına eklemeliyiz. Dosyayı açın ve Velas testnet yapılandırmasını ekleyin.
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] } }
};
Sözleşmeyi dağıtmadan önce, cüzdanınız için özel anahtarları .env dosyasına eklemeniz ve cüzdanınızda bir miktar testnet VLX tokeninin bulunması gerektiğini de belirtmekte fayda var. Testnet jetonlarını şu adresten alabilirsiniz: okuyun.
Artık her şeyi ayarladığımıza göre terminalde aşağıdaki komutu çalıştırın.
npx hardhat run scripts/deploy.js --network velastestnet
Komut başarıyla yürütülürse, terminalinizde aşağıdakine benzer bir çıktı göreceksiniz.
NFT'yi yayınlayın
Akıllı sözleşme dağıtıldığında, NFT'yi terminalden basabiliriz. Bunu yapmak için öncelikle aşağıdaki komutu kullanarak kask konsolunu başlatın.
npx hardhat console --network velastestnet
Çıktı aşağıda gösterilmiştir.
Daha sonra adı verilen sözleşme değişkenini yaratacağız. “velasnft”. getContractAt yöntem sözleşme nesnesini döndürecektir.
const velasnft = await ethers.getContractAt("VELASNFT", '0x587133187DEC8E1D5a964254B42FF3627a649313')
Lütfen aşağıda gösterilen çıktıya bakın.
NFT'yi basmak için, nane yöntemini kullanacağız. velasnft değişken. Ayrıca meta veri bağlantısını da yönteme aktarmamız gerekiyor. Meta Veri standartları hakkında daha fazla bilgi edinebilirsiniz İŞTE.
await velasnft.mint("https://metadatastorage.com/velasnft/0")
Aşağıdaki çıktıya göz atın.
Şimdi NFT'nin sahibini kontrol etme zamanı. kullanarak bastığımızdan beri sahibiOf yöntemine geçelim, şimdi bastığımız NFT’nin indeksini geçelim.
await velasnft.ownerOf(0)
NFT sahibi sonucunu bu şekilde alıyoruz.
Sonuç
Makalede, kullanıcıların NFT'leri basmasına olanak tanıyan bir NFT akıllı sözleşmesinin nasıl yazılacağını öğrendik. Ayrıca Velas test ağına yerleştirmeyi de başardık. Artık NFT destekli yeni uygulamalar geliştirebilir ve dinamik Velas ekosistemini keşfedebilirsiniz.
Ayrıca bu bağlantı üzerinden Velas'ta nasıl DAO oluşturulacağını da kontrol edebilirsiniz.
Velas, Web3'ün gelişimini hızlandırmak için çabalayanları güçlendirmek istiyor. Bu nedenle Velas, bu görevi gerçekleştirmek için 100 milyon dolarlık bir hibe programı başlattı. Bu program aynı zamanda Velas ekosisteminin genişlemesini de desteklemeyi amaçlıyor.
Velas'ın hibe programıylageliştiriciler heyecan verici fikirlerini daha verimli bir şekilde hayata geçirebilirler. Her proje 100,000 $'a kadar finansman alma fırsatına sahiptir. Ayrıca seçilen ekipler, projelerinin gelişimini desteklemek için pazarlama, teknik danışmanlar ve daha fazlasını içeren diğer kaynaklara da erişebilecek.
Hibe programı, DeFi, NFT, blockchain destekli oyunlar ve daha fazlası dahil ancak bunlarla sınırlı olmamak üzere çok çeşitli kategorileri kapsıyor.
Kripto para birimlerinin ve blockchain'in kitlesel benimsenmesini hızlandırmakla ilgileniyorsanız, Velas'ın sürekli gelişen ekosistemine katılmak için hemen başvurun.
Velas hakkında daha fazla bilgi edinin:
Feragatname - Bu sponsorlu bir makaledir. DappRadar, bu sayfadaki hiçbir içeriği veya ürünü onaylamaz. DappRadar doğru bilgi sağlamayı amaçlar, ancak okuyucular harekete geçmeden önce her zaman kendi araştırmalarını yapmalıdır. DappRadar'ın makaleleri yatırım tavsiyesi olarak kabul edilemez.
- SEO Destekli İçerik ve Halkla İlişkiler Dağıtımı. Bugün Gücünüzü Artırın.
- Plato blok zinciri. Web3 Metaverse Zekası. Bilgi Güçlendirildi. Buradan Erişin.
- Kaynak: https://dappradar.com/blog/how-to-create-nft-on-velas
- $ 100 milyon
- 000
- 1
- 10
- 7
- 9
- a
- Hakkımızda
- yukarıdaki
- hızlanan
- erişim
- Hesaplar
- doğru
- Action
- ilave
- Ek
- adres
- Benimseme
- tavsiye
- Sonra
- Amaçları
- Türkiye
- veriyor
- zaten
- her zaman
- ve
- uygulamaları
- tartışma
- argümanlar
- göre
- mal
- Varlıklar
- mevcut
- beklemek
- baz
- temel
- Temeller
- Çünkü
- önce
- olmak
- altında
- yarar
- faydaları
- İYİ
- blockchain
- blockchain enerjili
- blockchains
- vücut
- getirmek
- inşa etmek
- yapılı
- denilen
- Arayan
- Alabilirsin
- kategoriler
- Kontrol
- Toplamak
- uygunluk
- uyumlu
- Endişeler
- sonuç
- yapılandırma
- kabul
- konsolos
- danışmanlar
- içerik
- sözleşme
- sözleşmeleri
- uyan
- sayaç
- sayaçlar
- kapaklar
- yaratmak
- çevrimiçi kurslar düzenliyorlar.
- Oluşturma
- yaratıcı
- İçerik Üretici Ekonomisi
- cryptocurrencies
- akım
- DAO
- DappRadar
- veri
- Defi
- dağıtmak
- konuşlandırılmış
- dağıtma
- açılma
- dağıtır
- ayrıntılar
- geliştirmek
- geliştiriciler
- gelişme
- dijital
- Dijital Varlıklar
- direkt olarak
- bayan
- Dont
- dinamik
- her
- ekonomisini
- ekosistem
- verimli biçimde
- güçlendirmek
- güçlendirici
- etkinleştirmek
- desteklemek
- Baştan sona
- Ethereum
- hata
- Ethereum
- herkes
- her şey
- örnek
- mükemmel
- heyecan verici
- yürütmek
- genişleme
- deneyim
- keşfetmek
- ihracat
- Yüz
- tanıdık
- HIZLI
- Daha hızlı
- Özellikler
- Fiyatlandırma(Yakında)
- fileto
- dosyalar
- Ad
- takip et
- takip etme
- Beslemek
- Ücretsiz
- itibaren
- işlev
- fonksiyonlar
- finansman
- Games
- GAZ
- gaz ücretleri
- almak
- Vermek
- verir
- Go
- vermek
- yardımlar
- garantiler
- okuyun
- Yüksek
- Ne kadar
- Nasıl Yapılır
- Ancak
- HTTPS
- ideal
- fikirler
- uygulama
- ithalat
- in
- dahil
- Dahil olmak üzere
- indeks
- bilgi
- kurmak
- yerine
- ilgili
- Giriş
- yatırım
- sorunlar
- IT
- JavaScript
- kaydol
- json
- anahtar
- anahtarlar
- Bilmek
- bilgi
- Diller
- başlattı
- öncülük etmek
- öğrendim
- kaldıraç
- kütüphaneler
- Kütüphane
- hayat
- Sınırlı
- LINK
- Bakın
- gibi görünmek
- Ana
- yönetilen
- yönetim
- müdür
- çok
- Pazarlama
- Kitle
- Kitle Kabulü
- maksimum genişlik
- Bu arada
- orta
- Bellek
- Metadata
- yöntem
- milyon
- nane
- darp
- Misyonumuz
- İLE
- modül
- Daha
- çoğu
- hareket
- isim
- gerek
- ağlar
- yeni
- sonraki
- NFT
- NFT akıllı sözleşmeler
- NFT'ler
- düğüm
- özellikle
- numara
- nesne
- ONE
- açık
- OpenSea
- Fırsat
- Diğer
- genel bakış
- kendi
- sahip
- mülkiyet
- paket
- Perks
- platform
- Platon
- Plato Veri Zekası
- PlatoVeri
- Lütfen
- artı
- önkoşullar
- sunum
- özel
- Özel Anahtarlar
- süreç
- işleme
- PLATFORM
- Programı
- proje
- Projeler
- kanıt
- korumalı
- protokolleri
- sağlamak
- halka açık
- Sorular
- menzil
- Okumak
- okuyucular
- teslim almak
- Kaldır
- gerektirir
- araştırma
- Kaynaklar
- sonuç
- dönüş
- İade
- devrimci
- koşmak
- Rust
- İndirim
- scriptler
- bölümler
- seçilmiş
- set
- kurulum
- meli
- şov
- gösterilen
- benzer
- beri
- yavaş
- akıllı
- akıllı sözleşme
- Akıllı Sözleşmeler
- So
- SOL
- katılık
- çözüm
- biraz
- hız
- Sponsor
- Aşama
- standartlar
- başlama
- adım
- Basamaklar
- Yine
- mağaza
- çabalamak
- mücadeleler
- Başarılı olarak
- destek
- sembol
- Bizi daha iyi tanımak için
- alır
- alma
- konuşma
- takım
- Teknik
- Teknoloji
- terminal
- testnet
- The
- Temelleri
- ve bazı Asya
- Orada.
- bu nedenle
- işler
- İçinden
- zaman
- için
- simge
- Jeton
- işlem
- işlem hızı
- gerçek
- öğretici
- yabancı
- URL
- kullanım
- kullanıcı
- Kullanıcı Deneyimi
- kullanıcılar
- yarar
- çeşitli
- Velas
- versiyon
- üzerinden
- Videolar
- görünürlük
- W3
- Cüzdan
- yolları
- Web3
- webp
- hangi
- süre
- DSÖ
- geniş
- Geniş ürün yelpazesi
- irade
- değer
- yazmak
- yazı yazıyor
- Sen
- kendiniz
- zefirnet