如何在 rinkeby 和 ropsten 上获取测试令牌

how to get test tokens on rinkeby and ropsten

我正在为以太坊 ERC-20 令牌构建一些钱包功能。我有几个问题:

谢谢

How can I send test BAT or AAVE or any other token to myself?

在测试网上,要获得测试代币,您可以自己部署代币合约。

部署一个 ERC-2t0 代币,您可以任意命名您的代币:AAVE、BAT 甚至 MAGNA。

我可以为所有 ETH 代币重复使用生成的相同 Eth 地址吗?有什么我需要考虑的问题吗?

您可以为所有代币使用一个以太坊帐户。

How can I send test BAT or AAVE or any other token to myself?

据我所知,测试网上没有“官方”BAT 或 AAVE 代币合约。我所说的官方是指 - 由原始代币作者或其团队支持。

因此,您也可以像之前的一些人那样做。复制粘贴 BAT 代币源代码,并将其部署到测试网上。仅在这种情况下,您修改构造函数或其他函数以将令牌铸造到您的地址,或给您某种授权(例如owner)。

或者您可以编写和部署自定义令牌合约。无论是从头开始——还是通过扩展 OpenZeppelin ERC-20.sol 开源实现,您只需使用您的值调用它们的构造函数。

pragma solidity ^0.8;

import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol";

contract MyToken is ERC20, Ownable {
    // sets the token metadata such as name and symbol, also sets the `owner` to `msg.sender`
    constructor() ERC20("MyToken", "MyT") {}
    
    // effectively mints the `_amount` of new tokens to the `owner`
    function mint(uint256 _amount) external onlyOwner {
        _mint(msg.sender, _amount);
    }
}

Can I reuse the same generated Eth address for all ETH Tokens?

一个地址的代币余额存储在每个代币合约上——而不是单独在地址上。因此,如果您担心的话,一个地址可以拥有多少令牌没有容量限制。

对于某些人来说,出于隐私原因,为每个令牌使用单独的地址可能很重要。如果你将你拥有的代币分配给多个地址,就很难估计你(作为一个人)总共拥有多少。

有些人使用的另一个原因是冗余。如果您无法访问您的一个地址,您仍然有多个其他地址有余额。