ฉันมีคอลเลกชันรูปภาพที่จะแปลงเป็น NFT
เพื่อจุดประสงค์นั้น ฉันเลือกที่จะทำงานกับ solana blockchain เนื่องจากรวดเร็วและราคาถูก
ฉันใช้ทรัพยากรซอฟต์แวร์ต่อไปนี้:
- Solana-cli
- node.js
- เมทาเพล็กซ์
- ขนมเครื่องสะระแหน่
ในการเผยแพร่คอลเลกชัน ฉันต้องสั่งซื้อโทเค็นจาก 0.png เป็น Nth-1.png และฉันได้ทำการทดสอบบางอย่างกับ solana devnet แล้ว
อันที่จริง ฉันทำโปรเจกต์เกือบเสร็จแล้ว ปัญหาคือฉันต้องการใช้ "คุณลักษณะ" ซึ่งยังไม่มีอยู่ (2021-11-13):
ให้ผู้ใช้เลือกรหัส (จาก 0 ถึง n-1) ของ NFT ที่เขาจะสร้าง
ที่จริงแล้ว NFT จากคอลเลกชั่นเดียวกันนั้นถูกสร้างขึ้นตามลำดับ หรือเรียงลำดับแบบสุ่มหากพวกมันถูกสับก่อนที่จะเขียนลงในเครื่องลูกอม
เป็นไปได้อย่างไรที่จะเปลี่ยนรหัส src เพื่อให้บรรลุวัตถุประสงค์ในการสร้างรายการหนึ่งรายการด้วยรหัสเฉพาะที่ผู้ใช้เลือกจากคอลเลกชันทั้งหมด
ฉันได้ดูรหัสจากตัวแทนหลัก: candy-machine-mint - https://github.com/exiled-apes/candy-machine-mint,
และการพึ่งพาบางส่วน: @solana/spl-token" - https://www.npmjs.com/package/@solana/spl-token แต่ฉันไม่เข้าใจว่าจะบรรลุเป้าหมายที่ต้องการได้อย่างไร ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม ขอบคุณ
หมายเหตุ ในรายละเอียด ขั้นตอนที่ฉันทำเพื่อสร้าง solana NFT มีดังต่อไปนี้ หลักๆ แล้ว:
https://www.youtube.com/watch?v=4LLx7SMAOag [ วิธีสร้างเว็บไซต์ minting nft ที่อัปเดตแล้ว (windows, mac, linux) ] และ
https://hackmd.io/@levicook/HJcDneEWF [ เครื่องทำขนมเมเพล็กซ์ ],
ดังนั้นวิธีการของฉันที่เป็นไปด้วยดีคือ:
1. ดาวน์โหลด node.js จาก https://nodejs.org/en/download/ จากนั้น:
>> sudo cp -r node-v16.13.0-linux-x64/{bin,include,lib,share} /usr/local/
(ในอูบุนตู v20.04)
2. ไปที่เทอร์มินัล สร้างคำสั่งสำหรับโครงการและ:
>> npm ติดตั้งคอมไพล์
3. ไปที่โฟลเดอร์ที่ต้องการ และทำดังนี้
>> git โคลน https://github.com/metaplex-foundation/metaplex
>> ซีดี ./metaplex/
>> sudo npm ติดตั้ง -g ts-node
4. ติดตั้งโซลาน่า:
>> sh -c "$(curl -sSfL https://release.solana.com/v1.8.2/install)"
# อ้างอิง: https://docs.solana.com/cli/install-solana-cli-tools
5. วิ่ง:
ส่งออก PATH="/home/<USER_NAME>/.local/share/solana/install/active_release/bin:$PATH"
(แทนที่ <USER_NAME> ด้วยชื่อผู้ใช้)
6. ตรวจสอบเวอร์ชั่นของโซลาน่า:
>> โซลาน่า --version
7. กำหนดค่า URL ของ Solana:
>> ชุดการกำหนดค่า solana --url <...>
ที่อยู่ใน <...> เราจะใส่ url สำหรับ salana dev หรือ main เช่น:
https://api.devnet.solana.com
8. สร้างคีย์:
>> solana-keygen ใหม่ --outfile <...>.json
มันถามรหัสผ่านใหม่ แล้วก็...
---> จากนั้นเราได้รับคีย์สาธารณะและเมล็ดแฟรซ
9. กำหนดค่ากระเป๋าเงิน:
>> ชุดกำหนดค่า solana --keypair <...>.json
10. ตรวจสอบเงินที่กระเป๋า:
>>โซลาน่าบาลานซ์
11. เพิ่มเงินด้วยคำสั่ง airdrop หรือด้วยส่วนขยายการเรียกดู phantom หรืออื่นๆ
12. สร้างโฟลเดอร์ใหม่ชื่อ "assets" โดยมีรูปภาพ *.pngs และไฟล์ *.jsons:
0.png
0.json
...
<n-1>.pngs
<n-1>.json
13. ดูคำแนะนำเกี่ยวกับวิธีสร้าง *.jsons ที่: https://docs.metaplex.com/nft-standard และใส่ Pubkey ในแต่ละ json:
- ชื่อ: ...
- คำอธิบาย: ...
- seller_fee_basis_points: ...
- รูปภาพ: image.png
-external_url: ...
- คุณลักษณะ: [... ]
- ผู้สร้าง: ...
- ที่อยู่: ...
14. ติดตั้งเส้นด้าย:
>> sudo npm install --global เส้นด้าย
15. สร้างคอลเลกชัน:
>> ซีดี ./metaplex/js/
>> การสร้างเส้นด้าย
>> การติดตั้งเส้นด้าย
>> เส้นด้ายบูตสแตรป
16. ใส่โฟลเดอร์ "assets" พร้อมคอลเลกชั่นในโฟลเดอร์ metaplex
17. วิ่ง:
>> ts-node js/packages/cli/src/candy-machine-cli.ts อัปโหลด ./assets --env <...> --keypair <...>.json
อันดับแรกด้วย <...> จะเป็น: devnet หรือ mainnet-beta;
---> เราได้รับคีย์เครื่องขนมสาธารณะและโฟลเดอร์ชื่อ ".cache" ซึ่งมีข้อมูลที่ส่งไปยังเซิร์ฟเวอร์ "arweave" ซึ่งเป็นเซิร์ฟเวอร์ที่เก็บ nfts *.pngs
18. สร้างเครื่องทำขนมด้วยราคา:
>> ts-node js/packages/cli/src/candy-machine-cli.ts create_candy_machine --env <...> --keypair <...>.json -- ราคา <...>
19. อัพเดทเครื่องทำขนม
>> ts-node js/packages/cli/src/candy-machine-cli.ts update_candy_machine --keypair <...>.json --date '3 ต.ค. 2564 00:00:00 GMT'
---> ใส่วันที่ จากนั้นบันทึกการประทับเวลาเอาต์พุต
20. หลังจากนั้น ให้โคลนโครงการ "candy-machine-mint":
>> cd ~/desktop/<folder_of_the_project>
>> git โคลน https://github.com/exiled-apes/candy-machine-mint.git
21. เปิดโฟลเดอร์ของโครงการ:
>> cd ./candy-machine-mint
22. จากนั้นเรียกใช้:
>> การสร้างเส้นด้าย
>> การติดตั้งเส้นด้าย
23. คัดลอก/เปลี่ยนชื่อไฟล์ ".env.example" เป็น ".env";
24.เติมตัวแปรด้วยค่าที่ได้รับก่อนหน้านี้ ตัวเลือก: แทนที่ "devnet" ด้วย "mainnet-beta";
25. เริ่มต้นระบบ:
>> เส้นด้ายเริ่มต้น
26. ไปที่เว็บไซต์ที่ localhost:3000;
27. เชื่อมต่อ phantom คลิกที่ "mint" และยอมรับ สังเกตว่า nft ปรากฏที่ "ของสะสมของคุณ" หรือไม่ - ทำซ้ำ
28. เลือกตรวจสอบธุรกรรม: คลิกที่ "กิจกรรมล่าสุด" และเลือกธุรกรรมจากรายการ คัดลอกลายเซ็นและไปที่ solscan.io และอ่านบันทึก