要完全理解Cardano 是如何工作的,需要了解幾個概念——Cardano 機制和比特幣非常類似,只是延伸了一些附加功能:
UTXOs
原生資產(代幣和NFT)
智能合約
簡言之,Cardano 採用了比特幣UTXO 模型並對其進行了擴展,真正重要的功能只有兩個,原生資產和智能合約。
UTXOs
理解Cardano 最重要的概念可能就是UTXO 模型——UTXO 模型最初用於比特幣,但在智能合約開發中有很多限制,以太坊為了實現智能合約放棄了這種模式,轉而採用賬戶模型(支持智能合約的公鏈們大都如此)。
Cardano 在共識層承繼了比特幣的優勢基礎,在狀態選擇上則從智能合約的實現需求角度考慮,借鑒了以太坊的設計思路,採用有所改良的UTXO 的修改版本(EUTXO)來實現對智能合約的支持。
其中Cardano文檔有一系列視頻教程,在較高的層次上解釋了許多概念,包括每筆交易如何實現和UTXO 如何工作。
其中前兩個關於UTXO 和交易的視頻是非常重要的概念,需要理解,這讓我們可以了解到資產是如何存儲在Cardano 中的,以及存儲在每個交易中的信息。
在理解UTXO 和交易的高級概念之後,最好的做法是實際構建並提交一個交易,具體分為3 個步驟:
構建一筆交易;
使用私鑰對這筆交易進行簽名;
將交易提交到Cardano 節點;
Cardano-cli
構建、簽署和提交交易的第一種方法是使用「Cardano-cli」,這種方法非常友好,幾乎可以保證交易的成功,但它需要用戶自己設置一個Cardano 節點。
對於很多普通用戶來說,這無疑是一個不小的門檻——需要相當強大的硬件和大量的備用內存。
不過Cardano 文檔也有一個關於如何運行節點和CLI 的指南。
如果已經設置了一個節點,這裡有一個關於您可以嘗試的非常簡單的交易的指南。
Cardano-serialization-lib +一個輕錢包
構建和提交交易的第二種方法是結合使用Cardano-serialization-lib 和輕錢包。
儘管用戶可以使用任何想要的輕錢包,但我創建了一個項目作為示例,演示如何使用Cardano-serialization-lib 和Yoroi 錢包來構建、簽署和提交交易到測試網。
主要示範如何生成一個NFT 並將其發送到腳本地址:
首先安裝Yoroi Nightly (Yoroi 錢包的開發版本,支持測試網)。
然後從水龍頭上獲取一些測試網ADA;
然後你可以復制這個Github 存儲庫並以開發者身份運行npm(默認的服務位置是http://localhost:8080/)
代幣和NFT
一旦理解了基本交易的工作方式,就有必要進一步了解代幣和NFT 在Cardano 上的工作方式。
Cardano 文檔有一篇很長的介紹文章,事實上,代幣和NFT 在Cardano 被稱為「原生資產」因為Cardano 在區塊鏈層上支持自定義代幣和NFT,而以太坊使用智能約來表示這些資產。
代幣和NFT 在Cardano 上的處理方式與ADA 相同,本質上每個資產都有一個唯一的ID,而ADA 將空字符串作為其唯一的ID。
關於代幣和NFT,有兩個重要的概念需要理解:
Mint 策略
元數據(Metadatcea)
代幣的ID 實際上只是其Mint 策略的哈希(hash),而Mint 策略是一組指示是否可以Mint 的指令。
代幣的元數據是代幣其他重要信息的地方,目前CIP25中提供了一個標準來標準化代幣元數據的形式。
Mint 代幣
使用CLI ,使用serialization-lib +輕錢包,
Plutus 腳本(智能合約)
要真正完全理解Cardano,最後一個難題是理解它的智能合約系統。
但學習這部分沒有簡單的方法,需要大量的時間投入,沒有比跟隨IOG 發布的系列視頻更好的學習方法——「 Plutus Pioneer Program 」。
該視頻系列將帶我們了解如何製作Plutus Scripts、測試並部署它們,並為我們提供了許多可以在Cardano 上構建腳本的好例子。
如果想要了解更多關於Cardano技術方面的信息和知識可以聯繫Adaverse
About Adavers
Official Homepage: adaverse.co
Twitter: @Adaverse_Acc
Facebook: Adaverse Accelerator
Instagram: @adaverse_acc
Medium: Adaverse Accelerator ; Adaverse Asia
LinkedIn: @Adaverse
Telegram: @Adaverse Founders Group