Bu yazımızda Avalanche ağında NFT nasıl hazırlanır anlatmaya çalışacağım
NFT oluturmak için Avalanche ağında çalışan bir node a ihtiyacınız var arkadaşlar.Node un validatör olmasına gerek yok fakat bir user ve bir X cüzdanın node da açılmış olması gerekmektedir.
Çok kısa user ve X Cüzdan oluşturma komutlarını aşağıya yazayım
User oluşturmak için:
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"keystore.createUser",
"params" :{
"username":"mahof",
"password":"pass"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/keystore
X Cüzdan oluşturmak için:
curl POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"avm.createAddress",
"params" :{
"username": "mahof",
"password": "pass"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/X
Şimdi User ve X cüzdan açtığımıza göre konumuza devam edelim
NFT olarak oluşturacağımız dosyayı internet ortamında silinmeyecek bir ortama koymamız lazım. Ben imgbb.com kullandım. Resim dosyasını png formatında bu siteye yükledim ve dosyayı işaret eden url yi aldım. https://i.ibb.co/QHJ1HQJ/avx.png
Bu linki cüzdanın anlayacağı şekilde encode edip bir payload oluşturmamız gerekiyor. Bunun için bir programlama dili olan go yu kullanacağız.
Bir go playgroundu olan şu siteye scripti koydum bunu kullanabilirsiniz. https://play.golang.org/p/ItZqPyxBETn
Url yi değiştirip kendi payload unuzu üretebilirsiniz.
Payload oluşturduktan sonra NFT yi node üzerinde oluşturuyoruz bunun için aşağıdaki komutları kullanabilirsiniz.
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"avm.createNFTAsset",
"params" :{
"name":"AVAX TOKEN 3D",
"symbol":"ANFT",
"minterSets":[
{"minters": ["X-avax1jqn0utd3z9anlejs42jypk495tzs732jqsc9h8", "X-avax1s3q7jnhthh3s5pvecx8z3m57un8wlm0mg6grtp"], "threshold": 1}, {"minters": ["X-avax1jqn0utd3z9anlejs42jypk495tzs732jqsc9h8", "X-avax1s3q7jnhthh3s5pvecx8z3m57un8wlm0mg6grtp"], "threshold": 1}, {"minters": ["X-avax1jqn0utd3z9anlejs42jypk495tzs732jqsc9h8", "X-avax1s3q7jnhthh3s5pvecx8z3m57un8wlm0mg6grtp"], "threshold": 1}, {"minters": ["X-avax1jqn0utd3z9anlejs42jypk495tzs732jqsc9h8", "X-avax1s3q7jnhthh3s5pvecx8z3m57un8wlm0mg6grtp"], "threshold": 1},{"minters": ["X-avax1jqn0utd3z9anlejs42jypk495tzs732jqsc9h8", "X-avax1s3q7jnhthh3s5pvecx8z3m57un8wlm0mg6grtp"], "threshold": 1} ],
"from": ["X-avax1jqn0utd3z9anlejs42jypk495tzs732jqsc9h8"],
"changeAddr": "X-avax1jqn0utd3z9anlejs42jypk495tzs732jqsc9h8",
"username":"mahof",
"password":"pass"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/X
Bu işlemleri yapmak için Node umuzda oluşturduğumuz X cüzdanda bakiye olması lazım eğer bu denemeleri fuji testnetinde yapıyorsanız faucet.avax.networkten testnet avax alabilirsiniz.Ancak mainnet için cüzdana bakiye eklemeniz gerekmektedir.
Bu komuttaki ilk X cüzdan benim node umdaki cüzdanım ikinciside web wallettaki cüzdanım.
Burada dikkat etmeniz gereken aynı Asset ID içerisinde kaç adet NFT oluşturacaksanız o kadar minter eklemeniz lazım mesela yukarıdaki komut ile 5 adet NFT mintleyebileceğim bir asset oluşturmuş oluyorum.
Sayıyı arttırmak için minters satırının sayısını formatını bozmadan arttırabilirsiniz.
Bu komut ile NFT leri mintleyebileceğimiz ASSET i oluşturmuş olduk.Cevap olarak bize bir Asset id verecek onu da not alalım mintlerken lazım olacak.
Şimdi mintleme kısmına gelelim 5 NFT alabilecek Asset oluşturduğumuz için, 5 adet NFT mintleyebiliriz bunun içinde aşağıdaki komutu kullanıyorum.
for n in {1..5}; do
curl -X POST --data '{
"jsonrpc":"2.0",
"id" : 1,
"method" :"avm.mintNFT",
"params" :{
"assetID":"2UL3Gnr9Cxdvyzk2ivESZYCc6HJgCJNTpDqwu3zSKHXwf4uVsM","changeAddr":"X-avax1jqn0utd3z9anlejs42jypk495tzs732jqsc9h8",
"payload":"26po4UFBGGvZxficDMDdDudMgQewsWZDDcFTgC1BEsajH9dJuRYXzdm1r722rZoGnJxdpGUVbcgiobF8a",
"from": ["X-avax1jqn0utd3z9anlejs42jypk495tzs732jqsc9h8"],
"to":"X-avax1tkhk40ltcelzhel6ewgmxmkwg8cyvgrgzp067u",
"username":"mahof",
"password":"pass"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/X ; sleep 2; done
Bu komutta
Asset ID: Oluşturduğumuz Assetin ID si
Payload: İlk başta oluşturduğumuz payload
From:Node umuzdaki X cüzdan,
changeAddr:Node umuzdaki Xcüzdan ,
to: hangi adrese mintlemek istiyorsak o adresi yazıyoruz ben web cüzdandaki X adresimi yazdım
ve herşeyi doğru yaptıysanız kısa bir süre içerisinde NFT leri cüzdanınızda göreceksiniz
Benim mekan belli, Avalanche Türkiye kanalında bana ulaşabilirsiniz…
NOT: Oluşturduğunuz NFT lerden bana göndermeyi unutmayın
X-avax1kranq78dsaldrlq5x49p09vxm2rwyqwqhwefjk