Python có thể được sử dụng để phát triển Web3 không?

“DApp” là viết tắt của Ứng dụng phi tập trung. Giống như các ứng dụng truyền thống, các ứng dụng phi tập trung có giao diện người dùng (phía máy khách) và back-end (phía máy chủ). Giao diện người dùng cho DApp có thể được viết bằng bất kỳ ngôn ngữ nào (giống như các ứng dụng truyền thống) và có thể thực hiện cuộc gọi đến phần phụ trợ của nó

Vậy, Dapps khác với các ứng dụng truyền thống như thế nào? . e một chuỗi khối). Bạn có thể đã nghe nói về BitTorrent, Tor, Popcorn Time — chúng là các DApp chạy trên mạng ngang hàng chứ không phải trên chuỗi khối

Một DApp chuỗi khối có mã phụ trợ riêng được gọi là hợp đồng thông minh có thể được triển khai cho một chuỗi khối (phổ biến nhất là Ethereum). Hợp đồng thông minh xác định logic của toàn bộ DApp. Đó là huyết mạch của việc sử dụng chuỗi khối làm phụ trợ

Bạn có thể nghĩ “Đây là một trò đùa phải không? . Nhà phát triển Python có thể tận dụng nó ở đâu?” . Web3 là tập hợp các thư viện cho phép bạn tương tác với chuỗi khối Ethereum cục bộ hoặc từ xa. Đơn giản, web3 là cầu nối giao tiếp với phần phụ trợ (blockchain) của bạn. May mắn thay, các nhà phát triển Ethereum đã tạo một thư viện python web3. py để tương tác với Ethereum. API của nó bắt nguồn từ phiên bản JavaScript của web3. Vì vậy, ngoài web3. js, chúng ta có thể tương tác với blockchain thông qua web3. thư viện py cũng vậy

Kiến trúc của DAPP

Phát triển Dapps bao gồm ba bước đơn giản

  1. Triển khai hợp đồng thông minh trên mạng blockchain
  2. Đọc dữ liệu từ hợp đồng thông minh đã triển khai
  3. Gửi giao dịch đến hợp đồng thông minh đã triển khai

Chúng ta sẽ từng bước thực hiện ba thao tác này trên môi trường python với web3. thư viện py

Để tương tác với chuỗi khối, chúng tôi phải được kết nối với bất kỳ nút nào được đồng bộ hóa đầy đủ. Đối với hướng dẫn này, chúng tôi đang trỏ đến một nút Infura. Đảm bảo rằng bạn có ví Ethereum (tạo ví Ethereum với tiện ích mở rộng Metamask chrome hoặc myetherwallet và lưu trữ khóa cá nhân của bạn một cách an toàn) và thêm một số Ether thử nghiệm vào đó để thực hiện các hoạt động

điều kiện tiên quyết

  1. Trăn 2. 7 +
  2. Nút. js
  3. nấm cục
npm install -g truffle

4. Pip

npm i pip

5. web3. py

pip install web3

6. Infura Project API

Truy cập trang web Infura và đăng ký. Tạo một dự án mới và sao chép URL Ropsten Infura RPC. Chúng tôi sẽ triển khai hợp đồng thông minh của mình cho mạng thử nghiệm Ropsten

Hợp đồng thông minh

Mọi lập trình viên đều đã thực hiện chương trình “hello world” bằng ngôn ngữ lập trình yêu thích của họ để hiểu những điều cơ bản khi chạy ngôn ngữ đó. Đây là phiên bản “hello world” đơn giản của chúng tôi về hợp đồng thông minh lời chào bằng ngôn ngữ Solidity, nơi chúng tôi có thể thêm lời chào trên chuỗi khối và truy xuất nó. Solidity là ngôn ngữ phổ biến nhất để viết các hợp đồng thông minh biên dịch thành mã byte có thể được thực thi trên Máy ảo Ethereum chạy trên các nút

Bạn có thể thêm lời chào bằng phương thức

