Tài khoản web3 eth sign_transaction python

Video này là video đầu tiên trong loạt bài hướng dẫn gồm 6 phần này. Trong phần này, tôi sẽ cung cấp cho bạn một cái nhìn tổng quan về Web3. py, sau đây tôi sẽ hướng dẫn bạn cách kiểm tra số dư của tài khoản Ethereum

Có một vài khía cạnh khác nhau để phát triển các ứng dụng chuỗi khối với Ethereum

  1. Phát triển hợp đồng thông minh - viết chương trình chạy trên blockchain bằng ngôn ngữ lập trình Solidity
  2. Phát triển các khách hàng nói chuyện với chuỗi khối - tạo mã đọc và ghi dữ liệu từ chuỗi khối (điều này bao gồm tương tác hợp đồng thông minh)

Web3. py cho phép bạn hoàn thành trách nhiệm thứ hai. phát triển khách hàng tương tác với Chuỗi khối Ethereum. Và không nhất thiết phải là "máy khách" như các ứng dụng hướng tới người dùng (ví dụ: ứng dụng web), mà là "máy khách" giao dịch với chuỗi khối bằng cách đọc thông tin từ nó, ghi dữ liệu giao dịch mới vào nó hoặc thực hiện logic kinh doanh với hợp đồng thông minh. Vì bạn đang viết python nên "ứng dụng khách" này có thể là một tập lệnh quét dữ liệu chuỗi khối hoặc một quy trình máy chủ thực thi chức năng hợp đồng thông minh chẳng hạn. Web3. py là tập hợp các thư viện cho phép bạn làm những việc này. tạo giao dịch Ethereum, đọc và ghi dữ liệu từ hợp đồng thông minh, tạo hợp đồng thông minh, v.v.

Hãy xem cách bạn có thể sử dụng Web3. py để nói chuyện với Ethereum bằng sơ đồ này

Tín dụng hình ảnh. iotbl

Web3. py nói chuyện với Chuỗi khối Ethereum bằng JSON RPC, viết tắt của giao thức "Cuộc gọi thủ tục từ xa". Ethereum là một mạng ngang hàng gồm các nút phân phối tất cả dữ liệu của nó trên mỗi nút trong mạng. Nói cách khác, mỗi nút trên mạng nhận được một bản sao của tất cả mã và dữ liệu trên mạng. Web3. py cho phép chúng tôi thực hiện các yêu cầu đối với một nút Ethereum riêng lẻ thay mặt cho toàn bộ mạng bằng JSON RPC. Điều này sẽ cho phép chúng tôi đọc và ghi dữ liệu vào mạng thông qua một nút duy nhất. Nó giống như tạo các yêu cầu HTTP tới API JSON trên máy chủ web

phụ thuộc

Hãy cài đặt phát triển với Web3. py

con trăn

Trước tiên, bạn sẽ muốn đảm bảo rằng bạn đã cài đặt một số phiên bản Python. Tôi đang sử dụng phiên bản 3. 6. 7 trong loạt bài này. Tiếp theo, bạn sẽ muốn sử dụng một số loại trình quản lý môi trường như venv, đi kèm với Python hoặc pyenv, bạn có thể tải xuống tại đây

Bạn có thể xem bạn đã cài đặt Python trên máy chưa bằng cách vào terminal và gõ

$ python --version

HOẶC

$ python3 --version

Đảm bảo rằng bạn đã cài đặt một số phiên bản Python 3 trước khi tiếp tục. Nếu bạn đã cài đặt nhiều phiên bản Python và buộc phải sử dụng from web3 import Web33 để truy cập Python phiên bản 3, vui lòng sử dụng from web3 import Web33 thay vì from web3 import Web35 cho tất cả các lệnh đầu cuối cụ thể của Python trong loạt bài này

Tiếp theo, bạn sẽ muốn tạo một môi trường ảo với venv hoặc pyenv để cài đặt các phụ thuộc Python

