Lập trình blockchain phần 3: Ngôn ngữ lập trình Python
Trong hai phần trước bạn đã biết vì sao C++ và JavaScript được lựa chọn để lập trình blockchain. Ngoài 2 ngôn ngữ lập trình này, Python cũng là một sự lựa chọn được nhiều người đánh giá cao trong lập trình blockchain. Bài viết này sẽ giúp bạn hiểu được lý do đằng sau đó.
Ngôn ngữ lập trình Python
Guido van Rossum, một lập trình viên người Hà Lan, đã tạo ra Python vào năm 1991. Python dựa trên một triết lý đơn giản: Tối giản. Một trong những điều đáng chú ý ở Python là nó kết hợp tính đơn giản vào ngôn ngữ lập trình bằng cách sử dụng các khoảng trắng để biểu thị các khối code thay vì dấu ngoặc nhọn hoặc từ khóa. Hãy xem điều này có nghĩa là gì nhé.
- Cách cài đặt Python trên Windows, macOS, Linux
Hãy kiểm tra một chương trình “hello world” đơn giản.
So sánh với chương trình “hello world” của C++. Nó đơn giản hơn rất nhiều.
Vậy còn những thứ phức tạp hơn một chút thì sao? Giả sử chúng ta đang cộng hai số và có kết quả.
Kết quả sẽ là: Tổng của 1.5 và 6.3 bằng 7.8
Vậy làm thế nào để lập trình một blockchain toàn bộ bằng cách sử dụng Python? Dữ liệu và code sau được lấy từ bài viết của tác giả Gerald Nash trên Medium.
Tạo khối
Trước tiên, hãy tạo khối:
Chúng ta bắt đầu bằng cách nhập hash library để sử dụng hàm hash SHA 256 (khá giống với Javascript).
Cũng giống như JavaScript, khối có các giá trị sau:
- Index
- Timestamp
- Data
- Previous hash
- Hash.
Sau đó, gán các giá trị hash thông qua một hàm, giống như trong Javascript.
Tạo khối Genesis
Bây giờ, hãy tạo khối Genesis:
Nhập datetime là ngày tháng hiện tại.
Phân tích code
Nhập datetime để đặt dấu thời gian.
Nhiệm vụ bây giờ đơn giản là tạo ra các khối genesis và gán thủ công cho nó một số dữ liệu để hoạt động. Giá trị hash trước đó là “0” vì nó không trỏ đến khối nào khác.
Tạo phần còn lại của các khối
Bây giờ, hãy xác định cách các khối tiếp theo sẽ được tạo.
Phân tích code
Vậy, làm thế nào chúng ta xác định các giá trị của mọi phần dữ liệu bên trong mỗi khối?
- Block index đơn giản là chỉ mục của khối cuối cùng + 1.
- Timestamp là ngày giờ hiện tại.
Dữ liệu của khối là một thông điệp đơn giản: “Hey! I’m block <index number>”.
Hash đang được tính toán bằng cách sử dụng hàm đã gọi trước đó.
Và cuối cùng, tất cả các giá trị này sẽ được trả lại cho khối.
Tạo blockchain
Cuối cùng, hãy tạo blockchain.
Phân tích code
Đầu tiên, hãy tạo khối genesis và đặt giá trị cho nó là “previous_block”.
Sau đó, xác định có bao nhiêu khối được thêm vào. Trong ví dụ này, 15 khối sẽ được thêm vào.
Vì vậy, bước thêm khối sẽ được lặp lại 15 lần để thêm từng khối vào blockchain. Cuối cùng, xuất number block đã được thêm vào blockchain thông qua index number của chúng, đồng thời cũng xuất luôn ra hash.
Đây là kết quả xuất ra:

Rõ ràng trong cả Python và Javascript, bạn có thể thêm các tính năng phức tạp hơn như Proof Of Work. Nếu bạn muốn tìm hiểu cách thực hiện điều đó thì bạn nên xem qua bài viết của Gerald Nash. Nhưng bây giờ, ít nhất bạn cũng biết cách tạo một blockchain đơn giản trong Python.
Bạn muốn học lập trình hãy liên hệ ngay với Mỹ Vân để được nhận ưu đãi từ học viện nhé

Không có nhận xét nào:
Đăng nhận xét