> For the complete documentation index, see [llms.txt](https://most-honest-token.gitbook.io/honest-token/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://most-honest-token.gitbook.io/honest-token/fairest-and-most-honest-token-smart-contract/how-interact-with-most-honest-token-smart-contract.md).

# How interact with Most Honest Token Smart Contract

## How users can interact with deployed smart contract

A key principle here is that **anyone can interact with contract** even without any special UI (**without** a front-end). The core point is that the contract is “trustless” and fully usable on-chain:&#x20;

* **Etherscan “Write Contract”** tab:

  They can connect their MetaMask on Etherscan, navigate to your contract page, and call **`claim()`**.
* **Command Line Tools**

  Developers can use Hardhat or Foundry scripts to call **`claim()`** if they know the function signatures.

Front-end dApp is optional, but can make it more user-friendly.

Thus, contract remains **fully functional** without a centralized front-end. The front-end is just a convenience tool.

***

### **1. The On-Chain, “No Front-End” Method**

Thus without a dApp, **anyone** can call the contract’s functions directly:

* **Etherscan (or block explorer)**: If you verify contract on Etherscan, there will be a “Write Contract” tab. Users can connect their wallet (e.g., MetaMask) and call **`claim()`** or read data functions (**`availableSupply()`**, etc.) from the explorer UI.
* **Direct Wallet Tools**: Advanced users can use CLI scripts (e.g., with **`ethers.js`** or **`web3.js`**) and directly send transactions to the contract address.

These methods prove the contract is usable **without** a front-end.&#x20;

But to improve UX, we can build a simple web interface.

***

### **2. A Minimal dApp Architecture**

A typical decentralized application (dApp) is a **web-based UI** that:

1. **Connects** to a user’s Ethereum wallet (usually MetaMask).
2. **Reads** data from the blockchain (e.g., how many tokens remain, how many unique participants so far).
3. **Sends** transactions to the contract (e.g., calling **`claim()`**).

**Core Components** often include:

* **Front-End**: Built in a framework like React, Vue, or plain HTML/JS.
* **Library**: **`ethers.js`** or **`web3.js`** used for blockchain interaction.
* **Wallet Provider**: MetaMask or WalletConnect to sign transactions with the user’s private key in the browser.
