尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

新手必读:GenLayer Project Boilerplate项目结构逐目录解析(contracts/tests/frontend/deploy)

新手必读:GenLayer Project Boilerplate项目结构逐目录解析(contracts/tests/frontend/deploy) 新手必读GenLayer Project Boilerplate项目结构逐目录解析contracts/tests/frontend/deploy【免费下载链接】genlayer-project-boilerplate项目地址: https://gitcode.com/GitHub_Trending/gen/genlayer-project-boilerplateGenLayer Project Boilerplate 是 AI 原生区块链 GenLayer 官方提供的示例项目脚手架内置了一个支持联网与 LLM 大模型裁决的足球竞猜智能合约Football Bets并配齐了 Python 合约、双轨测试体系、Next.js 前端与部署脚本。这篇文章将带新手逐目录拆解 GenLayer 项目结构搞懂contracts、tests、frontend、deploy每个目录的职责让你 30 分钟就能看懂整套 GenLayer 智能合约项目。一、GenLayer 项目结构总览一张图看懂全貌GenLayer 是一个AI 原生区块链它的智能合约用 Python 编写、运行在 GenVM 虚拟机中并且能直接访问互联网、调用 LLM 来做决策。这个 Boilerplate 项目就是教你如何把这样的智能合约 DApp 前端 测试 部署串成一套完整工程。克隆仓库后你会看到如下顶层结构genlayer-project-boilerplate/ ├── contracts/ # Python 智能合约源码 ├── tests/ # 测试direct 快速模式 integration 集成模式 ├── frontend/ # Next.js 15 前端应用 ├── deploy/ # TypeScript 部署脚本 ├── config/ # 环境配置读取 ├── support/ # CI 辅助文件 ├── gltest.config.yaml ├── pyproject.toml └── requirements.txt目录一句话职责关键语言/框架contracts/链上智能合约业务核心Python / GenLayer SDKtests/单元测试 端到端测试pytest / gltestfrontend/用户交互界面Next.js 15 / TypeScript / Wagmideploy/合约部署脚本TypeScript / genlayer-jsconfig/RPC 配置读取Python / dotenv二、contracts/ 目录GenLayer 智能合约核心代码contracts/目录存放的是真正跑在链上的智能合约这是整个 GenLayer 项目结构中最核心的部分。包含两个文件contracts/football_bets.py足球竞猜主合约包含全部业务逻辑contracts/PatternTest.py合约编程模式验证文件配合测试使用以足球竞猜合约为例它展示了 GenLayer 智能合约的三大典型能力1️⃣ 链上存储使用TreeMap、u256等 GenLayer 专用类型不能用普通dict/list例如bets: TreeMap[Address, TreeMap[str, Bet]]存储每位玩家的投注。2️⃣ 方法装饰器gl.public.write标记会修改状态的方法如create_bet、resolve_betgl.public.view标记只读查询方法如get_bets、get_points。3️⃣ AI 联网裁决合约通过gl.nondet.web.render()抓取 BBC Sport 的比赛页面再用gl.nondet.exec_prompt()让 LLM 从网页中提取比分最后用gl.eq_principle.strict_eq()等价原则校验非确定性结果——这是 GenLayer 区别于传统区块链的最大亮点。三、tests/ 目录双轨测试体系是新手最佳学习材料对于新手来说tests/目录是理解合约行为最好的说明书。它分为两套互补的测试3.1 tests/direct/ —— 毫秒级快速测试无需区块链环境tests/direct/使用 GenLayer 的 direct mode在内存中直接运行合约通过 mock 模拟网络请求和 LLM 调用每个测试只需几毫秒tests/direct/test_create_bet.py验证创建投注的确定性逻辑无需 mocktests/direct/test_resolve_bet.py验证结算逻辑用direct_vm.mock_web()和direct_vm.mock_llm()模拟比赛结果tests/direct/test_views.py验证只读查询方法tests/direct/test_patterns.py验证 7 种合约编程模式tests/direct/conftest.py共享工具函数地址格式化等运行方式非常简单pytest tests/direct/ -v3.2 tests/integration/ —— 真实链上端到端测试tests/integration/则要求启动 GenLayer Studio用真实共识网络跑完整流程gltest tests/integration/ -v -stests/integration/test_football_bets.py覆盖下注 → 结算 → 积分全流程tests/integration/test_new_features.py新功能验证tests/integration/fixtures.py期望状态的测试夹具测试类型命令速度是否需要 Studio静态检查genvm-lint check contracts/football_bets.py~250ms否快速测试pytest tests/direct/ -v~毫秒/个否集成测试gltest tests/integration/ -v -s~分钟/个是新手推荐工作流改合约 → 先 lint → 再跑 direct 测试 → 最后跑 integration 测试前两步几秒钟就能完成反馈非常适合学习迭代。四、frontend/ 目录生产级 Next.js 15 前端frontend/是一个开箱即用的 Next.js 15 前端技术栈为 TypeScript TanStack Query Radix UI Wagmi/Viem并且内置了 MetaMask 钱包集成。核心文件分布在几个子目录frontend/lib/contracts/FootballBets.ts封装合约交互类提供createBet、resolveBet、getBets、getLeaderboard等方法frontend/lib/hooks/useFootballBets.tsReact Hook 层用 TanStack Query 管理状态frontend/lib/genlayer/WalletProvider.tsx钱包连接上下文frontend/lib/genlayer/client.tsfees.tsGenLayer 客户端与交易费估算frontend/components/UI 组件BetsTable、CreateBetModal、Leaderboard、Navbar 等frontend/app/Next.js 页面与全局布局启动前端只需三步cd frontend npm install npm run dev然后将部署好的合约地址填入NEXT_PUBLIC_CONTRACT_ADDRESS环境变量访问 http://localhost:3000/ 即可在网页上完成下注、查看排行榜等操作。五、deploy/ 目录一键部署智能合约deploy/deployScript.ts是官方推荐的合约部署脚本使用genlayer-jsSDK 完成完整部署流程读取contracts/football_bets.py源码 → 初始化共识合约 → 提交部署交易 → 轮询等待ACCEPTED/FINALIZED状态 → 打印合约地址。实际部署时只需两条命令genlayer network # 选择网络localnet / studionet genlayer deploy # 执行 deployScript.ts六、config/ 与根目录配置新手易忽略的拼图config/genlayer_config.py读取.env中的RPCPROTOCOL、RPCHOST、RPCPORT配置gltest.config.yaml测试网络配置默认连接本地http://127.0.0.1:4000/apipyproject.tomlpytest 配置定义了 integration 标记requirements.txtPython 依赖清单support/ci/CI 辅助文件如ACTIVE_DEV_BRANCH七、新手 30 分钟上手路线图如果你完全没接触过 GenLayer建议按这个顺序探索先跑测试执行pytest tests/direct/ -v通过测试输出反推合约行为再读合约打开contracts/football_bets.py对照测试里的断言逐行理解后看前端从frontend/lib/contracts/FootballBets.ts入手理解前端如何调用链上方法最后部署配置好环境后运行genlayer deploy拿到合约地址接入前端总结GenLayer Project Boilerplate 把AI 智能合约开发的全套最佳实践浓缩在四个目录中contracts/写链上逻辑、tests/双轨验证、frontend/落地交互、deploy/打通上线。对新手而言它既是学习 GenLayer 智能合约与 AI 裁决机制的最佳教材也是一个可以直接复用的生产级脚手架。照着本文的目录地图顺着测试 → 合约 → 前端 → 部署的顺序读源码你会惊讶于 AI 原生区块链的开发竟然如此顺畅。【免费下载链接】genlayer-project-boilerplate项目地址: https://gitcode.com/GitHub_Trending/gen/genlayer-project-boilerplate创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表