在 Cardano 上構建交易的技術指南

Adaverse
2022-11-08 19:03:40
收藏
拆解如何在 Cardano 上構建交易。

作者:Adaverse

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

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

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

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 上構建腳本的好例子。

如果想要了解更多關於Cardano技術方面的信息和知識可以聯繫Adaverse

鏈捕手ChainCatcher提醒,請廣大讀者理性看待區塊鏈,切實提高風險意識,警惕各類虛擬代幣發行與炒作,站內所有內容僅係市場信息或相關方觀點,不構成任何形式投資建議。如發現站內內容含敏感信息,可點擊“舉報”,我們會及時處理。
banner
ChainCatcher 與創新者共建Web3世界