MoonCats là nghệ thuật sinh ra sớm nhất trên Ethereum theo nghĩa kỹ thuật nghiêm ngặt là được tạo ra tại thời điểm mint bởi người dùng dưới một thuật toán có thể xác minh trên chuỗi. Thế thôi. Đây là lý do tại sao🧵
Triển khai trên chuỗi vào năm 2017. Hợp đồng MoonCatRescue đã được xác minh vào ngày 9 tháng 8 năm 2017, trước cả ERC-721 và hầu hết cơ sở hạ tầng NFT.
Ngẫu nhiên thời gian kích hoạt trên chuỗi. Khi các chủ sở hữu gọi activate(), hợp đồng cam kết tìm kiếm seed = block.blockhash(block.number - 1), điều này không thể được biết cho đến ngay trước khi kích hoạt. Điều này ngăn chặn việc tính toán trước hoặc khai thác trước các đầu ra mong muốn.
Minting theo cơ chế proof-of-work. Việc mint sử dụng rescueCat(bytes32 seed), tính toán catIdHash = keccak256(seed, searchSeed) và yêu cầu catIdHash[0] | catIdHash[1] | catIdHash[2] == 0x0. Trên thực tế, những người cứu hộ phải tìm kiếm các seed ngoài chuỗi cho đến khi tìm được một hash với ba byte đầu tiên là số không, sau đó gửi seed đó lên chuỗi. Điều này làm cho việc tạo ra không cần quyền và có thể được thợ mỏ phát hiện thay vì được tạo sẵn bởi các nhà sáng tạo.
Xác định ID một cách xác định tại mint. Đối với các hạt giống hợp lệ, hợp đồng gán catId = bytes5((catIdHash & 0xffffffff) << 216), tức là, 32 bit thấp nhất của băm được dịch chuyển vào một định danh 5 byte, với byte cao nhất được dành riêng cho cờ "genesis". Tính duy nhất được thực thi trên chuỗi với require(catOwners[catId] == 0x0).
Bộ phát sinh chuẩn được neo trên chuỗi. Hợp đồng lưu trữ imageGenerationCodeMD5 để khách hàng có thể xác minh rằng mã kết xuất mà họ sử dụng khớp với bộ phát sinh chuẩn mà hợp đồng tham chiếu. Đây là một neo mật mã trên chuỗi cho trình kết xuất.
Công thức "công thức" tổng hợp, được lưu trữ hoàn toàn trên chuỗi. Mỗi MoonCat có ID Hex 5-byte mã hóa công thức đầy đủ của nó: hướng, đảo ngược bảng màu, mẫu lông, biểu cảm khuôn mặt, tư thế và màu sắc cơ bản. Byte thứ hai ("k") đa hợp tư thế/khuôn mặt/lông/hướng, và ba byte cuối cung cấp RGB cơ bản được mở rộng thành một bảng màu.
Mở, trình tạo tham chiếu. Trình tạo chính thức mooncatparser ánh xạ một cách xác định ID 5 byte vào một mảng pixel 2D. Bất kỳ ai cũng có thể tái tạo độc lập một MoonCat chỉ từ ID trên chuỗi, đảm bảo tính xác minh lâu dài.
Phân phối do người dùng kiểm soát tại mint. "Scanner" gốc cho phép người dùng khai thác hạt giống tại chỗ và quyết định xem có nên gửi một cứu trợ hay không, điều này đã khiến các thống kê về độ hiếm và phân phối đặc điểm xuất hiện từ sự tham gia mở thay vì một đợt phát hành đã được tính toán trước.
Thị trường và đặt tên hoàn toàn trên chuỗi trước ERC-721. Hợp đồng năm 2017 bao gồm một thị trường trên chuỗi (makeAdoptionOffer, acceptAdoptionOffer, requests) và đặt tên không thể thay đổi thông qua nameCat, cho thấy một hệ thống tạo ra mint tự chứa cùng với lớp nguồn gốc và trao đổi trong một hệ thống.
Sau đó, việc cứng hóa hoàn toàn các hình ảnh trên chuỗi. Vào năm 2022, các hợp đồng bổ sung (MoonCatSVGs, MoonCatColors, MoonCatTraits) đã được triển khai để chuỗi có thể trả về SVG cho bất kỳ MoonCat nào trực tiếp từ công thức trên chuỗi của nó, loại bỏ sự phụ thuộc vào hình ảnh ngoài chuỗi trong khi vẫn bảo tồn mô hình sinh tạo gốc từ năm 2017.
Tóm lại, MoonCats đã tiên phong trong việc tạo ra minting sinh ra từ người dùng, được bảo đảm bằng proof-of-work và seed trên chuỗi vào tháng 8 năm 2017, với một quy trình rendering có thể xác minh được dựa trên một hash trong hợp đồng và một công thức ngắn gọn trên chuỗi cho mỗi token.
23,96K