# Glossary

## A

### ABI (Application Binary Interface)

The application binary interface of a smart contract, which defines the standard format for interacting with the contract. The frontend calls contract functions through the ABI.

### Approve (Authorize)

The authorization operation for BEP-20 / ERC-20 tokens. Before using tokens for betting or depositing, you must first authorize the game contract to use your tokens.

***

## B

### Batch Bet (Batch Betting)

The function of placing multiple bets at once in a single transaction (2-50 bets). Each bet is settled independently, but they share the same random number source.

### Block Explorer (Blockchain Explorer)

A website for viewing blockchain transactions and contract information, such as [BscScan](https://bscscan.com/), [Etherscan](https://etherscan.io/).

***

## C

### Commit-Reveal

A cryptographic protocol. The Oracle first submits the hash value of the random number (commit), and then reveals the original random number (reveal) after the player bets. This ensures the random number is unpredictable and tamper-proof.

### CREATE2

An opcode in Ethereum that allows the contract address to be determined before deployment. MemeDice uses CREATE2 so that all game contract addresses end with `d1ce` .

***

## D

### DApp (Decentralized Application)

A decentralized application running on the blockchain. MemeDice is a DApp.

### Decentralize

The operation of transferring game ownership to the zero address, making the game fully controlled by the smart contract. This is an irreversible operation.

### Deploy Fee

The fee required to deploy a game, paid in the native token (ETH/BNB).

### Deposit

The operation of depositing tokens into the game pool and becoming a shareholder.

### devFee (Platform Fee)

The fee charged by the dapp.meme platform, determined at contract deployment and cannot be modified.

### devWallet (Platform Wallet)

The wallet address that receives the platform fee, used as an immutable variable of the contract.

***

## E

### EOA (Externally Owned Account)

An externally owned account, meaning a regular wallet address controlled by a private key (as opposed to a contract address). The Prevrandao mode requires the caller to be an EOA.

### ERC-20

The most commonly used token standard on Ethereum. MemeDice supports any standard ERC-20 token.

### Etherscan

The blockchain explorer for Ethereum mainnet, used to view transactions, contracts, and address information.

***

## F

### Fulfill / Reveal

The operation in which the Oracle service submits the random number to the contract, i.e. the reveal stage in commit-reveal.

***

## G

### Gas

The computational cost required to execute transactions on the blockchain. Gas fees are paid in the native token (ETH/BNB).

### Gas Fee

The fee paid to network validators when executing a transaction.

***

## H

### Hash

A one-way function that converts data of arbitrary length into a fixed-length string. MemeDice uses the `keccak256` hash function.

### House Edge

The probability advantage of the house (pool) over the player in a game. In MemeDice, the house edge comes from fee deductions.

***

## K

### keccak256

The hash function used by Ethereum. In Oracle mode, it is used to verify `keccak256(randomNumber) == commitHash`.

***

## L

### Launchpad

The game deployment factory contract of MemeDice, responsible for creating new game contract instances.

### LP (Liquidity Provider)

A person who provides liquidity to the pool, i.e. a shareholder.

***

## M

### MDP (Mobius DApp Protocol)

Mobius DApp Protocol, the core protocol concept of dapp.meme. It defines a three-layer architecture for token-driven applications.

### MetaMask

The most popular Ethereum wallet browser extension, used to connect DApps and sign transactions.

### Meme Token

Cryptocurrency tokens themed around internet culture/memes, such as $Binance Life, $PEPE, etc.

***

## O

### Oracle

A service that securely transmits off-chain data (such as random numbers) on-chain. MemeDice uses a self-built Oracle service to generate verifiable random numbers.

### Oracle Fee

An extra fee required when using Oracle mode to cover the operating costs of the Oracle service.

### Owner

The administrator of the game contract, with management privileges. Can transfer ownership or decentralize (renounce ownership).

### ownerFee (Owner Fee)

The fee collected by the game owner from each bet, adjustable within the range of 0-9%.

***

## P

### pendingLockedAmount (Pending Locked Amount)

In Oracle mode, after a player places a bet and before settlement, this mechanism locks the maximum potential payout amount. It protects the pool from overpayment.

### Pool

The total amount of tokens stored in the game contract, deposited by shareholders. Player winnings are paid from the pool, and losses go into the pool.

### Prevrandao

The block-level pseudo-random number introduced after the Ethereum Merge (EIP-4399), replacing the original `block.difficulty`.

### Proxy

A contract design pattern that separates storage and logic, allowing the logic to be upgraded without changing the address and data.

***

## R

### RANDAO

Ethereum's random number accumulator mechanism, which mixes the reveal values submitted by validators to generate prevrandao.

### ReentrancyGuard

A security mechanism that prevents a contract from being maliciously called back during execution (reentrancy attack).

### Request ID

The unique identifier for each random number request in Oracle mode.

***

## S

### SafeERC20

A secure token operation library provided by OpenZeppelin that handles compatibility issues with non-standard ERC-20 tokens.

### Salt

The random value used in CREATE2 deployment; by mining different salts, contract addresses with specific suffixes can be obtained.

### Shareholder

An investor who deposits tokens into the game pool and holds a share of the pool.

### Shares

The value representing a shareholder's proportion in the pool. The number of shares remains unchanged after deposit, but the corresponding token value changes with the pool's profits and losses.

### Subdomain

The game's dedicated domain name, in the format `xxx.dapp.meme`. It is set at deployment and cannot be modified.

***

## T

### Token

An ERC-20 standard cryptocurrency token. Each MemeDice game is tied to one token as the game currency.

### Transaction

A record of an operation on the blockchain, including information such as sender, recipient, data, and gas fee.

### Tx Hash

The unique identifier of a transaction, where transaction details can be viewed in a block explorer.

***

## V

### Vanity Address

A contract address with a specific pattern. The game contract addresses of MemeDice all end with `d1ce` .

### Vault

A DeFi design pattern that achieves O(1) gas yield distribution through a global accumulator. MemeDice's shareholder system uses this pattern.

### Verify

To confirm the fairness of the random number and game result through cryptographic methods.

***

## W

### Wallet

A tool for storing cryptocurrency and interacting with DApps, such as MetaMask.

### Win Rate

The probability set by the player of winning a bet, ranging from 10% to 90%. The lower the win rate, the higher the odds.

### winRateParam

The parameter in the contract that represents the win rate, ranging from 1000 to 9000 (corresponding to 10%-90%).

### Withdraw

The operation of withdrawing the tokens corresponding to all shares from the pool.

***

## Z

### Zero Address (Burn Address / Zero Address)

A special address on Ethereum `0x0000...0000`, whose private key is owned by no one. Setting the owner to the zero address means decentralization.


---

# 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/dapp.meme-en/glossary.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.
