# Monad测试网交互的一些补充

By [crypto小趴菜](https://paragraph.com/@crypto-69) · 2025-02-21

---

万众瞩目的monad测试网已经上线，官网文档地址：

[https://docs.monad.xyz/getting-started/deploy-smart-contract/remix](https://docs.monad.xyz/getting-started/deploy-smart-contract/remix)

下面是一些交互方式的补充

1 发布智能合约

打开remix

[https://remix.ethereum.org/#lang=en&optimize=false&runs=200&evmVersion=null&version=soljson-v0.8.26+commit.8a97fa7a.js](https://remix.ethereum.org/#lang=en&optimize=false&runs=200&evmVersion=null&version=soljson-v0.8.26+commit.8a97fa7a.js)

选择new file，创建一个新文件，名字可以随便起，我这里叫test.sol

![](https://storage.googleapis.com/papyrus_images/60ff64deb1113857a98cfb499d4074ac3d1ac8d51c78e0546a48b604fb8ebef5.png)

将一下代码复制进去，ctrl+s保存

    // SPDX-License-Identifier: UNLICENSED
    pragma solidity ^0.8.13;
    
    contract Counter {
        uint256 public number;
    
        function setNumber(uint256 newNumber) public {
            number = newNumber;
        }
    
        function increment() public {
            number++;
        }
    }
    

这里选择injected Provider，连接小狐狸钱包，在小狐狸钱包中切换到monad testnet ，选择好账户，点下面的Deploy

![](https://storage.googleapis.com/papyrus_images/1a7eb92f77bbe8e17abae9de79b176e53d2910a1b6cae0d308e9afa9fb6dc2bb.png)

等待钱包弹出，确认交易，等待交易完成即可

2 还是打开remix，重新创建一个合约，复制以下代码

    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.0;
    
    // 导入ERC20代币接口
    interface IERC20 {
        function transfer(address recipient, uint256 amount) external returns (bool);
        function balanceOf(address account) external view returns (uint256);
    }
    
    contract TokenRefunder {
        // 事件，用于记录代币返还的交易
        event TokensRefunded(address indexed sender, uint256 amount);
        event EtherRefunded(address indexed sender, uint256 amount);
    
        // 接收ERC20代币的函数
        function refundTokens(address tokenAddress) external {
            // 获取发送者的地址
            address sender = msg.sender;
            
            // 获取合约中的代币余额
            uint256 amount = IERC20(tokenAddress).balanceOf(address(this));
            
            // 确保合约中有代币可以返还
            require(amount > 0, "No tokens to refund");
            
            // 将代币返还给发送者
            bool success = IERC20(tokenAddress).transfer(sender, amount);
            require(success, "Token transfer failed");
            
            // 触发事件，记录交易
            emit TokensRefunded(sender, amount);
        }
    
        // 接收以太币的函数
        function refundEther() external {
            // 获取发送者的地址
            address sender = msg.sender;
            
            // 获取合约中的以太币余额
            uint256 amount = address(this).balance;
            
            // 确保合约中有以太币可以返还
            require(amount > 0, "No Ether to refund");
            
            // 将以太币返还给发送者
            (bool success, ) = sender.call{value: amount}("");
            require(success, "Ether transfer failed");
            
            // 触发事件，记录交易
            emit EtherRefunded(sender, amount);
        }
    
        // 接收以太币的回退函数
        receive() external payable {
            // 当合约直接收到以太币时，不做任何操作
            // 用户需要手动调用 refundEther 来取回以太币
        }
    
        // 查询合约中的ERC20代币余额
        function getTokenBalance(address tokenAddress) external view returns (uint256) {
            return IERC20(tokenAddress).balanceOf(address(this));
        }
    
        // 查询合约中的以太币余额
        function getEtherBalance() external view returns (uint256) {
            return address(this).balance;
        }
    }
    

保存，发布合约的地方，选择如下，其他同1

![](https://storage.googleapis.com/papyrus_images/0b5ad16a57733c42f95dd45ce497a5dc1cffe645625a0f4f9e7d9f6572b6beaf.png)

部署合约，等待合约部署后，在左下方，复制合约的地址，用自己的钱包，向该合约地址转账，资金可以返还回来，这样就可以多一笔交易

3 monad域名

网址

[https://app.nad.domains/](https://app.nad.domains/)

在输入框中输入名字，如果下方出现的是Available就可以点击注册

![](https://storage.googleapis.com/papyrus_images/77fda39359d7b4978b50300323a995520cb98227ff8e266d51486bca4f313a60.png)

4 代币兑换

网址

[https://monad.ambient.finance/](https://monad.ambient.finance/)

把Swap，Trade，Pool 都交互一遍

![](https://storage.googleapis.com/papyrus_images/c1d4d2d3f8d69802fe1ec93b6236c82e89b04548c3226ec3e6c4af8f0bd3c4b2.png)

---

*Originally published on [crypto小趴菜](https://paragraph.com/@crypto-69/monad)*
