5个版本

0.1.6 2022年11月12日
0.1.4 2022年10月10日
0.1.3 2022年10月6日
0.1.2 2022年10月6日
0.1.1 2022年10月3日

#dapp中排名29

Apache-2.0

185KB
4K SLoC

Trireme CLI

Trireme是一个简单的CLI钱包,用于管理多个Cardano网络"环境"的Cardano密钥。Naumachia框架提供了一种简单的方法来集成Trireme,以便测试和部署您的合约。

安装

需要安装Rust和cargohttps://doc.rust-lang.net.cn/cargo/getting-started/installation.html

cargo install --path .

您已准备就绪!

环境

环境代表您想要与之交互的Cardano网络。您可以管理多个环境并在它们之间轻松切换。您可以使用存储在您的文件系统中的本地模拟环境来测试您的合约,然后切换到实时环境以将合约部署到区块链。

使用以下命令创建一个新的环境

trireme new-env

它将为您提供3个选项

  Local Mocked
  Password Protected Phrase + Blockfrost API
  (dangerous) Plaintext Phrase + Blockfrost API

本地模拟环境

这是一个仅存储在您的本地文件系统中的模拟网络环境。这对于在无需支付交易费用并等待最终确认的情况下本地测试您的合约非常有用。

本地模拟环境包含一些针对实时环境的额外功能。

trireme switch-signer

允许您在同一个环境中切换多个签署者。当您的合约有多个参与者时,这很有帮助。

trireme advance-blocks

允许您前进您的模拟链的区块高度。许多合约具有基于时间的逻辑,因此这有助于测试这些合约。

真实网络环境

注意:目前仅支持PREPROD测试网。

这是与实际区块链交互。目前Trireme支持以下与链交互的方法

  • Blockfrost API
  • Ogmios + Scrolls

使用Argon2 + ChaCha20对您的密语进行密码加密并将其存储到文件中。您必须在创建环境和每次使用时提供密码。

Blockfrost API

您必须提供Blockfrost API密钥。您可以在以下位置获取一个:https://blockfrost.io/

Ogmios + Scrolls

您需要提供Ogmios和Scrolls实例的IP和端口。

滚动条也需要为您的合约设置正确的还原器。具体来说,您需要包括每个脚本的地址以及将发起交易的钱包地址。

例如,daemon.toml 可能会包括类似的内容

...

[[reducers]]
type = "FullUtxosByAddress"
filter = [
"addr_test1qp7dqz7g6nyg0y08np42aj8magcwdgr8ea6mysa7e9f6qg8hdg3rkwaqkqysqnwqsfl2spx4yreqywa6t5mgftv6x3fsckw6qg",
"addr_test1wq6t9y9k20wp545s2snkt5222vhhwt40p8mqt8pad6xtdnsq95tm0",
"addr_test1wzg9jffqkv5luz8sayu5dmx5qhjfkayq090z0jmp3uqzmzq480snu",
]
address_as_key = true

...

我如何将我的 Naumachia dApp 集成进来?

Naumachia 智能合约需要 LedgerClient 与区块链交互。为了使用您的本地 Trireme 环境中的 LedgerClient,Naumachia 提供了一个有用的函数

get_trireme_ledger_client_from_file()

它将读取您的文件系统中的 ~/.trireme 下的 Trireme 配置。这是 Trireme CLI 保存配置的默认位置。

基本钱包功能

余额

获取您的当前余额。这包括 ADA 和原生代币。

$ trireme balance
Balances:
100000.0 ADA
999 FREEEEEE (363d3944282b3d16b239235a112c0f6e2f1195de5067f61c0dfc0f5f)

地址

获取您的基地址,以便您能接收 ADA。

$ trireme address
Address: addr_test1qrksjmprvgcedgdt6rhg40590vr6exdzdc2hm5wc6pyl9ymkyskmqs55usm57gflrumk9kd63f3ty6r0l2tdfwfm28qs0rurdr

依赖项

~16–29MB
~483K SLoC