技术指南:如何在Cardano上构建交易?

原文来源:Adaverse Asia

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

关于 Adaverse:

官网 | Twitter

原文链接

如有疑问联系邮箱:
*本文转载自网络转载,版权归原作者所有。本站只是转载分享,不代表赞同其中观点。请自行判断风险,本文不构成投资建议。*