Interacting with Your Deployed Move Smart Contract
In this guide, we will create a simple website that interacts with your deployed Move smart contract. The website will allow users to increment the counter and display its current value using Move transactions and Viem SDK.
1. Setting Up the Next.js Project
- Create a new Next.js project with TypeScript:
- Install the required dependencies:
2. Adding Configuration for Transactions
Create a new file config.ts
to define methods for creating a transaction payload and sending transactions using the Viem SDK.
3. Building the Web Interface
- Create a simple UI with an input field, buttons, and a display for the counter value.
- Add a function to fetch the current counter value from the smart contract using Viem.
- Implement a function to send a transaction that increments the counter.
Example Code (Counter Interaction)
Create a new file src/app/Counter.tsx
:
4. Integrating the Counter Component
Replace the contents of src/app/page.tsx
with:
5. Running the Website
Start the development server:
Open http://localhost:3000
in your browser to interact with the contract.
To add an extra layer of protection for your account, consider using a secondary Ethereum wallet. We've successfully tested this approach with Rabby Wallet.
Conclusion
You've successfully created a simple Next.js website to interact with your Move smart contract. Users can now send transactions to increment the counter and retrieve its value. In the next section, we will explore deploying this website for public access.