技術指南:如何在 Cardano 上構建交易?

原文來源:Adaverse Asia

Cardano 是如何工作的?

要完全理解 Cardano 是如何工作的,需要瞭解幾個概念 — — Cardano 機制和比特幣非常類似,只是延伸了一些附加功能:

  1. UTXOs
  2. 原生資產(代幣和 NFT)
  3. 智能合约

簡言之,Cardano 採用了比特幣 UTXO 模型並對其進行了擴展,真正重要的功能只有兩個,原生資產和智能合約。

延伸閱讀:《Cardano 的 DApp 生態風起,Haskell 會否是下一個「MOVE」?

UTXOs

理解 Cardano 最重要的概念可能就是 UTXO 模型 — — UTXO 模型最初用於比特幣,但在智能合約開發中有很多限制,以太坊為了實現智能合約放棄了這種模式,轉而採用賬戶模型(支持智能合約的公鏈們大都如此)。

Cardano 在共識層承繼了比特幣的優勢基礎,在狀態選擇上則從智能合約的實現需求角度考慮,借鑒了以太坊的設計思路,採用有所改良的UTXO 的修改版本(EUTXO)來實現對智能合約的支持。

其中 Cardano 文件有一系列影片教學,在較高的層次上解釋了許多概念,包括每筆交易如何實現和 UTXO 如何工作。

其中前兩個關於 UTXO 和交易的視頻是非常重要的概念,需要理解,這讓我們可以瞭解到資產是如何存儲在 Cardano 中的,以及存儲在每個交易中的資訊。

在理解 UTXO 和交易的高級概念之後,最好的做法是實際構建並提交一個交易,具體分為 3 個步驟:

  1. 构建一笔交易;
  2. 使用私钥对这笔交易进行签名;
  3. 将交易提交到 Cardano 节点;

Cardano-cli

構建、簽署和提交交易的第一種方法是使用「Cardano-cli」,這種方法非常友好,幾乎可以保證交易的成功,但它需要用戶自己設置一個 Cardano 節點。

對於很多普通用戶來說,這無疑是一個不小的門檻 — — 需要相當強大的硬件和大量的備用內存。

不過 Cardano 文檔也有一個關於如何運行節點和 CLI 的指南

如果已經設置了一個節點,這裡有一個關於您可以嘗試的非常簡單的交易的指南

Cardano-serialization-lib + 一個輕錢包

構建和提交交易的第二種方法是結合使用 Cardano-serialization-lib 和輕錢包。

儘管用戶可以使用任何想要的輕錢包,但我創建了一個項目作為示例,演示如何使用 Cardano-serialization-lib 和 Yoroi 錢包來構建、簽署和提交交易到測試網。

主要示範如何生成一個 NFT 並將其發送到腳本地址:

  1. 首先安装 Yoroi Nightly(Yoroi 錢包的開發版本,支持測試網)。
  2. 水龍頭 上獲取一些測試網 ADA;
  3. 複製這個 Github 存儲 並以開發者身份運行 npm(默認的服務位置是http://localhost:8080/)

代幣和 NFT

一旦理解了基本交易的工作方式,就有必要進一步瞭解代幣和 NFT 在 Cardano 上的工作方式。

Cardano 文檔有一篇很長的介紹文章,事實上,代幣和 NFT 在 Cardano 被稱為「原生資產」因為 Cardano 在區塊鏈層上支持自定義代幣和 NFT,而以太坊使用智能約來表示這些資產。

代幣和 NFT 在 Cardano 上的處理方式與 ADA 相同,本質上每個資產都有一個唯一的 ID,而ADA 將空字符串作為其唯一的 ID。

關於代幣和 NFT,有兩個重要的概念需要理解:

  1. MINT 策略
  2. 元數據(Metadatcea)

代幣的 ID 實際上只是其 MINT 策略的哈希(hash),而 MINT 策略是一組指示是否可以 MINT 的指令。

代幣的元數據是代幣其他重要資訊的地方,目前 CIP25 中提供了一個標準來標準化代幣元數據的形式。

MINT 代幣

使用 CLI,使用 serialization-lib + 輕錢包

Plutus 腳本(智能合約)

要真正完全理解 Cardano,最後一個難題是理解它的智能合約系統。

但學習這部分沒有簡單的方法,需要大量的時間投入,沒有比跟隨 IOG 發佈的系列影片更好的學習方法 — — 「Plutus Pioneer Program」。

該系列影片將帶我們瞭解如何製作 Plutus Scripts、測試並部署它們,並為我們提供了許多可以在 Cardano 上構建腳本的好例子。

本文不構成投資建議,虛擬貨幣波動大請謹慎小心

掌握虛擬貨幣、區塊鏈大小事

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *