Mục lục
Tại sao phải xác minh hợp đồng của bạn?
Xác minh hợp đồng thông minh chứng minh rằng mã nguồn bạn cung cấp khớp với mã byte được biên dịch thực sự được triển khai trên chuỗi. Sau khi được xác minh, bất kỳ ai cũng có thể đọc toàn bộ logic hợp đồng trên Blockscout — mọi chức năng, mọi hạn chế, mọi khoản phí.
Tại sao điều này lại quan trọng đối với token của bạn:
- Tin cậy: Người mua có thể xác nhận token của bạn không có cơ chế honeypot ẩn, cửa hậu hoặc lỗ hổng chỉ dành cho chủ sở hữu trước khi họ mua.
- Công cụ kiểm tra lừa đảo: Các máy quét an toàn tự động gắn cờ các hợp đồng không được xác minh là đáng ngờ hoặc từ chối chấm điểm chúng. Một hợp đồng đã được xác minh vượt qua bộ lọc đầu tiên này.
- Niêm yết trên CoinGecko và CoinMarketCap: Cả hai nền tảng đều kiểm tra các hợp đồng đã được xác minh trong quá trình xem xét niêm yết. Một hợp đồng không được xác minh là một lý do từ chối phổ biến.
- Uy tín của nhà phát triển: Các hợp đồng đã được xác minh cho phép các nhà phát triển khác kiểm toán mã của bạn, xây dựng dựa trên token của bạn hoặc tích hợp nó vào các công cụ tổng hợp và ví.
"Không xác minh hợp đồng của bạn giống như điều hành một nhà hàng với cửa sổ bị đóng ván. Thức ăn có thể ngon, nhưng không ai có thể nhìn vào để kiểm tra."
Blockscout so với Etherscan trên Robinhood Chain
Etherscan không hoạt động trên Robinhood Chain. Etherscan chỉ dành cho mạng chính Ethereum. Cố gắng xác minh hợp đồng Robinhood Chain trên Etherscan sẽ thất bại — địa chỉ hợp đồng sẽ không tồn tại ở đó.
Robinhood Chain sử dụng Blockscout (robinhoodchain.blockscout.com) làm trình khám phá khối của mình. Blockscout là một giải pháp thay thế mã nguồn mở cho Etherscan và được sử dụng rộng rãi trên các chuỗi EVM. Quy trình xác minh tương tự nhưng sử dụng giao diện của Blockscout.
| Tính năng | Blockscout (Robinhood Chain) | Etherscan (chỉ Ethereum L1) |
|---|---|---|
| Được hỗ trợ trên Robinhood Chain | Có | Không |
| Xác minh hợp đồng | Có | Không áp dụng |
| Dữ liệu meta token | Có | Không áp dụng |
| Lịch sử giao dịch | Có | Không áp dụng |
| URL trình khám phá | robinhoodchain.blockscout.com | etherscan.io |
Những gì bạn cần
- Địa chỉ hợp đồng trên Robinhood Chain
- Mã nguồn Solidity — tệp .sol chính xác đã được sử dụng để biên dịch và triển khai hợp đồng
- Phiên bản trình biên dịch chính xác — cùng phiên bản được sử dụng trong quá trình triển khai (ví dụ: v0.8.20). Một phiên bản nhỏ khác sẽ thất bại.
- Cài đặt tối ưu hóa — liệu tối ưu hóa có được bật hay không và số lần chạy (thường là 200)
- Đối số constructor (nếu được sử dụng) — các giá trị được mã hóa ABI được truyền cho constructor trong quá trình triển khai
Tìm phiên bản trình biên dịch của bạn: Nếu bạn đã triển khai thông qua Hardhat, hãy kiểm tra tệp hardhat.config.js của bạn để biết phiên bản solidity. Nếu thông qua Remix, hãy xem bảng điều khiển plugin "Solidity compiler". Phiên bản chính xác (bao gồm số bản vá) phải khớp.
Hướng dẫn xác minh từng bước trên Blockscout
Bước 1 — Mở hợp đồng của bạn trên Blockscout: Truy cập robinhoodchain.blockscout.com và tìm kiếm địa chỉ hợp đồng của bạn. Nhấp vào địa chỉ hợp đồng để mở trang của nó.
Bước 2 — Truy cập tab "Contract": Trên trang hợp đồng, nhấp vào tab "Contract". Nếu hợp đồng chưa được xác minh, bạn sẽ thấy mã byte. Tìm nút hoặc liên kết "Verify & Publish".
Bước 3 — Chọn phương pháp xác minh: Blockscout cung cấp một số phương pháp:
- Solidity (mã nguồn được làm phẳng): Tốt nhất cho các hợp đồng một tệp hoặc các hợp đồng có tất cả các phụ thuộc được nội tuyến. Đây là phương pháp phổ biến nhất cho các token ERC-20 đơn giản.
- Solidity (đầu vào JSON tiêu chuẩn): Dành cho các hợp đồng nhiều tệp phức tạp. Sử dụng toàn bộ tạo phẩm biên dịch.
- Vyper: Không áp dụng cho các token ERC-20 được viết bằng Solidity.
Đối với hầu hết các token ERC-20, hãy sử dụng Solidity (mã nguồn được làm phẳng).
Bước 4 — Nhập chi tiết hợp đồng:
- Địa chỉ hợp đồng (tự động điền)
- Tên hợp đồng (tên hợp đồng Solidity, chính xác như được viết trong mã)
- Phiên bản trình biên dịch (ví dụ: v0.8.20+commit.a1b79de6)
- Tối ưu hóa: Có/Không và số lần chạy
- Mã nguồn: dán mã nguồn Solidity đã được làm phẳng
- Đối số constructor: nếu hợp đồng của bạn đã sử dụng các tham số constructor, hãy dán các đối số được mã hóa ABI
Bước 5 — Gửi và xác minh: Nhấp vào "Verify & Publish". Blockscout sẽ biên dịch nguồn của bạn với các cài đặt đã cho và so sánh mã byte với những gì trên chuỗi. Nếu chúng khớp, hợp đồng của bạn sẽ được xác minh ngay lập tức. Tab "Contract" bây giờ sẽ hiển thị dấu kiểm màu xanh lá cây và toàn bộ mã nguồn có thể đọc được.
Các lỗi xác minh phổ biến
- "Không khớp mã byte": Mã nguồn đã biên dịch không khớp với mã byte đã triển khai. Các nguyên nhân phổ biến nhất: sai phiên bản trình biên dịch, sai cài đặt tối ưu hóa hoặc mã nguồn đã được sửa đổi sau khi triển khai. Kiểm tra kỹ tất cả các cài đặt phải khớp chính xác với những gì đã được sử dụng tại thời điểm triển khai.
- "Không tìm thấy hợp đồng": Địa chỉ hợp đồng chưa được lập chỉ mục. Đợi vài phút và thử lại. Các hợp đồng rất mới có thể mất thời gian để xuất hiện trên Blockscout.
- "Đối số constructor không hợp lệ": Nếu hợp đồng của bạn có đối số constructor (ví dụ: tên token, ký hiệu, nguồn cung được truyền tại thời điểm triển khai), chúng phải được mã hóa ABI chính xác. Sử dụng công cụ như AbiCoder của Ethers.js hoặc cast của Foundry để mã hóa chúng.
- "Mã nguồn chứa câu lệnh import": Nếu hợp đồng của bạn nhập từ các tệp khác (OpenZeppelin, v.v.) và bạn đang sử dụng phương pháp làm phẳng, tất cả các import phải được nội tuyến trong một tệp duy nhất. Sử dụng solidity-flattener hoặc lệnh flatten của Hardhat.
- Sai tên hợp đồng: Tên hợp đồng trong biểu mẫu xác minh phải khớp với tên hợp đồng chính xác trong tệp Solidity (phân biệt chữ hoa/thường). Nếu tệp của bạn có
contract MyToken, hãy nhậpMyToken, không phảimytoken.
Các token được tạo bằng CreateMyCoin
Nếu bạn đã triển khai token Robinhood Chain của mình bằng CreateMyCoin, token của bạn sử dụng một hợp đồng ERC-20 tiêu chuẩn, đã được kiểm toán. Mã nguồn của hợp đồng có sẵn và có thể được sử dụng trực tiếp để xác minh Blockscout.
Vì CreateMyCoin sử dụng cùng một cơ sở hợp đồng cho tất cả các token (với các tham số như tên, ký hiệu và nguồn cung được truyền dưới dạng đối số constructor), quy trình xác minh rất đơn giản:
- Sử dụng mã nguồn ERC-20 tiêu chuẩn của CreateMyCoin
- Khớp phiên bản trình biên dịch và cài đặt tối ưu hóa được sử dụng bởi CreateMyCoin
- Cung cấp các đối số constructor từ việc triển khai cụ thể của bạn
Phiên bản trình biên dịch, cài đặt tối ưu hóa và mã hóa đối số constructor có sẵn trong giao dịch triển khai của bạn trên Blockscout — hãy xem dữ liệu đầu vào của giao dịch triển khai.
Câu hỏi thường gặp
Trình khám phá nào mà Robinhood Chain sử dụng để xác minh?
Robinhood Chain sử dụng Blockscout tại robinhoodchain.blockscout.com. Etherscan không hỗ trợ Robinhood Chain.
Tại sao tôi nên xác minh hợp đồng ERC-20 của mình trên Robinhood Chain?
Xác minh chứng minh mã nguồn của hợp đồng của bạn khớp với những gì đã được triển khai. Nó cho phép người mua xác minh rằng không có cơ chế honeypot, vượt qua các công cụ kiểm tra lừa đảo và được CoinGecko và CoinMarketCap yêu cầu để xem xét niêm yết.
Tôi cần thông tin gì để xác minh một hợp đồng trên Blockscout?
Địa chỉ hợp đồng, mã nguồn Solidity, phiên bản trình biên dịch chính xác, cài đặt tối ưu hóa (đã bật/tắt, số lần chạy) và đối số constructor nếu có được sử dụng.
Tôi có thể xác minh một hợp đồng nếu tôi không có mã nguồn không?
Không thể với xác minh nguồn tiêu chuẩn. Nếu bạn đã sử dụng CreateMyCoin, mã nguồn có sẵn và có thể được sử dụng để xác minh. Nếu bạn đã sử dụng một triển khai tùy chỉnh mà không lưu nguồn, bạn không thể xác minh nếu không có nó.
Các hợp đồng được tạo bằng CreateMyCoin có được xác minh tự động không?
Các token từ CreateMyCoin sử dụng một hợp đồng tiêu chuẩn, đã được kiểm toán với mã nguồn đã biết. Bạn có thể xác minh chúng trên Blockscout bằng cách sử dụng mã nguồn đó cùng với các cài đặt triển khai từ giao dịch của bạn.