Các trường hợp quản lý trao đổi multi-asset

Native assets tuân theo một tập hợp các quy tắc xác định trước được gọi là minting policies (chính sách minting), được xác định bởi những người dùng muốn tạo một tài sản mới. Các chính sách này đặt giới hạn trên và giới hạn dưới về những gì một token có thể làm, ai có thể làm việc này và cũng có thể phải xác định thời điểm trong vòng đời của một transaction (giao dịch) mà tại đó nó có thể được thực hiện.

Một minting policy (chính sách minting) bị ràng buộc bởi giao thức mạng lưới và các quy tắc do sổ cái qui định. Một quy tắc đó là giá trị UTXO tối thiểu (số lượng ada tối thiểu phải được gửi trong một giao dịch.) Giá trị hiện được đặt thành 1 ada, do đó để giao dịch bất kỳ native asset nào trên mạng lưới Cardano, thì được đưa vào tối thiểu phải là 1 ada và hạch toán trong giao dịch. Điều này không có nghĩa là bạn chỉ phải gửi 1 ada để giao dịch native asset. Bạn có thể sử dụng bất kỳ số lượng ada nào, vì vậy điều quan trọng là các sàn giao dịch và ví phải nhận thức được điều này và biết phải làm gì trong những trường hợp như vậy.

Lưu ý: Có thể xác minh và xác định chính xác các giao dịch native asset cụ thể này bằng cách sử dụng cardano-graphql hoặc cardano-rosetta.

Các tình huống quản lý multi-asset

Danh sách sàn giao dịch ada có thể thường gặp phải hai trường hợp cụ thể:

  • Tình huống 1 – Sử dụng một UTXO có đính kèm đa tài sản
  • Tình huống 2 – Bất ngờ nhận được multi-asset trong ví cardano

Tình huống 1: Sử dụng một UTXO có đính kèm multi-asset

Lưu ý: Trường hợp này áp dụng cho các sàn giao dịch quản lý UTXO của riêng họ.

Cách xác định UTXO có native assets đính kèm

Các sàn giao dịch và ví của bên thứ ba quản lý UTXO của riêng họ thường sử dụng trình khám phá khối cục bộ (cardano-graphql hoặc cardano-rosetta ví dụ:).

cardano-graphql là một ngôn ngữ truy vấn Cardano API và một thành phần khi thực hiện để hoàn thành các truy vấn dữ liệu hiện có được trích xuất từ cơ sở dữ liệu PostgreSQL cardano-db-sync. Nó cung cấp mô tả đầy đủ và dễ hiểu về dữ liệu này, đồng thời cung cấp cho khách hàng quyền được yêu cầu thông tin cần thiết. Điều này, ngược lại, cả hai đều đơn giản hóa sự phát triển của các ứng dụng client APIs’ và cho phép các công cụ mạnh dành cho nhà phát triển.

Cardano đã điều chỉnh cardano-rosetta (ban đầu được Coinbase phát triển như là phần mềm trung gian của blockchain) để giúp các sàn giao dịch và ví của bên thứ ba trích xuất dữ liệu blockchain và tích hợp với Cardano. Xem tệp Readme này để biết thêm thông tin về cách trích xuất thông tin đa tài sản từ cardano-rosetta.

Bắt đầu với native assets

Sau khi hiểu giao dịch với native assets, bạn có thể muốn tạo hoặc đốt/hủy một số native assets hoặc token gốc trên testnet. Xem các điều kiện tiên quyết này và làm theo các bước dưới đây để bắt đầu tạo một số native assets:

  • Liên kết cardano-node với testnet
  • Build cardano-node và liên kết với testnet
  • Tải xuống bản cardano-cli nhị phân thiết kế sẵn hoặc sử dụng bản thiết kế từ nguồn
  • Làm theo các bước sau

Sử dụng một UTXO có đính kèm native assets

Khi xây dựng giao dịch với native assets bằng cách sử dụng cardano-cli như được nêu trong phần này , điều quan trọng là phải tính đến hai điều:

  1. Giá trị ada bạn muốn gửi
  2. Số lượng token

Điều trên cũng đúng đối với bất kỳ sàn giao dịch hoặc bên thứ ba nào muốn chi tiêu, trả lại hoặc lưu trữ bất kỳ multi-asset nào. Theo định nghĩa, việc nhận multi-asset cũng giống như nhận bất kỳ giao dịch Cardano nào khác. Sự khác biệt duy nhất là một số multi-asset giống như d ữ liệu khác- có thể được gắn vào giao dịch.

Chúng tôi đặc biệt khuyên rằng tất cả các sàn giao dịch và ví của bên thứ ba hãy xác minh tất cả các giao dịch trong khối (block) đối với multi-assets và xử lý theo đó. Việc quản lý các loại giao dịch này như thế nào là quyết định của doanh nghiệp.

Phải làm gì với các token không mong muốn?

Mục đích của bất kỳ multi-asset nào có thể là bất kì, nhưng điều quan trọng cần nhớ là, giống như ada, multi-asset là một phần của giao dịch cần được xử lý và cân bằng theo cùng một cách.