Web3. thư viện py

Bạn có thể cài đặt Web3. thư viện py với pip trong thiết bị đầu cuối của bạn như thế này

$ pip install web3

URL RPC Infura

Để kết nối với nút Ethereum bằng JSON RPC trên Mạng chính, chúng tôi cần quyền truy cập vào nút Ethereum. Có một vài cách bạn có thể làm điều này. Thứ nhất, bạn có thể chạy nút Ethereum của riêng mình bằng Geth hoặc Parity. Nhưng điều này yêu cầu bạn phải tải xuống rất nhiều dữ liệu từ chuỗi khối và giữ cho dữ liệu được đồng bộ hóa. Đây là một vấn đề đau đầu nếu bạn đã từng cố gắng làm điều này trước đây

Hầu hết để thuận tiện, bạn có thể sử dụng Infura để truy cập nút Ethereum mà không cần phải tự chạy. Infura là dịch vụ cung cấp nút Ethereum từ xa miễn phí. Tất cả những gì bạn cần làm là đăng ký và lấy khóa API và URL RPC cho mạng mà bạn muốn kết nối

Khi bạn đã đăng ký, URL RPC Infura của bạn sẽ trông như thế này

//mainnet.infura.io/v3/YOUR_INFURA_API_KEY_GOES_HERE

Kiểm tra số dư tài khoản

Bây giờ tất cả các phụ thuộc của bạn đã được cài đặt, bạn có thể bắt đầu phát triển với Web3. py. Trước tiên, bạn nên kích hoạt trình bao Python trong thiết bị đầu cuối của mình như thế này

$ python

Bây giờ bạn đã mở trình bao Python. Bên trong vỏ Python, bạn có thể nhập Web3. py như thế này

from web3 import Web3

Bây giờ bạn có quyền truy cập vào một biến nơi bạn có thể tạo kết nối Web3 mới. Trước khi chúng tôi tạo kết nối Web3, trước tiên chúng tôi phải gán URL Infura cho một biến như thế này

infura_url = "//mainnet.infura.io/v3/YOUR_INFURA_API_KEY_GOES_HERE"

Đảm bảo rằng bạn thay thế from web3 import Web36 bằng khóa API Infura thực mà bạn đã nhận được trước đó. Bây giờ bạn có thể khởi tạo kết nối Web3 như thế này

$ python3 --version1

Bây giờ bạn có kết nối Web3 trực tiếp cho phép bạn nói chuyện với mạng chính Ethereum. Chúng tôi có thể đảm bảo rằng chúng tôi được kết nối như thế này

$ python3 --version2

Điều này sẽ trả về true nếu kết nối đang hoạt động. Tiếp theo chúng ta có thể kiểm tra số khối mới nhất như thế này

$ python3 --version3

Có số khối mới nhất. Bây giờ hãy kiểm tra số dư tài khoản cho tài khoản này. 0x90e63c3d53E0Ea496845b7a03ec7548B70014A91. Chúng ta có thể biết tài khoản này nắm giữ bao nhiêu Ether bằng cách kiểm tra số dư của nó với from web3 import Web37

Đầu tiên, hãy gán địa chỉ cho một biến

$ python3 --version0

Bây giờ, hãy kiểm tra số dư tài khoản như thế này

$ python3 --version1

Có số dư tài khoản. Tuy nhiên, tôi cần lưu ý rằng số dư tài khoản này được thể hiện bằng wei, là một phần nhỏ của Ether, giống như một đồng xu. Bạn phải chuyển đổi số này thành Ether bằng cách chia giá trị cho from web3 import Web38

Và đó là nó. Đó là kết luận cho phần đầu tiên của hướng dẫn này. Bây giờ bạn đã thấy những gì Web3. py và bạn có thể bắt đầu sử dụng nó để kiểm tra số dư tài khoản Ethereum. Đây là một bản tóm tắt mã chúng tôi đã viết trong hướng dẫn này

