# 术语表

## A

### ABI (Application Binary Interface)

智能合约的应用二进制接口，定义了如何与合约交互的标准格式。前端通过 ABI 调用合约函数。

### Approve（授权）

BEP-20 / ERC-20 代币的授权操作。在使用代币下注或存款前，需要先授权游戏合约使用你的代币。

***

## B

### Batch Bet（批量下注）

在一笔交易中同时下多注（2-50注）的功能。每注独立结算，但共享同一个随机数源。

### Block Explorer（区块浏览器）

查看区块链交易和合约信息的网站，如 [BscScan](https://bscscan.com/)、[Etherscan](https://etherscan.io/)。

***

## C

### Commit-Reveal（承诺-揭示）

一种密码学协议。Oracle 先提交随机数的哈希值（commit），玩家下注后再揭示原始随机数（reveal）。确保随机数不可预测且不可篡改。

### CREATE2

以太坊的一个操作码，允许在部署合约前确定合约地址。MemeDice 使用 CREATE2 使所有游戏合约地址以 `d1ce` 结尾。

***

## D

### DApp (Decentralized Application)

去中心化应用，运行在区块链上的应用程序。MemeDice 是一个 DApp。

### Decentralize（去中心化）

将游戏所有权转移到零地址的操作，使游戏完全由智能合约控制。这是一个不可逆操作。

### Deploy Fee（部署费）

部署游戏时需要支付的费用，以原生代币（ETH/BNB）支付。

### Deposit（存款）

向游戏资金池存入代币，成为股东的操作。

### devFee（平台费）

dapp.meme 平台收取的费用，在合约部署时确定，不可修改。

### devWallet（平台钱包）

接收平台费用的钱包地址，作为合约的不可变量。

***

## E

### EOA (Externally Owned Account)

外部拥有账户，即由私钥控制的普通钱包地址（相对于合约地址）。Prevrandao 模式要求调用者必须是 EOA。

### ERC-20

以太坊上最常用的代币标准。MemeDice 支持任何标准 ERC-20 代币。

### Etherscan

以太坊主网的区块浏览器，用于查看交易、合约和地址信息。

***

## F

### Fulfill（履行/揭示）

Oracle 服务将随机数提交到合约的操作，即 commit-reveal 中的 reveal 阶段。

***

## G

### Gas

在区块链上执行交易所需的计算费用。Gas 费用以原生代币（ETH/BNB）支付。

### Gas Fee（Gas 费）

执行交易时支付给网络验证者的费用。

***

## H

### Hash（哈希）

将任意长度的数据转换为固定长度字符串的单向函数。MemeDice 使用 `keccak256` 哈希函数。

### House Edge（庄家优势）

游戏中庄家（资金池）相对于玩家的概率优势。在 MemeDice 中，庄家优势来自费用扣除。

***

## K

### keccak256

以太坊使用的哈希函数。在 Oracle 模式中用于验证 `keccak256(randomNumber) == commitHash`。

***

## L

### Launchpad（发射台）

MemeDice 的游戏部署工厂合约，负责创建新的游戏合约实例。

### LP (Liquidity Provider / 流动性提供者)

向资金池提供流动性的人，即股东。

***

## M

### MDP (Mobius DApp Protocol)

莫比乌斯 DApp 协议，dapp.meme 的核心协议理念。定义了代币驱动型应用的三层架构。

### MetaMask

最流行的以太坊钱包浏览器扩展，用于连接 DApp 和签名交易。

### Meme Token（Meme 代币）

以互联网文化/梗为主题的加密货币代币，如 $币安人生、$PEPE 等。

***

## O

### Oracle（预言机）

将链下数据（如随机数）安全地传递到链上的服务。MemeDice 使用自建的 Oracle 服务生成可验证的随机数。

### Oracle Fee（Oracle 费）

使用 Oracle 模式时需要支付的额外费用，用于覆盖 Oracle 服务的运营成本。

### Owner（所有者）

游戏合约的管理员，拥有管理权限。可以转移所有权或去中心化（放弃所有权）。

### ownerFee（所有者费）

游戏所有者从每笔下注中收取的费用，可在 0-9% 范围内调整。

***

## P

### pendingLockedAmount（待结算锁定金额）

Oracle 模式下，玩家下注后到结算前，潜在最大赔付金额被锁定的机制。保护资金池不被超额支付。

### Pool（资金池）

游戏合约中存储的代币总量，由股东存入。玩家赢钱从资金池支付，输钱进入资金池。

### Prevrandao

以太坊合并后引入的区块级伪随机数（EIP-4399），取代了原来的 `block.difficulty`。

### Proxy（代理）

一种合约设计模式，将存储和逻辑分离，允许升级逻辑而不改变地址和数据。

***

## R

### RANDAO

以太坊的随机数累加器机制，通过验证者提交的 reveal 值混合生成 prevrandao。

### ReentrancyGuard（防重入保护）

一种安全机制，防止合约在执行过程中被恶意回调（重入攻击）。

### Request ID

Oracle 模式中每次随机数请求的唯一标识符。

***

## S

### SafeERC20

OpenZeppelin 提供的安全代币操作库，处理非标准 ERC-20 代币的兼容性问题。

### Salt（盐值）

CREATE2 部署中使用的随机值，通过挖掘不同的 salt 来获得特定后缀的合约地址。

### Shareholder（股东）

向游戏资金池存入代币的投资者，持有资金池的份额。

### Shares（份额）

代表股东在资金池中占比的数值。份额数量在存入后不变，但对应的代币价值会随资金池盈亏而变化。

### Subdomain（子域名）

游戏的专属域名，格式为 `xxx.dapp.meme`。在部署时设定，不可修改。

***

## T

### Token（代币）

ERC-20 标准的加密货币代币。每个 MemeDice 游戏绑定一个代币作为游戏货币。

### Transaction（交易）

区块链上的一次操作记录，包含发送者、接收者、数据和 Gas 费等信息。

### Tx Hash（交易哈希）

交易的唯一标识符，可在区块浏览器中查看交易详情。

***

## V

### Vanity Address（靓号地址）

具有特定模式的合约地址。MemeDice 的游戏合约地址都以 `d1ce` 结尾。

### Vault（金库）

一种 DeFi 设计模式，通过全局累加器实现 O(1) gas 的收益分配。MemeDice 的股东系统使用此模式。

### Verify（验证）

通过密码学方法确认随机数和游戏结果的公正性。

***

## W

### Wallet（钱包）

用于存储加密货币和与 DApp 交互的工具，如 MetaMask。

### Win Rate（胜率）

玩家设定的赢得下注的概率，范围 10%-90%。胜率越低，赔率越高。

### winRateParam（胜率参数）

合约中表示胜率的参数，范围 1000-9000（对应 10%-90%）。

### Withdraw（提款）

从资金池中提取全部份额对应的代币的操作。

***

## Z

### Zero Address（黑洞地址/零地址）

以太坊的特殊地址 `0x0000...0000`，没有人拥有其私钥。将 owner 设为零地址即为去中心化。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dapp.meme/shu-yu-biao.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
