Tiêu đề gốc: "Builder DAO: Lấy ENS làm ví dụ để phân tích sâu thiết kế kỹ thuật của hệ thống tên miền Web3"
Tác giả gốc: @axtrur, nhà nghiên cứu của Buidler DAO
Web3 Domain Name System tóm tắt là hệ thống đặt tên phân tán, phi tập trung dựa trên blockchain, tương tự như DNS (Internet Name Service)) tương tự như phân tích địa chỉ (địa chỉ ví hoặc địa chỉ hợp đồng thông minh) thành tên có thể đọc được. Bài viết này lấy ENS làm ví dụ để phân tích sâu thiết kế hệ thống tên miền web3 từ kiến trúc tổng thể đến chi tiết hợp đồng.
Các cấp độ tên miền DNS và ENS tương tự cũng được chia thành
Tên miền gốc, tức là "tên miền"
Tên miền cấp một, tương tự như .com ,.cn, trong ens có .eth và .reverse (dùng để ghi lại độ phân giải ngược, sẽ được đề cập sau)
Tên miền cấp hai , tức là tên miền do người dùng đăng ký, chẳng hạn như axtrur.eth
Tên miền cấp 3. Sau khi người dùng đăng ký tên miền cấp 2, anh ta có thể tạo hoặc sửa đổi tên miền cấp 3. tên miền cấp dưới tên miền cấp hai, chẳng hạn như app.axtrur.eth
Vì việc hợp đồng thông minh tương tác trực tiếp với các tên miền có thể đọc được là không hiệu quả nên ENS sử dụng thuật toán hàm băm được mã hóa 256-bit có độ dài cố định làm bản ghi tên miền. namehash là thuật toán đệ quy có thể suy ra giá trị của bất kỳ tên miền phụ nào từ giá trị NameHash của bất kỳ tên miền nào mà không cần biết chuỗi văn bản thực của tên miền gốc, đồng thời phù hợp với đặc điểm đa cấp của tên miền.
Namehash("") = "0x00000000000000000000000000000000000000000000000000000000000000000000" Namehash("eth") = keccak256(Namehash(""), keccak25 6("eth " )) Namehash("axtrur.eth") = keccak256(Namehash("eth"), keccak256("axtrur")) Namehash("app.axtrur.eth") = keccak256(Namehash("axtrur.eth"), keccak256 ("ứng dụng"))
Trong ens, tên miền do người dùng đăng ký, chẳng hạn như axtrur.eth, sẽ sử dụng nút băm được tạo bởi thuật toán namehash để ghi lại dữ liệu trên chuỗi. Trong phần sau, chúng tôi sẽ hiểu nút được đề cập dưới dạng tên miền. Ví dụ: axtrur là đủ. Để biết thông tin về xử lý tên ENS, vui lòng tham khảo https://ensuser.com/docs/contract-api-reference/name-processing.html
p>

