Am o colecție de imagini de transformat în NFT.
În acest scop, am ales să lucrez cu solana blockchain, deoarece este rapid și ieftin.
Am folosit următoarele resurse software:
- solana-cli
- node.js
- metaplex
- bomboane-mașină-mentă
Pentru a publica o colecție, a trebuit să comand token-urile de la 0.png la Nth-1.png și am făcut câteva teste pe solana devnet.
De fapt, am proiectul aproape gata; problema este că aș dori să implementez o „funcție” care nu există încă (2021-11-13):
lasă utilizatorul să aleagă id-ul (de la 0 la n-1) al NFT-ului pe care îl va bate.
De fapt, NFT-urile din aceeași colecție sunt bătute în succesiune sau într-o ordine aleatorie dacă au fost amestecate înainte de a fi scrise în mașina de bomboane.
Cum este posibil să schimbați codul src pentru a atinge obiectivul de a bate un articol cu un anumit id, selectat de utilizator, din colecția completă?
M-am uitat la codul de la reprezentantul principal: candy-machine-mint - https://github.com/exiled-apes/candy-machine-mint,
și unele dintre dependențele sale: @solana/spl-token" - https://www.npmjs.com/package/@solana/spl-token , dar nu mi-am dat seama cum să ating scopul dorit. Orice ajutor în acest sens va fi apreciat, vă mulțumesc.
NOTĂ, în detaliu, procedura pe care am făcut-o pentru a crea NFT-urile solana a fost următoarea, în principal:
https://www.youtube.com/watch?v=4LLx7SMAOag [ cum se creează un site web de montură nft actualizat (windows, mac, linux)] și
https://hackmd.io/@levicook/HJcDneEWF [ mașină de bomboane metaplex ],
astfel încât, procedura mea care a mers bine a fost:
1. descărcați node.js, de pe https://nodejs.org/en/download/, apoi:
>> sudo cp -r node-v16.13.0-linux-x64/{bin,include,lib,share} /usr/local/
(în ubuntu v20.04)
2. mergeți la un terminal, creați un forder pentru proiect și:
>> npm instalează git
3. mergeți la folderul dorit și faceți:
>> git clone https://github.com/metaplex-foundation/metaplex
>> cd ./metaplex/
>> sudo npm install -g ts-node
4. instalați solana:
>> sh -c „$(curl -sSfL https://release.solana.com/v1.8.2/install)”
# ref.: https://docs.solana.com/cli/install-solana-cli-tools
5. alerga:
export PATH="/home/<USER_NAME>/.local/share/solana/install/active_release/bin:$PATH"
(înlocuiți <USER_NAME> cu numele de utilizator).
6. verifica versiunea solana:
>> solana --versiune
7. configurați adresa URL a Solana:
>> set de configurare solana --url <...>
unde în <...> vom introduce adresa URL pentru salana dev sau main, de exemplu:
https://api.devnet.solana.com
8. creați cheile:
>> solana-keygen nou --outfile <...>.json
cere o nouă parolă, apoi...
---> și apoi obținem un pubkey și o sămânță de frase;
9. configurați portofelul:
>> set de configurare solana --keypair <...>.json
10. verifica banii la portofel:
>> solana echilibru
11. adăugați bani, cu comanda airdrop, sau cu extensia de navigare fantomă, sau etc.;
12. creați un nou folder numit „assets” cu imaginile *.pngs și fișierele *.jsons:
0.png
0.json
...
<n-1>.pngs
<n-1>.json
13. vizualizați instrucțiunile despre cum să creați *.jsons la: https://docs.metaplex.com/nft-standard și introduceți cheia pub în fiecare json:
- Nume: ...
- Descriere: ...
- seller_fee_basis_points: ...
- imagine: image.png
- external_url: ...
- atribute: [...]
- creatori:...
- abordare: ...
14. instalați fire:
>> sudo npm install --global yarn
15. creați colecția:
>> cd ./metaplex/js/
>> construirea firului
>> instalare fire
>> fire bootstrap
16. puneți folderul „bunuri” cu colecția în folderul metaplex;
17. alerga:
>> ts-node js/packages/cli/src/candy-machine-cli.ts upload ./assets --env <...> --keypair <...>.json
primul loc cu <...> va fi: devnet sau mainnet-beta;
---> obținem o cheie publică pentru mașina de bomboane și un folder numit „.cache” care are datele trimise către serverul „arweave”, care este serverul care stochează nfts *.pngs.
18. creați o mașină de bomboane cu prețul:
>> ts-node js/packages/cli/src/candy-machine-cli.ts create_candy_machine --env <...> --keypair <...>.json --price <...>
19. actualizați mașina de bomboane
>> ts-node js/packages/cli/src/candy-machine-cli.ts update_candy_machine --keypair <...>.json --date '3 oct 2021 00:00:00 GMT'
---> introduceți o dată și apoi salvați marcajul de timp de ieșire.
20. apoi, clonează proiectul „bomboane-mașină-mentă”:
>> cd ~/desktop/<folder_of_the_project>
>> git clone https://github.com/exiled-apes/candy-machine-mint.git
21. deschide folderul proiectului:
>> cd ./maşină-bomboane-mentă
22. apoi, alerga:
>> construirea firului
>> instalare fire
23. copiați/redenumiți fișierul „.env.example” în „.env”;
24.completați variabilele cu valorile obținute anterior; opțional: înlocuiți „devnet” cu „mainnet-beta”;
25. porniți sistemul:
>> începe firul
26. accesați site-ul web, la localhost:3000;
27. conectați fantoma, faceți clic pe „mint” și acceptați; observați dacă nft apare la „oferele dvs. de colecție” - repetați.
28. opțional, verificați tranzacția: faceți clic pe „activitate recentă” și selectați tranzacția din listă; copiați semnătura și accesați solscan.io și citiți înregistrările.