$ python3 --version2

Bạn cũng có thể tải xuống tất cả các ví dụ mã trong loạt bài hướng dẫn này từ github

Tôi cũng sẽ đề cập đến việc đọc qua Web3. tài liệu py sẽ cung cấp cho bạn cái nhìn tổng quan về những gì bạn có thể làm với thư viện. Tôi thực sự khuyên bạn nên duyệt qua nó, ngay cả khi bạn không hiểu mọi khía cạnh về chức năng của nó. Bạn có thể tìm tài liệu đầy đủ cho Web3. py đây

https. //web3py. đọcthedocs. io/vi/ổn định/

Ngoài ra, lưu ý rằng Web3. py đang được phát triển tích cực. Bạn có thể truy cập Web3. py github để theo dõi tiến trình của nó, đồng thời đọc qua mã để hiểu rõ hơn về chính thư viện. Bạn có thể tìm thấy kho lưu trữ github tại đây

https. //github. com/ethereum/Web3. py/

#2 · Đọc dữ liệu từ Hợp đồng thông minh với Web3. py

Đây là video thứ hai trong loạt bài hướng dẫn gồm 6 phần. Trong video này, tôi sẽ chỉ cho bạn cách đọc dữ liệu hợp đồng thông minh từ The Ethereum Blockchain

Từ thời điểm này trở đi, hãy viết tất cả mã hướng dẫn bên trong tệp script có tên là from web3 import Web39. Bạn có thể tạo một dự án với tệp này như ví dụ này trên github

Hãy tiếp tục và nhập một số thư viện ở đầu tệp from web3 import Web39. Chúng tôi sẽ tiếp tục và thiết lập kết nối web3 của chúng tôi

$ python3 --version3

Để đọc dữ liệu từ hợp đồng thông minh với Web3. py, chúng ta cần hai thứ

  1. Một đại diện Python của hợp đồng thông minh mà chúng tôi muốn tương tác
  2. Một cách để gọi các chức năng trên hợp đồng thông minh khi đọc dữ liệu

Chúng ta có thể nhận được biểu diễn Python của hợp đồng thông minh Ethereum với hàm infura_url = "//mainnet.infura.io/v3/YOUR_INFURA_API_KEY_GOES_HERE"1. Hàm này mong đợi hai đối số. một cho hợp đồng thông minh ABI và một cho địa chỉ hợp đồng thông minh

Hợp đồng thông minh ABI là viết tắt của "Giao diện nhị phân trừu tượng" và là một mảng JSON mô tả cách thức hoạt động của một hợp đồng thông minh cụ thể. Đây là một ví dụ về ABI

$ python3 --version4

Đó là một mảng thực sự dài không bị gián đoạn, tôi biết. Đừng lo lắng nếu nó trông quá sức. . ) Ví dụ này là ABI cho mã thông báo OmiseGo, mã thông báo này triển khai tiêu chuẩn mã thông báo ERC-20 (nếu chưa quen với tiêu chuẩn này, bạn có thể xem video này). Bạn có thể tìm thêm thông tin chi tiết về mã thông báo này, bao gồm abi và địa chỉ của nó trên Etherscan. Chúng tôi sẽ sử dụng hợp đồng thông minh ABI này cho phần còn lại của ví dụ

Khi chúng tôi ở đây, tôi sẽ tiếp tục và lưu trữ địa chỉ của mã thông báo OMG từ mạng chính Ethereum

$ python3 --version5

Bây giờ chúng ta đã gán cả hai giá trị này, chúng ta có thể tạo một biểu diễn Python hoàn chỉnh của hợp đồng thông minh mã thông báo OMG như thế này

$ python3 --version6