Hợp đồng đăng ký (phần màu xanh lá cây) : Hợp đồng chịu trách nhiệm gán tên, với nhà đăng ký chuyển tiếp, nhà đăng ký ngược, nhà đăng ký DNS.
Hợp đồng giải quyết (phần màu xanh): Hợp đồng chịu trách nhiệm ghi lại các mối quan hệ ánh xạ tên miền, được chia thành Trình phân tích cú pháp chuyển tiếp và đảo ngược, trong đó hợp đồng trình phân tích cú pháp chuyển tiếp cũng có thể được tùy chỉnh:
Độ phân giải chuyển tiếp ( có một hợp đồng trình phân giải công khai mặc định trên mạng chính): chịu trách nhiệm ghi lại nội dung được liên kết với tên miền, nghĩa là nameNode của tên miền (chẳng hạn như axtrur.eth, app.axtrur.eth) thành (bao gồm nhưng không giới hạn ở tên, addr, txt, contenthash và nội dung khác), bạn có thể đặt địa chỉ ví cho nhiều loại tiền tệ khác nhau, bạn cũng có thể đặt hàm băm nội dung của IPFS và thậm chí ghi lại các tài khoản của bên thứ ba như địa chỉ email dưới dạng bản ghi văn bản.
Độ phân giải ngược (có hợp đồng trình phân giải ngược mặc định trên mạng chính): chịu trách nhiệm ghi lại tên miền được liên kết với địa chỉ ví, nghĩa là nameNode của tên miền đảo ngược ( Ví dụ: {{wallet address}}.addr.reverse) đến việc phân giải tên miền
Hợp đồng gốc: Là chủ sở hữu tên miền gốc và có quyền quản lý tên miền cấp 1
Hợp đồng điều khiển: Trang web chính thức Hợp đồng đăng ký (nếu bạn cần triển khai các hợp đồng chơi trò chơi khác nhau, chúng sẽ được thống nhất thành mô-đun hợp đồng điều khiển. Bạn cần đặt địa chỉ hợp đồng đăng ký tương ứng thành địa chỉ nhà đăng ký trước khi bạn có thẩm quyền vận hành nhà đăng ký để đăng ký tên miền NFT và giải quyết ngược hồ sơ)
Giá oracle: Giá ENS sử dụng tiêu chuẩn U (usdt), do đó cần có oracle USDT để tính giá trị chuyển đổi eth của phí đăng ký tại một thời điểm nhất định. Phí đăng ký trên mạng chính ENS là :
Tên miền có độ dài từ 5 ký tự trở lên: $5 mỗi năm
tên miền 4 ký tự: $160 mỗi năm
Tên miền 3 ký tự: $640 mỗi năm
p>
DNSSEC Oracle: Hợp đồng oracle mở rộng bảo mật DNS, chịu trách nhiệm xác minh và chứng minh quyền sở hữu cũng như tính hợp lệ của tên miền web3

p>
Đăng ký là hợp đồng cốt lõi của ENS. Hình trên cho thấy cấu trúc bản ghi bên trong hợp đồng đăng ký, duy trì chủ sở hữu tương ứng với nút ở cấp tên miền. , trình phân giải, và đăng ký thông tin ttl là hợp đồng cốt lõi của ENS. Hình trên cho thấy cấu trúc bản ghi bên trong hợp đồng đăng ký, duy trì thông tin chủ sở hữu, người phân giải và thông tin ttl tương ứng với nút cấp tên miền.

Ngoài việc duy trì các bản ghi thông tin đăng ký, hợp đồng còn duy trì các nhà khai thác thông tin người quản lý được ủy quyền của chủ sở hữu. Chủ sở hữu có thể đặt địa chỉ người quản lý được ủy quyền (có thể là địa chỉ người dùng hoặc hợp đồng ) bằng cách thêm địa chỉ) để cùng quản lý các giao diện cài đặt quản lý có liên quan trong hợp đồng thông tin tên miền (chẳng hạn như cài đặt trình phân tích cú pháp, ttl, tạo và sửa đổi tên miền phụ), quyền gọi sẽ bị hạn chế thông qua trình trang trí `authorized(node) `; trình trang trí này sẽ xác định xem người yêu cầu giao dịch của giao diện là chủ sở hữu tên miền hiện tại hay địa chỉ quản trị viên được ủy thác, đảm bảo rằng chỉ chủ sở hữu hoặc người ủy thác tên miền mới có quyền tạo tên miền phụ cấp tiếp theo. Đồng thời, khi quá trình triển khai được khởi tạo ở đây, chủ sở hữu nút của tên miền gốc được đặt thành người triển khai, chỉ bằng cách này, người triển khai mới có thể đặt chủ sở hữu của tên miền gốc thành hợp đồng Root.

