Glossary
Meta-transaction (MetaTx) — A signed instruction allowing a relayer to execute a transaction on a user's behalf. Relayer — A service or address that submits user-signed meta-transactions and pays gas. EIP-712 — Ethereum typed structured data signing standard used for secure signatures. Domain Separator — EIP-712 domain hash including name, version, chainId and contract address. Gas credit — Off-chain or on-chain mechanism for paying relayer fees via credits/tokens. DI Token — Platform ERC20 token used for governance, staking, and rewards. Nonce — Replay protection counter per user in MetaTxGateway. UUPS — Upgradeable proxy pattern used for safe contract upgrades. ReentrancyGuard — Protection against reentrancy attacks. Batch — An array of MetaTransaction executed in a single call.
Note: This glossary covers terms specific to MetaTx-Contracts and general blockchain development. For more detailed explanations of any term, refer to the relevant sections in this documentation or the external resources mentioned above.
Last Updated: Aug 2025 Version: 1.0.0
For suggestions or corrections to this glossary, please open an issue on our GitHub repository or contact us at [email protected]. The ability to execute multiple transactions atomically in a single blockchain transaction. MetaTx-Contracts supports batching up to 10 meta-transactions.
BSC (Binance Smart Chain)
A blockchain network compatible with Ethereum that offers faster transactions and lower fees. Currently the primary supported network for MetaTx-Contracts.
BNB
The native cryptocurrency of Binance Smart Chain, used for paying transaction fees and as a store of value.
C
Chainlink
A decentralized oracle network that provides real-world data to smart contracts. Used by MetaTx-Contracts for getting token price feeds.
Circuit Breaker
A safety mechanism that automatically pauses operations when abnormal conditions are detected, such as extreme price movements or technical failures.
Contract Verification
The process of publishing smart contract source code on block explorers (like BSCScan) to prove that the deployed bytecode matches the claimed source code.
Credit
Internal accounting units in the GasCreditVault that represent prepaid gas fees. Credits are backed by real tokens and can be transferred between accounts.
D
Deadline
A timestamp that specifies when a meta-transaction expires. Transactions cannot be executed after their deadline, preventing stale transaction execution.
Domain Separator
A unique identifier used in EIP-712 signatures that prevents signature replay attacks across different contracts or networks.
DApp (Decentralized Application)
An application that runs on a blockchain network, typically involving smart contracts and a user interface.
E
EIP-712
An Ethereum Improvement Proposal that standardizes the signing of structured data, providing better security and user experience for meta-transactions.
EOA (Externally Owned Account)
A regular Ethereum account controlled by a private key, as opposed to a smart contract account.
Event
A log entry emitted by smart contracts that can be monitored by external applications. MetaTx-Contracts emits events for transaction execution, credit usage, and other important operations.
Ethers.js
A popular JavaScript library for interacting with Ethereum and EVM-compatible blockchains.
F
Frontend Integration
The process of connecting a user interface (web or mobile app) to the MetaTx-Contracts system for submitting meta-transactions.
Fuzzing
A testing technique that involves providing random or malformed inputs to find bugs and vulnerabilities in smart contracts.
G
Gas
The unit of computation used on Ethereum and compatible networks. Users must pay gas fees to execute transactions.
Gas Credits
Prepaid units in the MetaTx-Contracts system that allow users to pay for transaction fees using supported ERC-20 tokens instead of native tokens.
Gas Limit
The maximum amount of gas that a transaction is allowed to consume. If a transaction requires more gas than the limit, it will fail.
Gas Price
The price per unit of gas, typically measured in gwei (10^-9 ETH). Higher gas prices result in faster transaction confirmation.
Gwei
A denomination of ETH equal to 10^-9 ETH, commonly used to express gas prices.
H
Hardware Wallet
A physical device that securely stores private keys offline, providing enhanced security for cryptocurrency and smart contract interactions.
Hardhat
A development environment for Ethereum software, used for compiling, testing, and deploying smart contracts.
I
Implementation Contract
In the proxy pattern, the implementation contract contains the actual business logic, while the proxy contract delegates calls to it.
Initializer
A function in upgradeable contracts that serves as the constructor replacement, since constructors can't be used with proxies.
L
Low-level Call
A Solidity function that allows calling other contracts with arbitrary data, providing more control but requiring careful error handling.
M
Meta-transaction
A transaction that is signed by a user but submitted and paid for by a third party (relayer), enabling gasless interactions for users.
MetaMask
A popular browser extension wallet that allows users to interact with Ethereum and compatible blockchain networks.
Multi-signature (Multi-sig)
A security mechanism that requires multiple signatures to execute certain operations, reducing the risk of single points of failure.
N
Native Token
The cryptocurrency that is native to a blockchain network (e.g., ETH on Ethereum, BNB on BSC), used for paying transaction fees.
NatSpec
Natural Language Specification format for documenting Solidity smart contracts, providing standardized documentation comments.
Nonce
A number that ensures transaction uniqueness and prevents replay attacks. Each user has an incrementing nonce for meta-transactions.
O
Oracle
A service that provides external data to smart contracts. MetaTx-Contracts uses Chainlink oracles for token price feeds.
OpenZeppelin
A library of secure, community-audited smart contract components and tools for blockchain development.
P
Payable
A Solidity function modifier that allows the function to receive native tokens (ETH/BNB) as part of the transaction.
Price Feed
A data source that provides real-time price information for tokens, typically delivered through oracle networks like Chainlink.
Proxy Pattern
A design pattern that allows smart contracts to be upgraded by separating the contract logic (implementation) from the contract storage (proxy).
Private Key
A secret cryptographic key that controls ownership of a blockchain account and is used to sign transactions.
Q
Query
A read operation that retrieves data from smart contracts without modifying the blockchain state.
R
Reentrancy
A vulnerability where a contract calls back into itself before the first execution is complete, potentially leading to unexpected behavior.
Relayer
A service that submits meta-transactions to the blockchain on behalf of users, paying the gas fees and potentially charging a service fee.
Replay Attack
An attack where a valid transaction signature is reused maliciously. Prevented by nonces and domain separators in MetaTx-Contracts.
RPC (Remote Procedure Call)
A protocol that allows applications to communicate with blockchain nodes, used for sending transactions and querying data.
S
SDK (Software Development Kit)
A set of tools, libraries, and documentation that helps developers integrate MetaTx-Contracts into their applications.
Signature
A cryptographic proof that a transaction was authorized by the holder of a private key, created using elliptic curve cryptography.
Smart Contract
A self-executing program on a blockchain that automatically enforces the terms of an agreement without intermediaries.
Solidity
The primary programming language for writing smart contracts on Ethereum and compatible networks.
Staleness
The condition when oracle price data becomes outdated, potentially leading to inaccurate calculations. MetaTx-Contracts checks for stale prices.
T
Testnet
A blockchain network used for testing purposes, where tokens have no real value but functionality mirrors the mainnet.
Transaction Hash (TxHash)
A unique identifier for a blockchain transaction, used to track and verify transaction status.
TypeScript
A strongly-typed programming language that builds on JavaScript, providing better development tools and error checking.
U
UUPS (Universal Upgradeable Proxy Standard)
An upgradeable proxy pattern where the upgrade functionality is in the implementation contract rather than the proxy.
User Agent
Information about the client software (browser, app) making a request, used for analytics and debugging.
V
Vault
In MetaTx-Contracts, refers to the GasCreditVault contract that manages gas credits and token deposits.
Verification
The process of confirming that deployed smart contract bytecode matches the published source code.
W
Wallet
Software or hardware that manages private keys and enables users to interact with blockchain networks.
Web3
The decentralized web built on blockchain technology, enabling peer-to-peer interactions without intermediaries.
Wei
The smallest denomination of ETH, equal to 10^-18 ETH. Used for precise calculations in smart contracts.
Abbreviations and Acronyms
Technical Terms
ABI: Application Binary Interface
API: Application Programming Interface
BSC: Binance Smart Chain
CLI: Command Line Interface
DApp: Decentralized Application
DEX: Decentralized Exchange
EIP: Ethereum Improvement Proposal
EOA: Externally Owned Account
ERC: Ethereum Request for Comments
EVM: Ethereum Virtual Machine
JSON: JavaScript Object Notation
NFT: Non-Fungible Token
RPC: Remote Procedure Call
SDK: Software Development Kit
TPS: Transactions Per Second
UI: User Interface
UUPS: Universal Upgradeable Proxy Standard
Tokens and Currencies
BNB: Build and Build (Binance Coin)
BUSD: Binance USD
ETH: Ether
USDC: USD Coin
USDT: Tether USD
Organizations and Standards
BSC: Binance Smart Chain
OpenZeppelin: Smart contract security framework
Chainlink: Decentralized oracle network
EIP: Ethereum Improvement Proposal
ERC: Ethereum Request for Comments
Code Examples
Common Patterns
Basic Meta-transaction Structure
const transaction = {
to: "0x...", // Target address
value: "0", // ETH value in wei
data: "0x...", // Call data
nonce: "1", // User nonce
deadline: "1640995200" // Unix timestamp
};
EIP-712 Domain
const domain = {
name: "MetaTxGateway",
version: "2.0.0",
chainId: 56,
verifyingContract: "0x..."
};
Gas Credit Deposit
// Approve tokens first
await token.approve(vaultAddress, amount);
// Deposit for credits
await vault.depositCredits(tokenAddress, amount);
Related Resources
External Documentation
Ethereum Yellow Paper: Technical specification of Ethereum
EIP-712 Specification: Structured data signing standard
OpenZeppelin Docs: Smart contract development guides
Chainlink Docs: Oracle integration documentation
Hardhat Docs: Development environment documentation
Standards and Specifications
ERC-20: Fungible token standard
ERC-721: Non-fungible token standard
EIP-712: Structured data signing
EIP-1967: Proxy storage slots
EIP-2612: Permit (gasless approvals)
Tools and Libraries
Ethers.js: Ethereum JavaScript library
Web3.js: Alternative Ethereum JavaScript library
MetaMask: Browser wallet extension
Remix: Online Solidity IDE
Truffle: Development framework
Note: This glossary covers terms specific to MetaTx-Contracts and general blockchain development. For more detailed explanations of any term, refer to the relevant sections in this documentation or the external resources mentioned above.
Last Updated: December 2024 Version: 2.0.0
For suggestions or corrections to this glossary, please open an issue on our GitHub repository or contact us at [email protected].
Last updated