要完全理解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

 

About Adavers