( Root.sol) Hợp đồng gốc là chủ sở hữu của tên miền gốc, đồng thời, hợp đồng gốc với tư cách là chủ sở hữu tên miền gốc có quyền gọi giao diện setSubnodeOwner của hợp đồng đăng ký và chỉ định chủ sở hữu của tên miền .eth vào hợp đồng đăng ký cơ bản.
Vì hợp đồng gốc chỉ chủ sở hữu tên miền .eth vào hợp đồng đăng ký cơ bản (còn được gọi là hợp đồng đăng ký chuyển tiếp), nên hợp đồng cơ bản nhà đăng ký sở hữu Quyền đặt tên miền cấp 2 dưới .eth cho phép người dùng đăng ký tên miền thông qua hợp đồng nhà đăng ký cơ bản, đồng thời hợp đồng nhà đăng ký kế thừa chuẩn giao thức ERC721, đó là lý do tại sao tên miền ENS có thể được mua và được bán dưới dạng NFT trên các thị trường giao dịch như lý do của Opensea. Ngoài ra, hợp đồng nhà đăng ký cơ bản còn duy trì thời hạn hết hạn của từng tên miền, nhà đăng ký đặt ra thời hạn bảo vệ 90 ngày cho mỗi tên miền, khi tên miền hết hạn và đang trong thời hạn bảo vệ, chủ sở hữu tên miền có thể gọi điện Gia hạn thông qua giao diện gia hạn. Nếu vượt quá thời gian bảo vệ, bạn cần phải đăng ký lại (đăng ký lại tại đây trước tiên sẽ phá hủy NFT và sau đó đúc lại). Đồng thời, trong thiết kế ENS, hợp đồng nhà đăng ký (cho dù đó là nhà đăng ký chuyển tiếp hay nhà đăng ký ngược) về cơ bản có cấu trúc bộ điều khiển, duy trì hợp đồng nhà đăng ký kiểm soát đáng tin cậy và chỉ có thể gọi các hợp đồng đáng tin cậy.

Người dùng chuyển thông tin đăng ký như tên miền sẽ được đăng ký vào hợp đồng kiểm soát trên trang web chính thức.Hợp đồng kiểm soát tính toán giá của tên miền thông qua máy oracle, đồng thời chuyển đổi tên miền thành một nút thông qua namehash sau đó chuyển đến nhà đăng ký cơ bản cho tên miền NFT. Đăng ký và ghi các thông tin đăng ký liên quan đến tên miền vào hợp đồng đăng ký để hoàn tất việc đăng ký. Đồng thời, chủ sở hữu tên miền có thể thực hiện các thao tác quản lý thông qua hợp đồng đăng ký trên trang web chính thức. Trang đăng ký trên trang web chính thức như sau:

Quy trình đăng ký cốt lõi:

Đăng ký ENS áp dụng mô hình đăng ký hai giai đoạn "yêu cầu-gửi" Đăng ký ENS áp dụng "yêu cầu- submit" Mô hình đăng ký hai giai đoạn, tại sao chúng ta cần gửi hai giai đoạn? Chúng tôi biết rằng khi các nút Ethereum nhận được giao dịch từ nhóm giao dịch, chúng sẽ được ưu tiên theo phí gas do giao dịch đưa ra; trước khi người đăng ký gửi giao dịch được xây dựng với tên miền được đăng ký trên chuỗi, toàn bộ mạng sẽ mở , minh bạch và độc hại. Kẻ tấn công có thể giám sát và phân tích các giao dịch đó để tải lên chuỗi, xây dựng giao dịch đăng ký cho cùng một tên miền và đăng ký hợp đồng kiểm soát trên chuỗi trước bằng cách tăng phí gas.
Để ngăn chặn vấn đề chiếm đoạt tên miền này, ENS áp dụng cơ chế yêu cầu trước- gửi mẫu đăng ký Trong giai đoạn đầu tiên, tên miền không được gửi trực tiếp mà giao diện makeCommitment trước tiên được gọi để tính toán tên miền được đăng ký, chủ sở hữu của địa chỉ được đăng ký và một giá trị ngẫu nhiên. và một cam kết đặc biệt được tạo ra, nó được gửi tới chuỗi thông qua cam kết.

Cam kết trong giai đoạn gửi ghi lại dấu thời gian hiện tại và ENS đặt thời hạn hiệu lực của cam kết trong khoảng từ 60 đến 86400; trong giai đoạn đăng ký thứ hai, hợp đồng sẽ tính toán lại cam kết để xác định xem nó có phù hợp với những gì đã được gửi trong giai đoạn đầu tiên hay không. Đồng thời, kiểm tra thời hạn hiệu lực của Cam kết để đảm bảo khoảng thời gian giữa quá trình xử lý on-chain của giai đoạn đầu tiên lớn hơn 1 phút và để đảm bảo rằng khối ghi giao dịch trong giai đoạn đầu tiên đã được xác nhận bởi ít nhất 5 khối tiếp theo. (Mặc dù lúc này kẻ tấn công có thể lấy được giá trị tên miền nhưng chỉ chủ sở hữu giai đoạn một cần thống nhất với chủ sở hữu giai đoạn hai để đưa ra cam kết nhất quán, tránh nguy cơ chiếm đoạt)