Bây giờ phần đầu tiên của bài học này đã hoàn thành, chúng ta cần hoàn thành phần thứ hai. đọc dữ liệu từ hợp đồng thông minh bằng cách gọi các chức năng của nó. Tất cả các chức năng của hợp đồng thông minh được liệt kê trong không gian tên infura_url = "//mainnet.infura.io/v3/YOUR_INFURA_API_KEY_GOES_HERE"2 trong hợp đồng Web3 được chỉ định. Ví dụ: chúng ta có thể gọi infura_url = "//mainnet.infura.io/v3/YOUR_INFURA_API_KEY_GOES_HERE"3 nếu hợp đồng thực hiện infura_url = "//mainnet.infura.io/v3/YOUR_INFURA_API_KEY_GOES_HERE"4

Tuyệt quá. Vì vậy, về mặt lý thuyết, chúng ta có thể gọi bất kỳ chức năng nào mà hợp đồng thông minh thực hiện. Nhưng làm thế nào để chúng ta biết nó thực hiện những chức năng nào? . Tuy nhiên, vì hợp đồng thông minh này thực hiện tiêu chuẩn ERC-20, chúng tôi biết rằng nó thực hiện một số chức năng như infura_url = "//mainnet.infura.io/v3/YOUR_INFURA_API_KEY_GOES_HERE"6, infura_url = "//mainnet.infura.io/v3/YOUR_INFURA_API_KEY_GOES_HERE"7, infura_url = "//mainnet.infura.io/v3/YOUR_INFURA_API_KEY_GOES_HERE"8 và infura_url = "//mainnet.infura.io/v3/YOUR_INFURA_API_KEY_GOES_HERE"9. Chúng ta có thể đọc từng giá trị riêng lẻ, như thế này

Đầu tiên, tổng nguồn cung của tất cả các mã thông báo OMG đang tồn tại

$ python3 --version7

Thứ hai, tên của mã thông báo OMG

$ python3 --version8

Thứ ba, biểu tượng của mã thông báo OMG

$ python3 --version9

Cuối cùng, chúng tôi có thể kiểm tra số dư cho một tài khoản nhất định. Tôi đã tìm kiếm một người nắm giữ OMG giàu có trên Etherscan và tìm thấy địa chỉ này $ python3 --version10. Chúng tôi có thể kiểm tra số dư cho tài khoản này như thế này

$ pip install web30

Và đó là nó. Đó là cách dễ dàng để đọc dữ liệu từ hợp đồng thông minh với Web3. py. Đây là một bản tóm tắt của tất cả các mã từ bài học này

$ pip install web31

Bạn cũng có thể tải xuống tất cả các ví dụ mã trong loạt bài hướng dẫn này từ github

#3 · Gửi giao dịch Ethereum

Đây là video thứ ba trong loạt bài hướng dẫn gồm 6 phần. Video này sẽ hướng dẫn bạn cách tạo giao dịch trên The Ethereum Blockchain với Web3. py. Bài học này sẽ đi từ cơ bản đến hơi nâng cao. Tôi sẽ chỉ cho bạn điều gì xảy ra khi một giao dịch Ethereum được tạo và tôi sẽ chỉ cho bạn cách phát một giao dịch theo cách thủ công lên mạng bằng Web3. py

Ngoài việc học Web3. py, mục đích của bài học này là giúp bạn hiểu các nguyên tắc cơ bản về cách các giao dịch hoạt động trên Chuỗi khối Ethereum. Bất cứ khi nào bạn tạo một giao dịch, bạn đang ghi dữ liệu vào chuỗi khối và cập nhật trạng thái của nó. Có một số cách để thực hiện việc này, chẳng hạn như gửi Ether từ tài khoản này sang tài khoản khác, gọi chức năng hợp đồng thông minh ghi dữ liệu và triển khai hợp đồng thông minh vào chuỗi khối. Chúng ta có thể hiểu rõ hơn về các khái niệm này bằng cách thực hiện các hành động này với Web3. thư viện py và quan sát cách hoạt động của từng bước