Multi-assets sẽ không gây ra vấn đề gì cho dù nằm trong ví của nhà phát hành hay ví của sàn giao dịch. Nó sẽ tồn tại cho đến khi nó được mua lại, sử dụng hoặc đốt đi.

Cuối cùng, quyết định phải làm gì với một multi-asset nằm ở sàn giao dịch hoặc ví của bên thứ ba. Cụ thể hơn, với một sàn giao dịch quản lý các UTXO của riêng họ.

cardano-wallet sử dụng thuật toán UTXO để xử lý và quản lý các UTXO. Multi-asset được xử lý cardano-wallet trên blockchain có thể dễ dàng bị bỏ qua.

Chọn một UTXO có nghĩa là phải tính đến tài sản gắn liền với UTXO đó. Nếu đầu vào (input) bổ sung này không được xử lý đúng cách, lỗi mất cân đối sẽ xảy ra.

Bạn kiểm soát những việc cần làm với native asset. Bạn chỉ có thể trả lại cho người gửi nếu bạn biết địa chỉ hoặc cách khác, bạn có thể di chuyển native asset đến một địa chỉ trong ví của bạn tuân thủ các nguyên tắc mạng lưới và giá trị UTXO tối thiểu.

Đọc đề tài native tokens để biết thêm thông tin về cách tạo và cân bằng giao dịch với native asset được đính kèm.

Tình huống 2 – Bất ngờ nhận được multi-asset trong ví cardano

Lưu ý: Trường hợp này chỉ áp dụng cho các sàn giao dịch sử dụng cardano-wallet.

Xác minh rằng bạn đã nhận được multi-asset

  1. Kiểm tra thông tin ví để xác nhận
  2. Chạy lệnh curl sau để kiểm tra và xác minh thông tin ví:

Byron

curl http://localhost:8090/v2/byron-wallets/

Shelley

http://localhost:8090/v2/wallets
  1. Kiểm tra phần tài sản:
"assets": {

      "total": [

        {

          "asset_name": "6e7466636f696e",

          "quantity": 10,

          "policy_id": "f625fdd8e936d56d3d9943557380cff64d0db66e545f99a3cc01ab97"

        }

      ],

      "available": [

        {

          "asset_name": "6e7466636f696e",

          "quantity": 10,

          "policy_id": "f625fdd8e936d56d3d9943557380cff64d0db66e545f99a3cc01ab97"

        }

      ]

    }

Đổi token hoặc xóa multi-assets không mong muốn khỏi ví cardano

Các token được tạo bằng minting policy (chính sách minting) tuân theo một bộ quy tắc được xác định trước. Ví dụ: minting policy có thể cho phép chủ sở hữu token đốt hoặc tạo token mới. Trong hầu hết các trường hợp, nếu bạn nhận được các token không mong muốn, bạn sẽ cần phải trả lại chúng cho tổ chức phát hành hoặc người gửi hoặc đặt chúng ở một nơi khác để bảo quản. Đọc đề tài minting policies để biết thêm thông tin về minting policies.

Lưu ý: Chi phí tối thiểu để gửi bất kỳ số lượng native asset nào là một ada, cộng với phí giao dịch. Đọc chủ đề yêu cầu giá trị ada tối thiểu để biết thêm thông tin về các yêu cầu UTXO tối thiểu.

Tùy chọn 1 : Gửi lại token cho nhà phát hành hoặc người gửi:

  1. Xác minh địa chỉ của người gửi hoặc địa chỉ của nhà phát hành.
  2. Tạo giao dịch JSON trong ví cardano với số tiền UTXO tối thiểu là một ada và bao gồm native asset.

Giao dịch mẫu để gửi multi-asset:

curl -XPOST http://localhost:8090/v2/byron-wallets/{wallet_id}/transactions \

H 'Content-Type: application/json \; charset=utf-8'

d '{

      "payments": [

      {

            "address":"{destination_address}",

            "amount":{

                   "quantity":3000000,

                   "unit":"lovelace"

              },

              "assets": [

                   {

                         "policy_id":"asset_policy_id",

                         "asset_name": "6e7466636f696e",

                         "quantity": 5

                  }

              ]

           }

      ],

      "passphrase":"myfirstpassword"

  }'
  1. Xác minh rằng giao dịch multi-asset đã hoàn tất và tài sản đã được chuyển khỏi ví.

Byron

curl http://localhost:8090/v2/byron-wallets/

Shelley

curl http://localhost:8090/v2/wallets
  1. Bạn sẽ thấy kết quả sau:
"assets": {

      "total": [],

      "available": [] }

Tùy chọn 2 : Di chuyển token đến một địa chỉ bên trong ví hiện có:

  1. Xác minh rằng bạn có native tokens trong ví.
  2. Chỉ định một địa chỉ trong ví (hoặc nơi khác) để gửi token.
  3. Làm theo các bước trong Tùy chọn 1 để gửi token đến một địa chỉ không phải là một giá trị UTXO tối thiểu (min UTXO value).
  4. Theo dõi địa chỉ chứa native assets.