Điểm:0

Cho phép (những) người dùng chọn đúc một NFT cụ thể từ bộ sưu tập solana

lá cờ as

Tôi có một bộ sưu tập hình ảnh để chuyển đổi trong NFT. Vì mục đích đó, tôi đã chọn làm việc với chuỗi khối solana, vì nó nhanh và rẻ.

Tôi đã sử dụng các tài nguyên phần mềm sau:

  • solana-cli
  • nút.js
  • siêu hình
  • kẹo-máy-mint

Để xuất bản một bộ sưu tập, tôi cần đặt hàng mã thông báo từ 0.png đến Nth-1.png và tôi đã thực hiện một số thử nghiệm trên solana devnet. Trên thực tế, tôi đã hoàn thành dự án gần như hoàn thành; vấn đề là tôi muốn triển khai một "tính năng" chưa tồn tại (13-11-2021): cho phép người dùng chọn id (từ 0 đến n-1) của NFT mà anh ta sẽ đúc.

Trên thực tế, các NFT từ cùng một bộ sưu tập được đúc theo trình tự hoặc theo thứ tự ngẫu nhiên nếu chúng được xáo trộn trước khi được ghi vào máy làm kẹo.

Làm cách nào để có thể thay đổi mã src để đạt được mục tiêu đúc một mục có id cụ thể, do người dùng chọn, từ bộ sưu tập đầy đủ?

Tôi đã xem mã từ đại diện chính: candy-machine-mint - https://github.com/exiled-apes/candy-machine-mint, và một số phụ thuộc của nó: @solana/spl-token" - https://www.npmjs.com/package/@solana/spl-token , nhưng tôi không tìm ra cách để đạt được mục tiêu mong muốn. Bất kỳ trợ giúp về điều đó sẽ được đánh giá cao, cảm ơn bạn.

LƯU Ý, một cách chi tiết, quy trình tôi đã thực hiện để tạo NFT solana chủ yếu như sau: https://www.youtube.com/watch?v=4LLx7SMAOag [cách tạo một trang web khai thác nft được cập nhật (windows, mac, linux)], và https://hackmd.io/@levicook/HJcDneEWF [máy làm kẹo metaplex], như vậy, thủ tục của tôi diễn ra tốt đẹp là:

1. tải xuống node.js, từ https://nodejs.org/en/download/, sau đó:
    >> Sudo cp -r node-v16.13.0-linux-x64/{bin,include,lib,share} /usr/local/
    (trong Ubuntu v20.04)
         
2. đi đến một thiết bị đầu cuối, tạo forder cho dự án và:
>> npm cài đặt git

3. chuyển đến thư mục mong muốn và thực hiện:
>> git clone https://github.com/metaplex-foundation/metaplex
>> cd ./metaplex/
>> Sudo npm cài đặt -g ts-nút

4. cài solana:
>> sh -c "$(curl -sSfL https://release.solana.com/v1.8.2/install)"
    # giới thiệu: https://docs.solana.com/cli/install-solana-cli-tools

5. chạy:
export PATH="/home/<USER_NAME>/.local/share/solana/install/active_release/bin:$PATH"
    (thay thế <USER_NAME> bằng tên người dùng).

6. kiểm tra phiên bản solana:
>> solana --version

7. cấu hình url của solana:
>> bộ cấu hình solana --url <...>
whre trong <...> chúng ta sẽ chèn url cho salana dev hoặc main chẳng hạn:
        https://api.devnet.solana.com

8. tạo khóa:
>> solana-keygen mới --outfile <...>.json
nó yêu cầu mật khẩu mới, và sau đó ...
---> và sau đó chúng tôi nhận được một pubkey và một hạt giống frase;

9. cấu hình ví:
>> bộ cấu hình solana --keypair <...>.json

10. kiểm tra tiền tại ví:
>> cân solana

11. thêm tiền, bằng lệnh airdrop hoặc bằng tiện ích mở rộng trình duyệt ảo, v.v.;

12. tạo một thư mục mới có tên "assets" với các hình ảnh *.pngs và các tệp *.jsons:
0.png
0.json
...
<n-1>.pngs
<n-1>.json

13. xem hướng dẫn về cách tạo *.jsons tại: https://docs.metaplex.com/nft-standard và chèn pubkey vào mỗi json:
- Tên: ...
- sự miêu tả: ...
- seller_fee_basis_points: ...
- hình ảnh: image.png
- bên ngoài_url: ...
- thuộc tính: [... ]
- người sáng tạo: ...
- Địa chỉ: ...

14. cài sợi:
>> cài đặt sudo npm --global sợi

15. tạo bộ sưu tập:
>> cd ./metaplex/js/
>> xây dựng sợi
>> cài đặt sợi
>> bootstrap sợi

16. đặt thư mục "tài sản" với bộ sưu tập vào thư mục metaplex;

17. chạy:
>> ts-node js/packages/cli/src/candy-machine-cli.ts tải lên ./assets --env <...> --keypair <...>.json
    vị trí đầu tiên với <...> sẽ là: devnet hoặc mainnet-beta;
---> chúng tôi nhận được khóa máy kẹo công khai và thư mục có tên ".cache" chứa dữ liệu được gửi đến máy chủ "arweave", là máy chủ lưu trữ nfts *.pngs.

18. tạo một máy làm kẹo với giá:
>> ts-node js/packages/cli/src/candy-machine-cli.ts create_candy_machine --env <...> --keypair <...>.json --price <...>

19. cập nhật máy bán kẹo
>> ts-node js/packages/cli/src/candy-machine-cli.ts update_candy_machine --keypair <...>.json --date '3 tháng 10 năm 2021 00:00:00 GMT'
---> chèn ngày, sau đó lưu dấu thời gian đầu ra.

20. sau đó, sao chép dự án "candy-machine-mint":
>> cd ~/desktop/<folder_of_the_project>
>> git clone https://github.com/exiled-apes/candy-machine-mint.git

21. mở thư mục của dự án:
>> cd ./candy-machine-mint

22. sau đó, chạy:
>> xây dựng sợi
>> cài đặt sợi

23. sao chép/đổi tên tệp ".env.example" thành ".env";

24.điền vào các biến với các giá trị thu được trước đó; tùy chọn: thay thế "devnet" bằng "mainnet-beta";

25. khởi tạo hệ thống:
>> bắt đầu sợi

26. truy cập trang web, tại localhost:3000;

27. kết nối bóng ma, nhấp vào "mint" và chấp nhận; quan sát xem nft có xuất hiện ở "sưu tầm của bạn" không - lặp lại. 

28. tùy chọn, kiểm tra giao dịch: nhấp vào "hoạt động gần đây" và chọn giao dịch từ danh sách; sao chép chữ ký và truy cập solscan.io và đọc các bản ghi.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.