Tiêu đề gốc: " Cách lưu trữ Dapp của bạn bằng IPFS+ENS và truy cập nó qua EthDNS》
Tác giả: mạnh>makoto_inoue
Người dịch: Jia Fengyuan

Giới thiệu
Một số người luôn hỏi tôi liệu ENS có thể point Địa chỉ IP kế thừa để lưu trữ xxxxx.eth , đề xuất của tôi chỉ đơn giản là nâng cấp hệ thống trang web lên IPFS Hoặc hệ thống tệp phân tán như Swarm, có thể khớp trực tiếp với ENS.
Tôi chưa bao giờ tự mình làm việc này nên tôi sẽ ENSmanage (https://manager.ens.domains/) Đã sao chép vào IPFS, thiết lập ensmanager.matoken.eth để giải quyết vấn đề này và lưu trữ nó thông qua một viên ngọc ENS ít được biết đến có tên là EthDNS http://ensmanager.matoken.eth.link dưới tên miền này.
Bước 1: Chuyển đổi ứng dụng của bạn
Ứng dụng của chúng tôi dựa trên khung React. Ngoại trừ việc sử dụng rộng rãi một số GraphOL, tôi có thể nói rằng đây là một ứng dụng React tiêu chuẩn. Chúng tôi không sử dụng bất kỳ khung dapp nào (chẳng hạn như Embark và Truffle) vì chúng tôi đã đưa ABI của hợp đồng thông minh vào giao diện người dùng của ứng dụng thông qua các gói npm.
Thay đổi lớn duy nhất bạn cần thực hiện là thay đổi tuyến đường từ BrowserRouter Thay đổi thành HashRouter, khiến URL trở thành /#/name/matoken.eth thay vì/name/matoken.eth. Thay đổi này không chỉ áp dụng cho hệ thống IPFS mà còn cho tất cả các môi trường lưu trữ, tại thời điểm này không thể thiết lập định tuyến động để chuyển hướng bất kỳ URL nào đến SPA (ứng dụng một trang) có định tuyến.

Sau khi thay đổi hoàn tất, hãy đảm bảo ứng dụng có thể chạy qua yarn start hoặc npm run start để hoạt động bình thường. Nếu ứng dụng của bạn không gặp sự cố thì bạn có thể bắt đầu chạy tập lệnh xây dựng.

Một điều tôi thường làm là cố gắng sử dụng nó bên ngoài khung Reactbuild để xây dựng tệp tài sản nhằm đảm bảo nó hoạt động bình thường. Cách dễ nhất để kiểm tra là phân phối nó thông qua máy chủ http tích hợp của Python.


Nếu Ứng dụng của bạn đã có thể chạy bình thường thì đã đến lúc đưa nó lên IPFS.
Bước 2: Đặt tệp xây dựng của bạn Tải lên IPFS
Tôi sẽ không giải thích chi tiết cách thiết lập và chạy quy trình nền IPFS.
Sau khi cấu hình hoàn tất, tệp vừa được biên dịch build thư mục được thêm vào IPFS.

Giá trị băm cuối cùngQmSGKPTuRdhsvQmz2KFMgsNfBFaoxP6QTBVzAFKNuCJKrz là hàm băm gốc của dự án, hãy đảm bảo rằng nó chứa tất cả các tệp dự án.

Không . Bước ba: Đặt contentHash trên ENS
Nếu bạn chưa có tên miền ENS tại thời điểm này, hãy đăng ký ngay. Chỉ cần truy cậpTrình quản lý ENS Đăng ký tên mới và thiết lập trình thông dịch công cộng, sau đó chọn loại "nội dung" để thêm IPFS vào bản ghi ENS của bạn .

Sau khi cấu hình hoàn tất, một kết nối sẽ xuất hiện trỏ đến địa chỉ cổng của IPFS.

Nhấp vào liên kết này và giao diện Ứng dụng quản lý ENS sẽ xuất hiện.

Bước 4: Đăng nhập qua EthNS!
Nếu bạn mở nó bằng trình duyệt hoặc ví hỗ trợ ENScontenthash (chẳng hạn như Status.im, trình duyệt Opera hoặc trình duyệt có Metamask), thì bạn nên có tạiensmanager.matoken.eth Xem nội dung tương tự bên dưới. Tuy nhiên, bạn không thể mong đợi tất cả bạn bè và gia đình của mình có thể xem nội dung của bạn thông qua trình duyệt do ENS hỗ trợ và đó là lúc EthDNS xuất hiện.
EthDNS là dự án được phát triển bởi Jim McDonald, được hưởng lợi từ giấy phép phát triển của Protocol Labs. Nó là một nhánh của máy chủ coreDNS kết nối với ENS để kiểm tra xem có bản ghi contenthash trong bản ghi cho tên ENS nhất định hay không, sau đó phân phát nội dung thông qua cổng IPFS.
ENS Nhóm đã lấy được tên miền eth.link và trỏ máy chủ tên DNS của nó đến máy chủ EthDNS. Là nhà phát triển dapp, bạn không cần thiết lập bất cứ thứ gì. Điều duy nhất bạn cần làm (với tư cách là người dùng) là thêm .link vào tên ENS trong trình duyệt của bạn (ví dụ: http://ensmanager.matoken.eth.link).
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