Để phát các giao dịch lên mạng. có nhiều hướng khác nhau để làm điều đó. Để tránh hiển thị khóa riêng (dữ liệu rất nhạy cảm), tôi sẽ sử dụng chuỗi khối cá nhân, phát triển cho phần hướng dẫn này. Tôi khuyên bạn nên sử dụng Ganache làm chuỗi khối cá nhân của mình để phát triển Ethereum. Nó có sẵn trên Windows, Mac và Linux dưới dạng ứng dụng dành cho máy tính để bàn và công cụ dòng lệnh

Bạn có thể tìm thấy bản phát hành mới nhất cho hệ điều hành của mình tại đây. Khi bạn đã tải xuống gói đã lưu trữ, hãy giải nén trình cài đặt và chạy qua các bước thiết lập. Khi bạn đã cài đặt nó, bạn sẽ thấy màn hình này bất cứ khi nào bạn mở nó

vâng. 🎉 Bây giờ bạn có một mạng blockchain cá nhân đang chạy

Bây giờ, hãy cập nhật mã from web3 import Web39 để kết nối với Ganache, thay vì nút Infura

$ pip install web32

Bây giờ, hãy sao chép hai tài khoản đầu tiên từ Ganache và gán chúng cho các biến như thế này

$ pip install web33

Tiếp theo, lấy khóa riêng cho tài khoản đầu tiên của bạn từ danh sách. Truy cập Ganache và nhấp vào biểu tượng "chìa khóa" bên cạnh tài khoản nắm tay. Điều này sẽ làm lộ khóa riêng. Bạn có thể xem tôi làm điều này trong video ở đây. Khi bạn đã sao chép khóa riêng, hãy gán nó cho một biến như thế này

$ pip install web34

Bây giờ, hãy xây dựng giao dịch Ethereum gửi Ether, tiền điện tử Ethereum, từ ________ 112 đến ________ 113. Chúng ta có thể xây dựng từ điển giao dịch sẽ được phát lên chuỗi khối như thế này

$ pip install web35

Hãy để tôi giải thích mã này

  • Đầu tiên, chúng tôi lấy tài khoản $ python3 --version14 hoặc số lượng giao dịch. Đây là trường bắt buộc của giao dịch vì nó ngăn chặn vấn đề chi tiêu gấp đôi
  • Tiếp theo, chúng tôi xây dựng đối tượng giao dịch và điền nonce trước
  • Sau đó, chúng tôi chỉ định tài khoản mà chúng tôi đang gửi Ether tới $ python3 --version13
  • Sau đó, chúng tôi chỉ định giới hạn $ python3 --version16 của $ python3 --version17
  • Cuối cùng, chúng tôi xác định giá xăng của $ python3 --version18

Bây giờ, chúng tôi sẽ ký giao dịch bằng khóa riêng của mình để thông báo cho mạng rằng $ python3 --version12 đang gửi Ether như thế này

$ pip install web36

Cuối cùng, chúng tôi sẽ gửi giao dịch đến mạng như thế này

$ pip install web37

Thao tác này sẽ gửi giao dịch thô tới mạng và trả về hàm băm giao dịch. Chúng tôi có thể chuyển đổi hàm băm giao dịch thành hex và in nó ra thiết bị đầu cuối với $ python3 --version20

Bây giờ, hãy chạy tệp from web3 import Web39 từ thiết bị đầu cuối của bạn bằng Python như thế này

$ pip install web38

vâng. Bạn đã gửi thành công Ether từ tài khoản này sang tài khoản khác bằng Python. Vui lòng tham khảo video ở trên nếu bạn gặp khó khăn. Bạn cũng có thể tải xuống tất cả các ví dụ mã trong loạt bài hướng dẫn này từ github

#4 · Gọi chức năng hợp đồng thông minh với Web3. py

Đây là video thứ tư trong loạt bài hướng dẫn gồm 6 phần. Video này sẽ hướng dẫn bạn gọi các hàm hợp đồng thông minh với Web3. py

