Thanh toán ada bằng cardano-cli
#
Tổng quannote
Hướng dẫn này giả định rằng bạn có hiểu biết cơ bản về cardano-cli
, cách sử dụng nó và bạn đã cài đặt nó vào hệ thống của mình. Nếu không, chúng tôi khuyên bạn nên đọc hướng dẫn Installing cardano-node, Running cardano-node và Exploring Cardano Wallets trước tiên.
Hướng dẫn này cũng giả định rằng bạn có cardano-node
chạy trên nền tảng và nối với mạng testnet
.
#
Cách sử dụngCó nhiều lý do có thể khiến bạn muốn có chức năng lắng nghe các khoản thanh toán ada
, nhưng một trường hợp sử dụng rất rõ ràng sẽ là đối với một thứ gì đó như cửa hàng trực tuyến hoặc cổng thanh toán có thể sử dụng tokenada
như một tiền tệ.
#
Biểu đồ kỹ thuậtĐể hiểu cách một thứ như thế này có thể hoạt động theo quan điểm kỹ thuật, chúng ta hãy xem sơ đồ sau:
Vì vậy, hãy tưởng tượng một tình huống rất cơ bản khi một khách hàng đang lướt qua một cửa hàng trực tuyến. Khi khách hàng đã chọn và thêm tất cả các mặt hàng vào giỏ hàng . Bước tiếp theo sẽ là kiểm tra và thanh toán các mặt hàng, Tất nhiên chúng tôi sẽ sử dụng Cardano cho việc đó!
Ứng dụng front-end sau đó sẽ yêu cầu địa chỉ ví từ dịch vụ back end và hiển thị mã QR cho khách hàng để được quét qua ví Cardano. Sau đó, dịch vụ back end sẽ biết rằng nó phải truy vấn địa chỉ ví bằng cách dùng cardano-cli
trong một khoảng thời gian nhất định để xác nhận và thông báo cho ứng dụng front-end rằng thanh toán đã hoàn tất thành công.
Trong khi đó, giao dịch sẽ được xử lý và thanh toán trong mạng Cardano. Chúng ta có thể thấy trong sơ đồ trên rằng cuối cùng cả hai bên đều được kết nối với mạng thông qua thành phần phần mềmcardano-node
.
#
Bước codeBây giờ chúng ta có thể bắt tay vào triển khai mã thực tế.
note
Trong phần này, Chúng tôi sẽ sử dụng đường dẫn $HOME/receive-ada-sample
để lưu trữ tất cả các tập tin liên quan làm ví dụ, hãy thay thế nó bằng thư mục bạn đã chọn để lưu trữ các tập tin. Tất cả các ví dụ mã trong bài viết này giả định rằng bạn sẽ lưu tất cả các tệp mã nguồn dưới thư mục gốc với đường dẫn trên.
#
Tạo keys và yêu cầu tAdaĐầu tiên, chúng ta tạo một đường dẫn để lưu trữ dự án của chúng ta:
Tiếp theo, chúng ta tạo một cặp key thanh toán sử dụngcardano-cli
:
Khi chúng ta có cặp key thanh toán, bước tiếp theo là tạo địa chỉ ví cho mạng testnet
như sau:
Cấu trúc đường dẫn trông giống như thế này:
Bây giờ sử dụng ngôn ngữ lập trình của bạn để tạo ra các dòng code đầu tiên!
#
Các biến ban đầuTrước hết chúng ta sẽ cài đặt các biến ban đầu mà chúng ta sẽ sử dụng như mô tả dưới đây:
- JavaScript
- Typescript
- Python
- C#
#
Đọc địa chỉ víTiếp theo, chúng ta nhận giá trị chuỗi của địa chỉ ví từ payment.addr
mà chúng ta đã tạo ở trên. Thêm vào các dòng dưới đây vào mã của bạn:
- JavaScript
- Typescript
- Python
- C#
#
Truy vấn UTxOSau đó thực hiện cardano-cli
và truy vấn UTxO cho địa chỉ ví cái mà chúng ta đã tạo với key và lưu kết quảstdout
với biến rawUtxoTable
.
- JavaScript
- Typescript
- Python
- C#
#
Xử lý bảng UTxOMột lần nữa, Chúng ta truy cập bảng UTXO, sau đó chúng ta sẽ phân tích và tính toán tổng lovelace có trong ví.
- JavaScript
- Typescript
- Python
- C#
#
Quyết định nếu thanh toán thành côngKhi chúng ta có tổng lovelace, chúng ta sẽ quyết định sử dụng mã của chúng ta nếu thanh toán này thành công, cuối cùng thì gửi hoặc chuyển mặt hàng nếu thực sự thành công. Trong ví dụ của chúng ta, chúng ta mong đợi rằng việc thanh toán bằng 1,000,000 lovelace
cái mà đã được định nghĩa trong biến TOTAL_EXPECTED_LOVELACE
không đổi.
- JavaScript
- Typescript
- Python
- C#
#
Chạy và thử nghiệmMã cuối cùng của chúng tôi sẽ trông giống như sau:
- JavaScript
- Typescript
- Python
- C#
Cây thư mục dự án của bạn sẽ trông giống như sau:
- JavaScript
- Typescript
- Python
- C#
Bây giờ chúng tôi đã sẵn sàng để kiểm tra 🚀, việc chạy mã sẽ cho chúng tôi kết quả sau:
- JavaScript
- Typescript
- Python
- C#
Mã cho chúng tôi biết rằng ví hiện tại của chúng tôi đã nhận được tổng số 0 lovelace
và dự kiến 1,000,000 lovelace
, do đó, kết luận rằng thanh toán chưa hoàn tất.
#
Hoàn thành thanh toánNhững gì chúng tôi có thể làm để mô phỏng một khoản thanh toán thành công là gửi ít nhất 1,000,000 lovelace
vào địa chỉ ví mà chúng tôi vừa tạo cho dự án này. Chúng ta có thể lấy địa chỉ ví bằng cách đọc nội dung của payment.addr
như sau:
Bạn sẽ thấy Địa chỉ vís :
Bây giờ chỉ cần gửi ít nhất 1,000,000 lovelace
tới địa chỉ ví hoặc yêu cầu một số tADA
từ Cardano Testnet Faucet. Sau khi hoàn tất, bây giờ chúng ta có thể chạy lại mã và chúng ta sẽ thấy kết quả thành công lần này.
- JavaScript
- Typescript
- Python
- C#
note
Có thể mất 20 giây hoặc hơn để giao dịch lan truyền trong mạng tùy thuộc vào tình trạng mạng, vì vậy bạn sẽ phải kiên nhẫn
Xin chúc mừng, bạn hiện có thể phát hiện các khoản thanh toán Cardano thành công theo chương trình này. Điều này sẽ giúp bạn tích hợp các ứng dụng hiện có hoặc ứng dụng mới sắp ra mắt của bạn. 🎉🎉🎉