pip install web3
6 bằng cách chuyển một giá trị chuỗi và truy xuất lời chào bằng phương thức
pip install web3
7

1. Triển khai Hợp đồng thông minh trên Mạng Blockchain

a) Tạo dự án

mkdir pythonDappcd pythonDapptruffle init

Sau khi khởi tạo dự án thành công, hãy chuyển đến thư mục của bạn và tạo tệp

pip install web3
8 trong thư mục
pip install web3
9 của bạn. Trước khi triển khai một hợp đồng trên mạng, chúng ta phải biên dịch nó và xây dựng các tạo phẩm

b) Biên dịch hợp đồng thông minh

Vì vậy, để biên dịch, chúng tôi sẽ sử dụng trình biên dịch Truffle

mkdir pythonDappcd pythonDapptruffle init
0. Trong thư mục chính của bạn, hãy chạy lệnh bên dưới

truffle compile

(or)
truffle.cmd compile #(for windows only)

Lệnh trên sẽ biên dịch các hợp đồng của bạn trong thư mục

pip install web3
9 và tạo tệp tạo phẩm nhị phân
npm i pip
1 trong thư mục
npm i pip
2

c) Triển khai hợp đồng

Mở trình soạn thảo IDLE python của bạn và tạo một tệp mới trong thư mục chính

npm i pip
3 với mã bên dưới và sau đó chạy
npm i pip
4 trong thư mục của bạn

Đây là những gì tôi đã làm

  • Thư viện web3 đã nhập và tất cả các mô-đun cần thiết khác
  • Bắt đầu cung cấp web3 bằng cách trỏ đến nút Ropsten Infura
  • Đã thêm địa chỉ tài khoản và khóa riêng để ký giao dịch. Đừng quên thêm thông tin đăng nhập của bạn vào mã
  • Bắt đầu thực thể Hợp đồng bằng cách trỏ đến
    npm i pip
    5 và
    npm i pip
    6 của tệp tạo phẩm được biên dịch bởi Truffle
    npm i pip
    1
  • Đã thêm constructor_txn với các tham số như nonce, gas, gasPrice. Ở đây, gas đề cập đến lượng tài nguyên tính toán tối đa mà một giao dịch nên sử dụng và thanh toán bằng Ethereum. gasPrice đề cập đến lượng Ether nhỏ nhất để sử dụng lượng gas đó cho giao dịch. để đề cập đến địa chỉ nơi bạn đang gửi giao dịch. Tham số to chỉ bắt buộc nếu bạn đang gửi Ether đến tài khoản hoặc hợp đồng thông minh
  • Giao dịch đã ký với khóa riêng của chúng tôi và được phát trên mạng
  • Băm giao dịch được ghi lại và địa chỉ hợp đồng được triển khai trong bảng điều khiển. Theo Ethereum, thời gian xử lý giao dịch là <20 giây. Vì vậy, bạn phải đợi 20 giây để nhận địa chỉ hợp đồng đã triển khai. Chương trình phụ trợ của bạn hiện đã được triển khai thành công trên chuỗi khối Ethereum. Bây giờ bạn có thể tương tác với hợp đồng thông minh của mình với địa chỉ này. Sao chép địa chỉ hợp đồng này

2. Gửi giao dịch đến hợp đồng đã triển khai

Trong hợp đồng của chúng tôi, có một phương pháp

pip install web3
6. Chúng tôi có thể thêm lời chào vào hợp đồng của mình chỉ bằng phương pháp này. Hãy xem cách chúng ta có thể làm điều đó với web3. py

Mở trình soạn thảo IDLE python của bạn và tạo một tệp mới

npm i pip
9 với mã bên dưới. Sau đó chạy
pip install web3
0 trong thư mục của bạn