Để làm được điều này, chúng tôi sẽ cần một hợp đồng thông minh được triển khai trên mạng. Tôi sẽ tạo một hợp đồng thông minh với Remix. Remix là một IDE dựa trên trình duyệt cho phép bạn viết, biên dịch, triển khai các hợp đồng thông minh. Tôi sẽ sử dụng Remix để chúng tôi không phải tải xuống bất kỳ công cụ dành cho nhà phát triển nào hoặc cài đặt bất kỳ thứ gì để bắt đầu. Bạn có thể xem tôi làm điều này trong video ở đây. Đảm bảo rằng bạn đã triển khai hợp đồng thông minh cho mạng trước khi tiếp tục. Ngoài ra, hãy tiếp tục và lấy hợp đồng thông minh ABI và địa chỉ. ABI sẽ như thế này (bạn có thể copy cái này cho tiện)

$ pip install web39

Bài học này sẽ sử dụng cùng một thiết lập cơ bản với tệp from web3 import Web39 trông như thế này

//mainnet.infura.io/v3/YOUR_INFURA_API_KEY_GOES_HERE0

Lưu ý rằng tôi cũng đã đặt tài khoản "mặc định" mà chúng tôi sẽ sử dụng để tương tác với chuỗi khối trong ví dụ trên

Bây giờ, chúng ta cần tạo một đại diện Python của hợp đồng thông minh. Đầu tiên chúng ta sẽ gán abi cho một biến như thế này

//mainnet.infura.io/v3/YOUR_INFURA_API_KEY_GOES_HERE1

Bây giờ hãy lưu trữ địa chỉ hợp đồng thông minh như thế này (lưu ý rằng nó phải ở định dạng tổng kiểm tra)

//mainnet.infura.io/v3/YOUR_INFURA_API_KEY_GOES_HERE2

Tiếp theo, chúng ta sẽ khởi tạo hợp đồng như thế này

$ python3 --version6

Tiếp theo, chúng ta có thể đọc lời chào mặc định như thế này

//mainnet.infura.io/v3/YOUR_INFURA_API_KEY_GOES_HERE4

Cuối cùng, chúng ta có thể đặt lời chào mới bằng cách gọi hàm $ python3 --version23 như thế này

//mainnet.infura.io/v3/YOUR_INFURA_API_KEY_GOES_HERE5

Bây giờ bạn có thể chạy tệp from web3 import Web39 từ thiết bị đầu cuối của mình bằng Python như thế này

$ pip install web38

vâng. Bạn đã gọi thành công các hàm hợp đồng thông minh Ethereum bằng Python. Vui lòng tham khảo video ở trên nếu bạn gặp khó khăn. Bạn cũng có thể tải xuống tất cả các ví dụ mã trong loạt bài hướng dẫn này từ github

#5 · Triển khai Hợp đồng Thông minh với Web3. py

Đây là video thứ năm trong loạt bài hướng dẫn gồm 6 phần. Video này sẽ chỉ cho bạn cách triển khai hợp đồng thông minh cho Chuỗi khối Ethereum với Web3. py

Có nhiều cách để bạn có thể triển khai các hợp đồng thông minh cho Chuỗi khối Ethereum. Thậm chí có nhiều cách để triển khai chúng trong Web3. chính py. Hôm nay mình sẽ chỉ cho các bạn cách đơn giản nhất

Bài học này sẽ sử dụng cùng một tệp from web3 import Web39 mà chúng ta đã sử dụng trong bài học trước. Chúng tôi sẽ thiết lập nó như thế này

//mainnet.infura.io/v3/YOUR_INFURA_API_KEY_GOES_HERE7

Trước tiên, chúng tôi cần hợp đồng thông minh ABI và mã byte, chúng tôi có thể sao chép từ Remix. Chúng tôi sẽ lưu trữ chúng dưới dạng các biến ở đây như thế này

//mainnet.infura.io/v3/YOUR_INFURA_API_KEY_GOES_HERE8

