Mạo danh tài khoản bằng Hardhat | bởi Samson Adesanoye | Đồng xu | Tháng 2 năm 2023

Rate this post

Trong quá trình phát triển hoặc xem xét các hợp đồng thông minh, có thể cần phải đánh giá các hợp đồng thông minh của bạn so với các hợp đồng thông minh đã có từ trước, chẳng hạn như các sàn giao dịch phi tập trung hoặc các khoản vay nhanh mà không phải trả chi phí ether thực. Trong bài viết này, bạn sẽ tìm hiểu cách rẽ nhánh mạng chính và mạo danh tài khoản bằng Hardhat.

Hardhat là gì?
Hardhat là một môi trường phát triển Ethereum dành cho các chuyên gia, nó đi kèm với các công cụ như trình chạy Hardhat, mạng và tiện ích mở rộng VSCode giúp quá trình phát triển trở nên linh hoạt, có thể mở rộng và nhanh chóng.

Tại sao Mạo danh Tài khoản?
– Nó cho phép thao tác với người ký ngay cả khi bạn không có quyền truy cập vào khóa riêng của nó.
– Nó cho phép thử nghiệm một hợp đồng với các điều khiển truy cập, địa chỉ là tất cả những gì cần thiết để mạo danh nó.
– Nó cho phép thử nghiệm các hợp đồng thông minh trên mạng chính mà không cần sử dụng ether thực.

Điều kiện tiên quyết:

  1. Cài đặt nút và npm

Chúng tôi sẽ sử dụng một dự án hardhat, bạn có thể thoải mái bỏ qua phần này nếu bạn đã có.

  1. Tạo dự án thư mục: Mở terminal của bạn và nhập lệnh bên dưới.

2. Bắt đầu npm trong dự án: Khởi tạo npm trong dự án đã tạo.

3. Cài mũ cứng

4. Trong cùng thư mục mà bạn đã cài đặt Hardhat chạy:

Lựa chọn create a JavaScript project bằng bàn phím của bạn và nhấn enter, để tạo một dự án hardhat mới; điều này có thể mất thời gian tùy thuộc vào kết nối internet của bạn.

5. Cài đặt dotenv: chúng tôi sẽ sử dụng dotenv để lưu trữ các biến môi trường.

Chúng tôi cần một nút gọi thủ tục từ xa (RPC), Hardhat khuyên chúng tôi nên sử dụng Alchemy vì chúng cung cấp các nút lưu trữ đầy đủ; là một loại nút chứa tất cả thông tin về chuỗi khối từ nguồn gốc hoặc khối ban đầu.

  1. Tạo một tài khoản giả kim: Tạo tài khoản giả kim miễn phí của bạn tại https://auth.alchemy.com/signup và xác nhận email của bạn.

2. Tạo ứng dụng: Trong bảng điều khiển giả kim của bạn, nhấp vào + TẠO ỨNG DỤNG cái nút. Điều này mang đến một cửa sổ bật lên để tạo một ứng dụng mới. Điền tên và mô tả vào biểu mẫu và nhấp vào nút TẠO ỨNG DỤNG. Thí dụ:
Tên: ngã ba mạng chính
Sự miêu tả: Mô tả về những gì ứng dụng của bạn làm để bạn có thể theo dõi.
Xích: Ethereum (lựa chọn mặc định)
Mạng: Mainnet (lựa chọn mặc định)

3. Xem khóa: Khi ứng dụng mới của bạn được tạo, cửa sổ bật lên sẽ biến mất. Ứng dụng xuất hiện dưới bảng Ứng dụng cá nhân. Định vị ứng dụng mới tạo trong bảng và nhấp vào nút phím xem. Sao chép API KEY.

Mở cái vừa tạo mainnet-fork-hướng dẫn dự án với trình chỉnh sửa yêu thích của bạn.

  1. Tạo tệp .env: tạo một tệp .env trong thư mục gốc của mainnet-fork-hướng dẫn dự án.

2. Chỉnh sửa hardhat.config.js: Biên tập hardhat.config.js chúng tôi sẽ thêm một mạng mới gọi là mũ cứng trong đối tượng module.exports.

Bạn cũng có thể ghim số khối:

3. Chạy mạng: Trong thiết bị đầu cuối của bạn, hãy nhập lệnh bên dưới để bắt đầu nút hardhat.

Mạng Hardhat cho phép bạn giả định danh tính của bất kỳ địa chỉ nào, cho phép bạn bắt đầu giao dịch từ tài khoản đó mà không yêu cầu quyền truy cập vào khóa riêng tư của nó. Chúng tôi sẽ mạo danh địa chỉ của Vitalik và thay mặt anh ấy gửi ethers.

  1. Tạo một giao dịch.js tập tin trong thư mục gốc của dự án của bạn.
  2. trong bạn giao dịch.jsthêm mã dưới đây.

3. Chạy giao dịch.js trong nhà ga

Ghi chú: Sau khi giao dịch hoàn tất, số dư của tài khoản liên quan được đặt lại về mặc định.

Phần kết luận
Mạo danh một tài khoản có thể vượt ra ngoài việc gửi ether đến một tài khoản khác, người ta có thể tương tác với các hợp đồng thông minh, dAPP, v.v.

Tài nguyên:

Fork Ethereum Mainnet cục bộ với Hardhat | Phương thức gọi hợp đồng trên Wrapped Ether và CurveFi

Rẽ mạng khác | Môi trường phát triển Ethereum dành cho các chuyên gia của Nomic Foundation

Cách rẽ nhánh Ethereum Mainnet

w để kinh doanh? Hãy thử bot giao dịch tiền điện tử hoặc sao chép giao dịch trên các sàn giao dịch tiền điện tử tốt nhất

Thanh Thuy

Leave a Reply

Your email address will not be published. Required fields are marked *