Puncte:0

Permiteți utilizatorilor să aleagă să bată un anumit NFT dintr-o colecție de solana

drapel as

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.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.