Tiếp theo, chúng ta sẽ đặt tài khoản mặc định là người gửi như thế này

//mainnet.infura.io/v3/YOUR_INFURA_API_KEY_GOES_HERE9

Để triển khai hợp đồng thông minh, chúng tôi sẽ khởi tạo nó bằng Python như thế này

$ python0

Sau đó, chúng tôi sẽ triển khai nó vào mạng như thế này và chờ nhận giao dịch như thế này

$ python1

Bây giờ chúng ta có thể lấy hợp đồng thông minh từ chuỗi khối và gọi các chức năng của nó. Đầu tiên chúng ta sẽ đọc lời chào mặc định như thế này

$ python2

Sau đó, chúng ta có thể cập nhật lời chào như thế này

$ python3

Kịch bản cuối cùng của bạn sẽ trông như thế này

$ python4

Bây giờ bạn có thể chạy tập lệnh from web3 import Web39 từ thiết bị đầu cuối của mình bằng Python như thế này

$ pip install web38

vâng. Bạn vừa triển khai hợp đồng thông minh Ethereum cho chuỗi khối bằng Python. Vui lòng tham khảo video ở trên nếu bạn gặp khó khăn. Bạn cũng có thể tải xuống tất cả các ví dụ mã trong loạt bài hướng dẫn này từ github

#6 · Kiểm tra các khối bằng Web3. py

Đây là video thứ sáu trong loạt bài hướng dẫn gồm 6 phần. Video này sẽ hướng dẫn bạn cách kiểm tra các khối Chuỗi khối Ethereum với Web3. py

Việc kiểm tra các khối thường hữu ích khi phân tích lịch sử trên Chuỗi khối Ethereum. Web3. py có rất nhiều chức năng giúp chúng tôi làm điều đó. Ví dụ: chúng ta có thể xây dựng thứ gì đó trông giống như tính năng lịch sử khối này trên Etherscan

Hãy thiết lập tệp from web3 import Web39 để bắt đầu sử dụng một số chức năng này do Web3 cung cấp. py. Phần thiết lập này sẽ đơn giản hơn nhiều so với các bài trước. Chúng tôi sẽ kết nối trở lại mạng chính để kiểm tra các khối ở đó

$ python6

Đầu tiên, chúng ta có thể lấy số khối mới nhất như thế này

$ python3 --version3

Chúng tôi cũng có thể lấy tất cả dữ liệu cho khối mới nhất như thế này

$ python8

Bạn có thể xem video ở trên khi tôi giải thích tất cả dữ liệu được ghi lại bởi chức năng này

Nếu chúng ta định xây dựng tính năng lịch sử khối giống như tính năng trên Etherscan trong hình trên, thì chúng ta sẽ cần lấy danh sách các khối gần đây nhất trong chuỗi. Chúng tôi có thể làm điều này bằng cách tìm nạp khối gần đây nhất và đếm ngược cho đến khi chúng tôi có 10 khối cuối cùng trong chuỗi. Chúng ta có thể làm điều đó với một vòng lặp $ python3 --version28 như thế này

$ python9

Web3. py có một tính năng hay khác cho phép bạn kiểm tra các giao dịch có trong một khối cụ thể. Chúng ta có thể làm điều đó như thế này

from web3 import Web30

Đó là nó. Thật dễ dàng để kiểm tra các khối bằng Web3. py. Hãy xem video ở trên để được giải thích sâu hơn về dữ liệu được trả về bởi các khối. Tại thời điểm này, tất cả mã hướng dẫn sẽ trông như thế này

from web3 import Web31

Bây giờ bạn có thể chạy tệp from web3 import Web39 từ thiết bị đầu cuối của mình bằng Python như thế này

$ pip install web38

Vui lòng tham khảo video ở trên nếu bạn gặp khó khăn. Bạn cũng có thể tải xuống tất cả các ví dụ mã trong loạt bài hướng dẫn này từ github

Hài lòng với hướng dẫn này?

Chủ đề