Đây là những gì tôi đã làm

  • Thư viện web3 đã nhập và tất cả các mô-đun cần thiết khác
  • Bắt đầu cung cấp web3 bằng cách trỏ đến nút Ropsten Infura
  • Đã thêm địa chỉ tài khoản và khóa riêng để ký giao dịch
  • Bắt đầu thực thể Hợp đồng bằng cách trỏ đến
    npm i pip
    5 và
    npm i pip
    6 của tệp tạo phẩm được biên dịch bởi Truffle
    npm i pip
    1
  • Đã tạo đối tượng
    pip install web3
    4 để thêm lời chào “xin chào tất cả những người tốt bụng của tôi” và tạo giao dịch
  • Giao dịch đã ký với khóa riêng của chúng tôi và được phát trên mạng
  • Ghi nhật ký băm giao dịch trong bảng điều khiển. Bạn có thể kiểm tra trạng thái giao dịch trên etherscan bằng hàm băm giao dịch của mình. Sau khi giao dịch được xác minh bởi những người khai thác, lời chào của chúng tôi sẽ được thêm vào chuỗi khối. Bạn có thể truy xuất lời chào bằng chức năng
    pip install web3
    5 như được mô tả bên dưới

3. Đọc dữ liệu từ hợp đồng thông minh đã triển khai

Trong hợp đồng của chúng tôi, có một phương thức

pip install web3
5 truy xuất lời chào đã thêm của chúng tôi trong chuỗi khối. Chúng ta sẽ gọi phương thức này với web3. py

Mở trình soạn thảo IDLE python của bạn và tạo một tệp mới

pip install web3
7 với mã bên dưới. Chạy
pip install web3
8 để đọc lời chào

Đây là những gì tôi đã làm

  • Thư viện web3 đã nhập và tất cả các mô-đun cần thiết khác
  • Bắt đầu cung cấp web3 bằng cách trỏ đến nút Ropsten Infura
  • Đã tạo phiên bản
    pip install web3
    9 bằng cách chỉ vào
    npm i pip
    5 và
    mkdir pythonDappcd pythonDapptruffle init
    1 (từ bước trước)
  • Gọi phương thức
    pip install web3
    5 và in kết quả trong bảng điều khiển

Phần kết luận

Bây giờ bạn đã hiểu về cách triển khai, tương tác và ký kết các giao dịch với web3. py. Hãy kết hợp tất cả các phần lại với nhau bằng cách xem DApp thời gian thực mà tôi đã tạo bằng web3. py và bình đã sử dụng cho máy chủ giao diện người dùng tại đây. Nó sẽ giúp bạn hiểu sâu hơn về phát triển DApp với Python

Python có hữu ích trong web3 không?

Tổng quan. Python là một trong những ngôn ngữ lập trình được thiết lập tốt nhất hiện nay và có thể được sử dụng để tạo mọi thứ, từ các ứng dụng đơn giản đến phần mềm máy học phức tạp hơn. Hơn nữa, bạn có biết rằng việc sử dụng Python trong phát triển Web3 giờ đây dễ dàng hơn bao giờ hết không?

Ngôn ngữ nào được sử dụng trong web3?

Nó được thiết kế để giúp việc quản lý tài sản trên chuỗi khối trở nên an toàn, bảo mật và có thể dự đoán được nhất có thể đồng thời trao quyền cho các nhà phát triển tạo ra làn sóng ứng dụng chuỗi khối tiếp theo. Độ bền . Đó là ngôn ngữ lập trình đầu tiên cho hợp đồng thông minh và hiện là ngôn ngữ được sử dụng nhiều nhất trên Web3.

Làm cách nào để cài đặt mô-đun web3 trong Python?

Phần phụ thuộc .
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. .
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 cài đặt web3
URL RPC Infura

Bạn có thể xây dựng dApps bằng Python không?

Trong bài viết này, tôi sẽ nói về cách bạn có thể viết một dapp Web 3 bằng Python. Đối với Python, bạn sẽ sử dụng web3. py, cho phép bạn tương tác với chuỗi khối Ethereum bằng Python . web3. py được lấy cảm hứng từ web3. js và do đó bạn có thể tìm thấy nhiều chức năng tương tự như những chức năng bạn thấy trong web3.