Smart Contract trong Pi SDK: Tính năng đã được team Pi phát hành nhưng chưa có trong tài liệu chính thức
Trong kênh dev-questions của Pi Network Developer Discord, một nhà phát triển đã báo cáo một vấn đề kỹ thuật cụ thể: ứng dụng của họ gọi Pi.SmartContract.submitTransaction(unsignedXdr) trong môi trường Testnet Sandbox, yêu cầu đã đến native bridge, nhưng nhận về phản hồi "App unauthorized to call this message".
Phản hồi từ kênh liên lạc chính thức là: tính năng smart contract chưa được hoàn thiện, hiện tại chỉ dành cho mục đích nội bộ, sẽ có thông báo khi có tin tức mới.
OrbitWatch đã kiểm tra tệp công khai sdk.minepi.com/pi-sdk.js mà Pi Browser tự động tải và thực thi, xác nhận trạng thái thực tế của tính năng này.
Đây không phải là tên phương thức do nhà phát triển tự tạo
Khi kiểm tra mã nguồn SDK đã phát hành, Pi.SmartContract thực sự tồn tại và có cấu trúc khá hoàn chỉnh:
- Cung cấp hai phương thức
submitTransaction()vàpollTransaction() - Loại tin nhắn nội bộ được đặt tên rõ ràng là
@pi:app:sdk:submit_smart_contract_transaction, phù hợp với quy tắc đặt tên giao tiếp nội bộ hiện có của SDK - Đã đóng gói hai submodule
SubscriptionvàNativeToken - Địa chỉ hợp đồng Testnet đã được mã hóa cứng trong mã nguồn làm giá trị mặc định (
TESTNET_SUBSCRIPTION_CONTRACT_ADDRESS,TESTNET_PI_SAC_CONTRACT_ADDRESS)
Module Subscription này tương ứng với hợp đồng đăng ký PiRC2 mà OrbitWatch đã đọc trước đây — hợp đồng đó không chỉ là một ví dụ mã nguồn trên GitHub, mà đã được triển khai lên Testnet và đóng gói vào SDK chính thức.
Tại sao nhà phát triển thông thường không thấy tính năng này khi khởi tạo theo hướng dẫn chính thức
Trong mã nguồn có một đoạn logic kiểm tra phiên bản:
Khi khởi tạo truyền vào version: "2.0" → Không kích hoạt dịch vụ SmartContract
Khi khởi tạo truyền vào version: "3.0" → Kích hoạt dịch vụ SmartContract
Hiện tại, các ví dụ hướng dẫn trong tài liệu công khai chính thức (pi-platform-docs) đều viết là Pi.init({ version: "2.0" }). Điều này có nghĩa là, ngay cả khi nhà phát triển làm theo tài liệu chính thức một cách đầy đủ, họ cũng sẽ không nhận được đối tượng SmartContract — vì tài liệu chưa bao giờ hướng dẫn truyền vào version: "3.0".
Tham số kết nối Testnet
Mã nguồn SDK cũng bao gồm cài đặt kết nối mặc định cho dịch vụ SmartContract:
RPC URL: https://rpc.testnet.minepi.com
Network passphrase: Pi Testnet
Hai tham số này trước đây không thể tìm thấy trong tài liệu chính thức, nhưng thực sự tồn tại trong tệp SDK đã phát hành.
Điều này nói lên điều gì
Khi xem xét những phát hiện lần này cùng với các quan sát trước đó:
- Tiến độ của team Pi về smart contract Soroban đã trưởng thành hơn so với những gì tài liệu công khai thể hiện — đã có triển khai trên Testnet, đã được đóng gói vào SDK chính thức, và có cơ chế kiểm soát phiên bản.
- Tuy nhiên, những tiến triển này hiện tại cố ý chưa được ghi vào tài liệu công khai, và cũng chưa mở cho các ứng dụng bên thứ ba gọi.
- Phản hồi của team Pi nhất quán với trạng thái hiển thị trong mã nguồn: tính năng tồn tại, nhưng "chưa được hoàn thiện".
Điều này không có nghĩa là nhà phát triển có thể bắt đầu tích hợp smart contract ngay bây giờ. Các ứng dụng bên thứ ba khi gọi tính năng này hiện tại chắc chắn sẽ bị chặn bởi unauthorized. Bài viết này ghi lại "team Pi đã làm được đến đâu", chứ không phải hướng dẫn thao tác.
Giải thích về phương pháp xác minh lần này
Thông tin trên đến từ việc kiểm tra sdk.minepi.com/pi-sdk.js — đây là tệp công khai mà bất kỳ trang web nào tải Pi SDK cũng sẽ tự động tải xuống và thực thi. Việc xem mã nguồn đã tải xuống bằng công cụ dành cho nhà phát triển của trình duyệt là một hành vi kỹ thuật công khai, phổ biến, không liên quan đến việc vượt qua bất kỳ cơ chế bảo vệ nào hoặc truy cập trái phép. Địa chỉ RPC và passphrase thuộc thông tin cài đặt kết nối, không phải dữ liệu mật có thể dùng để đánh cắp tài sản hoặc giả mạo giao dịch.
Đọc thêm
- Tình hình smart contract của Pi Network: Nhà phát triển thực sự có thể làm gì sau V23?
- Tình hình nhà phát triển hệ sinh thái Pi: Khoảng cách giữa sự cống hiến và phản hồi còn bao xa?
Nguồn dữ liệu: Pi Network Developer Discord (thảo luận công khai trên kênh dev-questions), sdk.minepi.com/pi-sdk.js (tệp SDK chính thức được phát hành công khai, quan sát trực tiếp vào ngày 16/8/2026). Mọi phân tích không cấu thành lời khuyên đầu tư. OrbitWatch là một trạm quan sát hệ sinh thái Pi Network độc lập, không có bất kỳ liên hệ nào với team Pi Network chính thức.
Điểm chính
- •Tính năng `Pi.SmartContract` đã tồn tại trong SDK chính thức của Pi nhưng chưa được ghi vào tài liệu công khai.
- •Để kích hoạt tính năng này, cần khởi tạo SDK với `version: "3.0"`, điều mà tài liệu chính thức hiện tại không đề cập.
- •Mặc dù đã được triển khai trên Testnet và đóng gói vào SDK, tính năng smart contract hiện chỉ dành cho mục đích nội bộ và các ứng dụng bên thứ ba chưa được phép sử dụng.