---
title: "LivLive"
canonical: https://wavect.io/zh/case-studies/livlive/
language: zh
description: "LivLive 是一个面向增强现实与现实世界资产的电商平台。Wavect 从零构建了它的 Web 应用、支付流程和链上推荐系统。"
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

[← 所有案例研究](/zh/case-studies/)

![LivLive logo](/img/clients/svg/livlive.svg)

案例研究 · 2025

LivLive

# 通过产品募集 200 万美元+、1000+ 并发用户，从零在 6 周内构建。

LivLive 将 Pokémon GO 体验带入日常生活，结合 RWA 资产，全球唯一拥有沉浸式 AR 奖励引擎的 RWA 平台。通过产品募集 200 万美元以上。

BLOCKCHAIN 全栈构建 2025 上线

速览

项目类型 全栈构建

行业 [区块链 / RWA](/zh/industries/blockchain-web3/)

阶段 种子轮

项目规模 固定价格

年份 2025

技术栈

Solidity Typescript React NestJS

状态 上线

实例 [livlive.com](https://livlive.com/)

## 概览

LivLive 将 Pokémon GO 体验带入日常生活，结合 RWA 资产，全球唯一拥有沉浸式 AR 奖励引擎的 RWA 平台。通过产品募集 200 万美元以上。

## 挑战是什么？

没有代码库、没有基础设施、六周时间。范围：多层级链上推荐系统、Wert.io 法币转链上 NFT 发行、NOWPayments 加密支付、完整结账 DApp，以及让真实金钱通过整套系统的可观测性。

## 我们做了什么决定？

### 基于 drop 的营销，结账必须吸收峰值，而不是在峰值下被压垮。

> LivLive 的市场策略基于 drop。drop 上线时，结账会在平稳基线上看到持续数小时的流量峰值，普通结账在这种模式下会死。我们将自定义流程基准测试到 1000+ 并发用户，零性能下降，然后用同样的负载跑链上推荐返佣，让佣金分配在峰值时不卡顿。全程极端时间压力。

## 我们做了什么

约束：生产级 Web3 商务，硬时间表，真实金钱即将流入。不那么显然的决定：通过单一已签名 webhook 处理器走双轨支付，由 Cloud KMS 持有签发 mint 和推荐返佣的唯一密钥。具体：多层级链上推荐合约、Wert.io 法币轨、NOWPayments 加密轨、完整的结账 DApp、NestJS 后端。代价：比单轨更多的基础设施面。换来的：一个在同一笔交易中铸造 NFT 并分发多级佣金的结账，并通过产品募集了 200 万美元+。

## 成果

### 1000+ - 并发用户
- **Category:** 规模

### 200万美元+ - 通过产品募集（客户提供）
- **Category:** 业务

想让你的项目也拿到这样的成果？

范围固定。期限固定。已签 SoW。

[联系我们](/zh/contact/)

## On Reel

![Reality, Remastered，LivLive 官方揭幕。](/img/yt/SeqPk3WdorA.jpg?v=2338bf310c11) Reality, Remastered，LivLive 官方揭幕。

## 精选界面

![LivLive, screen 1](/img/case-studies/livlive/001_hu_37a115b867f505a6.webp)

![LivLive, screen 2](/img/case-studies/livlive/002_hu_ee683ce91190b7c4.webp)

![LivLive, screen 3](/img/case-studies/livlive/003_hu_d73f89bc9e1e5b84.webp)

## Architecture & Flows

### 生产架构

左侧是 Next.js DApp + NestJS 后端，中间是双轨支付（Wert.io 法币 + NOWPayments 加密），右侧是链上佣金/NFT 合约。Cloud KMS 持有唯一能签发 mint 和推荐返佣的密钥，专有逻辑以黄色高亮。

该图展示了简化的高层架构，省略了机密的实现与安全细节。

### 结算：法币与加密双轨

```
sequenceDiagram
  autonumber
  participant U as User
  participant FE as Next.js DApp
  participant API as NestJS API
  participant W as Wert.io
  participant NP as NOWPayments
  participant KMS as Cloud KMS
  participant SC as LivLive Contracts
  U->>FE: select item · checkout
  FE->>API: POST /orders (pending)
  API-->>FE: orderId
  alt Fiat rail (card)
    FE->>W: open widget · pay
    W-->>API: signed IPN webhook
  else Crypto rail (USDT/USDC/…)
    FE->>NP: open widget · pay
    NP-->>API: signed IPN webhook
  end
  API->>API: verify signature
  API->>KMS: sign mint + payout tx
  KMS-->>API: signed tx
  API->>SC: LivLiveNFT.mint(to=user)
  API->>SC: LivLiveRevenue.distributeCommissions(refs)
  SC-->>API: emit events · tx hash
  FE->>API: poll order status
  API-->>FE: completed · tokenId
```

一个结算，两条轨道。两个 webhook 都进入同一个 NestJS 处理器，签名校验后，由 Cloud KMS 签名的批量交易在同一个区块里铸造 NFT 并分发多级佣金。

## 经验总结

在极端时间压力下，对范围的严格管控是唯一出路。我们专注于必须完美运作的部分，链上推荐逻辑和支付流程，其余的推迟处理。安全审计确认我们从未把质量当成可交易的代价。

## 技术栈

- [Solidity](https://soliditylang.org/)
- [Typescript](https://www.typescriptlang.org/)
- [React](https://react.dev/)
- [NestJS](https://nestjs.com/)

## 标签

- NFT
- DeFi
- Payments

## 链接与资源

[LivLive](https://livlive.com/) [Resonance Security Audit](https://github.com/ResonanceCybersecurity/audits/blob/main/Solidity%20Smart%20Contract%20Audits/Audit_Report_LIV-NFT_FINAL_22.pdf)

相关服务

- [区块链开发](/zh/services/blockchain/)
- [定制软件开发](/zh/services/software-development/)

客户引用与商标

Wavect 发布这些案例研究，讲述的是我们自己的工作。客户名称、标识和商标归各自所有者所有，在此仅用于标识相关工作，并不表示任何合作、赞助或背书关系。每个案例描述的是 Wavect 在一项更大工作中的自身贡献，客户自己的团队以及其他服务商也共同促成了这些结果。归属于客户的数据是该客户自行提供的数字。关于我们工作的数据来自我们在页面所示核查日期的记录，可按要求提供证据。评价均转载自各卡片所标注的平台，并链接至原始来源。我们不公开任何合作的商业条款，产品截图的权利仍属于所展示的客户。如果你被列在此处，希望更正、修改或撤下相关内容，请写信给我们，我们会处理： [office@wavect.io](mailto:office@wavect.io)

### [ZybraMoney](/zh/case-studies/zybra-money/)

ZybraMoney 是面向非洲的 FinTech 后端平台，支撑群体储蓄（ROSCA 模式）、钱包绑定旅程、支付、转账、推荐机制，以及金融工作流所需的安全与合规控制。

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/zh/case-studies/livlive/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-05-21",
      "inLanguage": "zh",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-05-21",
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          ".faq-question",
          ".faq-answer"
        ]
      },
      "url": "https://wavect.io/zh/case-studies/livlive/"
    },
    {
      "@id": "https://wavect.io/verified-claims.json#livlive-raised-through-product",
      "@type": "Claim",
      "appearance": {
        "@id": "https://wavect.io/zh/case-studies/livlive/#webpage",
        "@type": "WebPage",
        "inLanguage": "zh",
        "url": "https://wavect.io/zh/case-studies/livlive/"
      },
      "author": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "dateModified": "2026-08-04",
      "identifier": "livlive-raised-through-product",
      "inLanguage": "en",
      "text": "$2M+ was raised through LivLive, the AR-RWA product Wavect built."
    },
    {
      "@id": "https://wavect.io/verified-claims.json#livlive-third-party-audit",
      "@type": "Claim",
      "appearance": {
        "@id": "https://wavect.io/zh/case-studies/livlive/#webpage",
        "@type": "WebPage",
        "inLanguage": "zh",
        "url": "https://wavect.io/zh/case-studies/livlive/"
      },
      "author": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "citation": {
        "@type": "WebPage",
        "url": "https://github.com/ResonanceCybersecurity/audits/blob/main/Solidity%20Smart%20Contract%20Audits/Audit_Report_LIV-NFT_FINAL_22.pdf"
      },
      "dateModified": "2026-08-04",
      "identifier": "livlive-third-party-audit",
      "inLanguage": "en",
      "text": "The LivLive contracts carry a published third-party security audit by Resonance Security."
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@id": "https://wavect.io/zh/case-studies/livlive/#case-study",
  "@type": "Article",
  "about": {
    "@id": "https://wavect.io/zh/case-studies/livlive/#project",
    "@type": "CreativeWork",
    "creator": {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ]
    },
    "dateCreated": "2025-01-01",
    "description": "全栈构建 engagement",
    "funder": {
      "@type": "Organization",
      "name": "LivLive"
    },
    "name": "LivLive",
    "subjectOf": {
      "@id": "https://wavect.io/zh/case-studies/livlive/#case-study",
      "@type": "Article"
    },
    "url": "https://livlive.com/"
  },
  "abstract": "没有代码库、没有基础设施、六周时间。范围：多层级链上推荐系统、Wert.io 法币转链上 NFT 发行、NOWPayments 加密支付、完整结账 DApp，以及让真实金钱通过整套系统的可观测性。",
  "author": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "datePublished": "2025-01-01",
  "description": "LivLive 将 Pokémon GO 体验带入日常生活，结合 RWA 资产，全球唯一拥有沉浸式 AR 奖励引擎的 RWA 平台。通过产品募集 200 万美元以上。",
  "headline": "LivLive, Wavect Case Study",
  "image": "https://wavect.io/img/clients/svg/livlive.svg",
  "inLanguage": "zh",
  "isPartOf": {
    "@type": "CollectionPage",
    "name": "Wavect Case Studies",
    "url": "https://wavect.io/zh/case-studies/"
  },
  "keywords": "NFT, DeFi, Payments, Solidity, Typescript, React, NestJS",
  "mainEntityOfPage": "https://wavect.io/zh/case-studies/livlive/",
  "mentions": [
    {
      "@type": "DefinedTerm",
      "name": "Solidity",
      "url": "https://soliditylang.org/"
    },
    {
      "@type": "DefinedTerm",
      "name": "Typescript",
      "url": "https://www.typescriptlang.org/"
    },
    {
      "@type": "DefinedTerm",
      "name": "React",
      "url": "https://react.dev/"
    },
    {
      "@type": "DefinedTerm",
      "name": "NestJS",
      "url": "https://nestjs.com/"
    }
  ],
  "publisher": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "url": "https://wavect.io/zh/case-studies/livlive/",
  "video": [
    {
      "@id": "https://wavect.io/zh/case-studies/livlive/#video-SeqPk3WdorA",
      "@type": "VideoObject",
      "description": "Reality, Remastered，LivLive 官方揭幕。",
      "duration": "PT1M59S",
      "embedUrl": "https://www.youtube-nocookie.com/embed/SeqPk3WdorA",
      "inLanguage": "zh",
      "name": "Reality, Remastered: LivLive Official Reveal",
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "thumbnailUrl": "https://i.ytimg.com/vi/SeqPk3WdorA/maxresdefault.jpg",
      "uploadDate": "2025-07-28T00:00:00+00:00",
      "url": "https://www.youtube.com/watch?v=SeqPk3WdorA"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/",
      "name": "首页",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/case-studies/",
      "name": "案例研究",
      "position": 2
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/case-studies/livlive/",
      "name": "LivLive",
      "position": 3
    }
  ]
}
```
