Plutus Apps 项目使用与配置指南
2025-04-16 03:23:01作者:裘旻烁
1. 项目目录结构及介绍
Plutus Apps 是一个用于开发与 Cardano 区块链交互的分布式应用程序的框架。以下是项目的目录结构及其各部分的简要介绍:
plutus-apps/
├── .github/ # GitHub 工作流和模板
├── cardano-cli/ # Cardano 命令行工具相关文件
├── test/ # 测试数据和相关脚本
├── data/ # 测试和模拟数据
├── golden/ # 测试用例的黄金文件
├── alonzo/ # 与 Cardano 的 Alonzo 硬分叉相关的代码
├── configuration/ # 配置文件和默认设置
├── doc/ # 项目文档
├── nix/ # Nix 构建脚本和配置
├── notes/ # 项目笔记
├── pab-blockfrost/ # Plutus 应用程序的后端
├── plutus-chain-index/ # 链索引核心库
├── plutus-contract/ # Plutus 合同核心库
├── plutus-example/ # 示例 Plutus 应用程序
├── plutus-ledger/ # Plutus 账本库
├── plutus-pab/ # Plutus 应用程序的后端
├── plutus-script-utils/ # Plutus 脚本工具库
├── plutus-tx-constraints # Plutus 交易约束库
├── plutus-use-cases/ # Plutus 使用案例
├── scripts/ # 项目脚本
├── .editorconfig/ # 编辑器配置文件
├── .gitattributes/ # Git 属性配置文件
├── .gitignore/ # Git 忽略文件
├── .hindent.yaml/ # Haskell 代码格式化配置
├── .hlint.yaml/ # Haskell 代码提示配置
├── .ignore/ # 忽略文件
├── .readthedocs.yml/ # Read the Docs 配置文件
├── .stylish-haskell.yaml # Haskell 代码风格配置
├── ARCHITECTURE.adoc # 项目架构文档
├── CODE_OF_CONDUCT.md # 行为准则
├── CONTRIBUTING.adoc # 贡献指南
├── Dockerfile # Docker 构建文件
├── LICENSE # 许可证文件
├── NOTICE # 通知文件
├── README.adoc # 项目自述文件
├── STYLEGUIDE.adoc # 编码风格指南
├── cabal.project # Cabal 构建配置
├── flake.lock # Nix Flake 锁文件
├── flake.nix # Nix Flake 配置
├── scriv.ini # Scriv 文档生成配置
2. 项目的启动文件介绍
项目的启动文件通常是 Dockerfile,它用于构建项目的 Docker 容器。以下是 Dockerfile 的一个基本示例:
# 使用 Haskell 的官方镜像作为基础镜像
FROM haskell:latest
# 设置工作目录
WORKDIR /app
# 复制项目文件到容器中
COPY . .
# 安装项目依赖
RUN cabal update && cabal install --only-dependencies
# 构建项目
RUN cabal build
# 暴露容器的端口
EXPOSE 8000
# 运行项目
CMD ["cabal", "run", "app"]
3. 项目的配置文件介绍
项目的配置文件通常位于 configuration/ 目录下,例如 defaults/byron-mainnet.hs,它包含了项目运行所需的默认配置。以下是一个配置文件的示例:
module ByronMainnetConfig
( ByronMainnetParams (..)
) where
import qualified Cardano.Crypto.VRF as VRF
data ByronMainnetParams = ByronMainnetParams
{ byronGenesisHash :: ByteString
, byronGenesisVRFKey :: VRF.VRFKey
}
-- 实例化配置参数
instance Default ByronMainnetParams where
def =
ByronMainnetParams
{ byronGenesisHash = "your-genesis-hash-here"
, byronGenesisVRFKey = "your-vrf-key-here"
}
请确保替换示例中的占位符(如 your-genesis-hash-here 和 your-vrf-key-here)为实际的配置值。这些配置值对于项目的运行至关重要,可能涉及区块链的同步、节点的连接和其他关键功能。
登录后查看全文
热门项目推荐
AutoGLM-Phone-9BAutoGLM-Phone-9B是基于AutoGLM构建的移动智能助手框架,依托多模态感知理解手机屏幕并执行自动化操作。Jinja00
Kimi-K2-ThinkingKimi K2 Thinking 是最新、性能最强的开源思维模型。从 Kimi K2 开始,我们将其打造为能够逐步推理并动态调用工具的思维智能体。通过显著提升多步推理深度,并在 200–300 次连续调用中保持稳定的工具使用能力,它在 Humanity's Last Exam (HLE)、BrowseComp 等基准测试中树立了新的技术标杆。同时,K2 Thinking 是原生 INT4 量化模型,具备 256k 上下文窗口,实现了推理延迟和 GPU 内存占用的无损降低。Python00
GLM-4.6V-FP8GLM-4.6V-FP8是GLM-V系列开源模型,支持128K上下文窗口,融合原生多模态函数调用能力,实现从视觉感知到执行的闭环。具备文档理解、图文生成、前端重构等功能,适用于云集群与本地部署,在同类参数规模中视觉理解性能领先。Jinja00
HunyuanOCRHunyuanOCR 是基于混元原生多模态架构打造的领先端到端 OCR 专家级视觉语言模型。它采用仅 10 亿参数的轻量化设计,在业界多项基准测试中取得了当前最佳性能。该模型不仅精通复杂多语言文档解析,还在文本检测与识别、开放域信息抽取、视频字幕提取及图片翻译等实际应用场景中表现卓越。00
GLM-ASR-Nano-2512GLM-ASR-Nano-2512 是一款稳健的开源语音识别模型,参数规模为 15 亿。该模型专为应对真实场景的复杂性而设计,在保持紧凑体量的同时,多项基准测试表现优于 OpenAI Whisper V3。Python00
GLM-TTSGLM-TTS 是一款基于大语言模型的高质量文本转语音(TTS)合成系统,支持零样本语音克隆和流式推理。该系统采用两阶段架构,结合了用于语音 token 生成的大语言模型(LLM)和用于波形合成的流匹配(Flow Matching)模型。 通过引入多奖励强化学习框架,GLM-TTS 显著提升了合成语音的表现力,相比传统 TTS 系统实现了更自然的情感控制。Python00
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00
项目优选
收起
deepin linux kernel
C
24
9
Ascend Extension for PyTorch
Python
222
238
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
9
1
暂无简介
Dart
671
156
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
661
312
React Native鸿蒙化仓库
JavaScript
261
322
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
64
19
仓颉编译器源码及 cjdb 调试工具。
C++
134
867
仓颉编程语言测试用例。
Cangjie
37
859
openGauss kernel ~ openGauss is an open source relational database management system
C++
160
217