p>
Giai đoạn thứ hai của quá trình đăng ký của người dùng trên trang web chính thức thực sự là nhánh logic của trình phân giải != address(0) trong mã, bởi vì ENS sẽ đặt trình phân giải đã đăng ký thành trình phân giải chuyển tiếp công khai mặc định bằng cách default ( publicResolver sẽ đề cập sau), tại sao lại phải đăng ký tên miền vào chính hợp đồng rồi mới chuyển cho người dùng? Bởi vì chúng tôi đã đề cập ở trên rằng chỉ chủ sở hữu hoặc người quản lý được ủy quyền trong hợp đồng đăng ký mới có quyền thiết lập trình phân tích cú pháp hoặc cập nhật chủ sở hữu, vì vậy để giúp người dùng thiết lập trình phân tích cú pháp, họ cần phải đăng ký nó với chính hợp đồng đó thông qua cơ bản. nhà đăng ký, sau đó thông qua Hợp đồng đăng ký đặt trình phân giải (setResolver), sau đó yêu cầu quyền sở hữu (reclaim) và cuối cùng chuyển nó cho người đăng ký (transferFrom).
Hợp đồng trình phân tích cú pháp trong ENS được chia thành phân tích cú pháp thuận và phân tích ngược. Bản ghi phân tích cú pháp là nội dung quan trọng hơn của ENS. Chỉ bằng cách xác định các thông số kỹ thuật, hệ sinh thái mới có thể dễ dàng hoàn thành ENS. Loại miền web3 này hệ thống tên.
Độ phân giải chuyển tiếp (hợp đồng trình phân giải chuyển tiếp mặc định ENS PublicResolver.sol hoặc hợp đồng máy chủ độ phân giải tùy chỉnh.)
Có trách nhiệm ánh xạ tên miền theo nội dung do người dùng tương ứng đặt ra (bao gồm địa chỉ tiền tệ, ipfs hàm băm nội dung, bản ghi văn bản chung, v.v.

p>
Đầu tiên, metamask sẽ lấy địa chỉ trình phân giải do nút tên miền đặt thông qua hợp đồng đăng ký (trình phân giải công khai mặc định hoặc người dùng Tùy chỉnh địa chỉ hợp đồng của người phân giải), sau đó tương tác với địa chỉ của người phân giải để lấy địa chỉ tiền tệ eth do người dùng đặt (đăng ký trang web chính thức sẽ được đặt cho người đăng ký theo mặc định và người đăng ký có thể tự do thay đổi sau này) để thực hiện thao tác chuyển .
Độ phân giải ngược (hợp đồng trình phân giải ngược mặc định của ENS DefaultReverseResolver.sol)
Chịu trách nhiệm ánh xạ địa chỉ ví của người dùng với tên miền tương ứng.
Độ phân giải ngược thực sự không rõ ràng đối với người dùng và người dùng không thể tùy chỉnh nó như hợp đồng trình phân giải chuyển tiếp. Người dùng cũng có thể sử dụng công ty đăng ký ngược (Phương thức setName của ReverseRegistrar. sol) đặt tên miền được liên kết với địa chỉ ví hiện tại. Bản ghi ngược cũng được duy trì trong hợp đồng đăng ký ENS. Bản ghi ngược về đăng ký người dùng nằm trong bản ghi tên miền cấp ba. Định dạng là: địa chỉ người dùng cụ thể .addr. đảo ngược

Sau khi thiết lập độ phân giải ngược, giao diện người dùng opensea sẽ hiển thị địa chỉ ví người dùng dưới dạng tên miền ENS có thể đọc được, đây là quá trình phân giải ngược, trình phân tích cú pháp cấu trúc và thông tin đăng ký nút tương ứng.

Chủ sở hữu tên miền gốc là tên miền gốc:
Chủ sở hữu tên miền cấp 1 .eth là người chuyển tiếp nhà đăng ký, đó là (BaseRegistrarImplement.sol)
Chủ sở hữu tên miền cấp hai và cấp ba do người dùng đăng ký chính là người dùng đó và anh ta có thể tự do đặt địa chỉ hợp đồng của người phân giải
.reserve Chủ sở hữu tên miền cấp một là địa chỉ ví đa chữ ký của ENS
.addr.reserve Chủ sở hữu tên miền cấp hai là nhà đăng ký ngược.ens Khi hợp đồng bộ điều khiển phiên bản mạng chính hiện tại được đăng ký, bản ghi độ phân giải ngược được đặt theo mặc định thông qua công ty đăng ký đảo ngược (ReverseRegistrar.sol) (ví dụ: địa chỉ người dùng cụ thể.addr.reverse trỏ đến axtrur.eth). Người dùng không cần cung cấp phản hồi ngoài gas. Trả phí đăng ký.
Chủ sở hữu tên miền cấp ba đảo ngược của tên miền đã đăng ký của người dùng trỏ đến hợp đồng đăng ký đảo ngược theo mặc định và trình phân giải trỏ đến trình phân giải ngược hợp đồng theo mặc định
Chúng tôi đã sắp xếp xong thiết kế hợp đồng tên miền ENS và các mô-đun chính ở trên. Thiết kế của ENS bao gồm việc phân tách mô-đun, phân tách quyền đáng để học hỏi, nhưng cũng có một số vấn đề với ENS trên mạng chính hiện tại.
2. Ký tự đặc biệt: Hợp đồng ENS không có hạn chế. Các ký tự đặc biệt như biểu thức biểu tượng cảm xúc là Kết quả là có quá nhiều tên miền phức tạp, không chuẩn trên thị trường giao dịch hiện nay.

Hiện tại, trang web chính thức của ENS đã lọc các ký tự đặc biệt và đưa ra những cảnh báo cần thiết (nhưng bản thân hợp đồng không có hạn chế nên các nhà khoa học vẫn có thể đăng ký thông qua hợp đồng)

p>
3. Vấn đề chuyển nhượng: ENS hiện nay có một vấn đề rắc rối là khi chuyển nhượng tên miền NFT thì chủ sở hữu không được chuyển nhượng đồng thời nên khi mua tên miền ENS NFT trên thị trường giao dịch, bạn cần phải đi thông qua giao diện lấy lại cơ bản của hợp đồng đăng ký sẽ tiêu tốn một khoản phí gas nhất định để tuyên bố quyền sở hữu NFT, sau đó bạn có thể truy cập trang web chính thức của ens để xem miền bạn sở hữu.
4. Vấn đề về tokenURI: Hợp đồng đăng ký cơ bản của ENS không đáp ứng được tiêu chuẩn ERC721 tokenURI, có thể là vậy đã không được xem xét kỹ ngay từ đầu thiết kế, vì vậy hiện tại siêu dữ liệu của NFT của ENS trên thị trường giao dịch như opensea là API đặc biệt của thị trường giao dịch dành cho ENS, là siêu dịch vụ tập trung ENS (ví dụ: https://metadata . ens.domains/mainnet/0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85/9216521802360360681551574096169934440338910298052942854804519799453331933 9 809).

5. Từ dành riêng: Đây là điều tôi nghĩ .bit làm tốt hơn về mặt này. Các quan chức .bit sẽ bảo lưu tên của các tổ chức hoặc công ty trong thế giới web2 để thuận tiện cho việc tiếp theo kết nối giữa web2 và web3 (https://github.com/dotbitHQ/Documents/blob/main/Reserved_DAS/Reserved_DAS_List.md) có ý nghĩa cho sự phát triển sinh thái của tên miền web3.
6. Hợp đồng cơ bản có thể nâng cấp. ENS hiện không sử dụng chế độ đại lý để hỗ trợ hợp đồng cho mô-đun cơ bản. Nó có thể nâng cấp nên sẽ rắc rối hơn khi bạn cần nâng cấp các mô-đun cơ bản trong tương lai. Một là dự phòng và một là di chuyển dữ liệu, nhưng những điều này chỉ có thể giải quyết được một phần vấn đề. khía cạnh này, ENS có chỗ để cải thiện.
Chúng ta có thể giải quyết những vấn đề trên bằng cách nào?
1. Đối với các vấn đề về ký tự, chúng ta có thể sửa đổi logic trong chức năng hợp lệ của hợp đồng điều khiển , a Phương pháp triển khai là giới hạn các ký tự đặc biệt như độ rộng bằng 0, chẳng hạn như dấu cách (https://github.com/Space-ID/SpaceIDContract-Audit/blob/main/contracts/bnbregistrar/BNBRegistrarControllerV9.sol#L88). Cách khác là chỉ cho phép các ký tự Chuẩn.
2. Vấn đề chuyển giao: Chúng ta có thể ghi đè các hàm transferFrom và saveTransferFrom trong thanh ghi cơ bản. chuyển nft, gọi setSubnodeOwner để chuyển chủ sở hữu.

3. Câu hỏi về tokenURI: Cái này tương đối đơn giản, chúng ta chỉ cần kế thừa chuẩn tokenURI của ECR721. Vậy làm thế nào để hiển thị tên miền động trong ảnh? Chúng ta có thể sử dụng svg để tải lên chuỗi (xem TokenURIBuilder.sol của mã hợp đồng đã sửa đổi ở phần sau của bài viết).
4. Vấn đề từ dành riêng: Bạn có thể đặt các từ dành riêng và địa chỉ ví tương ứng cần được bảo lưu trên chuỗi. , đầu tiên được dành riêng cho chính hợp đồng và sau đó được áp dụng cho một địa chỉ cụ thể thông qua giao diện áp dụng.

5. Hợp đồng cơ bản có thể được nâng cấp: Chúng tôi có thể sử dụng chế độ proxy (eip-1967) để chuyển đổi hợp đồng mô-đun cơ bản. Nếu quan tâm, bạn có thể tham khảo thiết kế hợp đồng của giao thức ống kính (https: //github.com/lens-protocol/core/tree/main/contracts).
Khả năng DNS của ENS không phải là thứ mà chúng tôi gọi là hệ thống tên miền web2 như .com. Bạn có thể truy cập tên miền trong trình duyệt để truy cập tên miền ens của mình. Đăng ký dns của ENS thực tế là Nó chỉ dựa trên phần mở rộng bảo mật DNS. Thông qua các bằng chứng và thuật toán xác minh có liên quan, bạn có thể chứng minh quyền sở hữu tên miền web2 của mình và sau đó tạo một bản ghi trên chuỗi (tên miền web2 đến địa chỉ ví), để chúng ta có thể sử dụng tên miền web2 để chuyển trên chuỗi. . Để biết chi tiết, hãy xem (https://ensuser.com/docs/dns-registrar-guide.html)
Nhưng tại sao chúng ta không nói chi tiết về mô-đun DNS của ENS trong bài viết này? Điều này là do mặc dù ENS dành phần lớn năng lượng cho việc triển khai DNS nhưng chức năng này tương đối vô dụng trong ENS và rất ít người sử dụng nó. Trên thực tế, đây thực sự là một danh mục của sự tổng hợp. Cá nhân tôi nghĩ rằng các khả năng tương tự sẽ phù hợp hơn để triển khai trong các DID tổng hợp, chẳng hạn như nextid của mạng mặt nạ và zkid của mạng áo choàng. Bạn có thể đưa ra bằng chứng xác thực và tích hợp tên miền web2 giống như các trình xử lý của web2 chẳng hạn như Twitter.
Cuối cùng, bài viết này cung cấp cho bạn phiên bản sửa đổi của hợp đồng tên miền ENS (https://github.com/axtrur/xens-contracts The nội dung đã sửa đổi và phương pháp triển khai Xem readme để biết chi tiết), tạo điều kiện cho mọi người triển khai tên miền web3 của riêng mình, hiểu sâu sắc các nguyên tắc thiết kế của hệ thống tên miền web3 và triển khai các lệnh mạng thử nghiệm goerli
OWNER_KEY={{khóa riêng của tài khoản}} INFURA_ID=c03713652e3c4ef6a3c09ea7dbf58711 npx hardhat triển khai --network goerli (INFURA_ID có thể được thay thế bằng infuraid của riêng bạn, xóa thư mục triển khai/goerli và triển khai/goerli_result.json trước khi thực thi)
Sau khi triển khai thử nghiệm network goerli, thực thi tập lệnh đăng ký ens.js để đăng ký tên miền
OWNKEY={{ khóa riêng của tài khoản}} INFURA=https://goerli.infura.io/v3/ c03713652e3c4ef6a3c09ea7dbf58711 nút ens.js
Bạn có thể truy cập mạng thử nghiệm opensea để xem nft đã triển khai. Ví dụ: tên miền có hậu tố .buidlerdao tôi đã triển khai có thể Truy cập mạng thử nghiệm opensea để kiểm tra nft đã triển khai, chẳng hạn như tên miền có hậu tố .buidlerdao tôi đã triển khai p>
https://testnets.opensea.io/collection/buildlerdao-name-service

Tên miền ENS, tiền thân của tên miền web3, có rất nhiều điều cần học hỏi về mặt thiết kế . Những gì chúng ta đã thấy .bnb và .nft cũng được xây dựng dựa trên hợp đồng ens. Tôi hy vọng qua bài viết này mọi người sẽ hiểu sâu hơn về thiết kế của ENS từ tổng thể đến chi tiết, tên miền web3 không chỉ là NFT mà nó còn có ý nghĩa sâu rộng. Đồng thời, tên miền web chỉ là một khởi đầu nhỏ, tôi tin rằng với sự phổ biến, hội nhập sinh thái và sự khám phá của mọi người, các tên miền web3 có thể đọc được trên chuỗi gốc sẽ được tổng hợp lại để mỗi người dùng có một danh tính duy nhất trong thế giới mã hóa. Mô tả danh thiếp thống nhất có thể kết nối tốt hơn hệ sinh thái đa chuỗi và kết nối người dùng.
Các tiêu chuẩn EIP liên quan đến hệ thống tên miền ENS
p>
EIP 137 - Cơ quan đăng ký https:/ /eips.ethereum.org/EIPS/eip-137
EIP 181 - Nhà đăng ký đảo ngược https://eips.ethereum.org/ EIPS/ eip-181
EIP 205 - Phân tích cú pháp ABI (ABI()).
EIP 619 - Phân tích khóa công khai SECP256k1 (pubkey()).
EIP 634 - Phân tích bản ghi văn bản (văn bản () ).
EIP 1577 - Phân tích hàm băm nội dung (contenthash()).
EIP 2304 - Độ phân giải địa chỉ nhiều mã thông báo (addr()). Các loại bản ghi mới có thể được xác định bất kỳ lúc nào thông qua quy trình tiêu chuẩn hóa EIP
Đã triển khai trên mạng chính Hợp đồng ENS
Hợp đồng đăng ký: 0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e
Hợp đồng gốc: 0xab528d626ec275e3fad363ff1393a41f581c5897
Hợp đồng đăng ký chuyển tiếp cơ bản: 0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85
Hợp đồng đăng ký đảo ngược: 0x084b1c3c81545d370f3634392de611caabff 8148
Hợp đồng trình phân tích cú pháp chuyển tiếp mặc định: 0x4976fb03c32e5b8cfe2b6ccb31c09ba78ebaba41
Hợp đồng trình phân tích cú pháp ngược mặc định: 0xa2c122be93b0074270ebee7f6b7292c7deb45047
Hợp đồng bộ điều khiển: 0x283Af0B28c62C092C9727F1Ee09c02CA627EB7F5
Thông tin tên miền ENS
Trang web chính thức: https://app. ens .domains/
github: https://github.com/ensdomains
Mã hợp đồng: https://github.com/ensdomains/ens-contracts/tree/master/contracts
Phiên bản triển khai Line Network: https://etherscan.io/accounts/label/ens
Tài liệu: https://ensuser.com/docs / Contract-api-reference/ens-contracts-overview.html
Thị trường giao dịch: https://opensea.io/collection/ens p>
Thông tin hệ thống tên miền web3 khác
.bnb
Trang web chính thức: https://space.id / p>
github: https://github.com/Space-ID
Thị trường giao dịch: https://www.element.market/collections/space-id-bnb
.bit
Trang web chính thức: https://www.did.id/
github: https://github.com/dotbitHQ
Thị trường giao dịch: https://opensea.io/collection/dotbit
.nft
Trang web chính thức: https://nft.space/
Thị trường giao dịch: https://www.element.market/collections/nft-name-service
p>
Liên kết gốc
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia