blockchain - 如何在 rinkeby 和 ropsten 上获取测试令牌
问题描述
我正在为以太坊 ERC-20 代币构建一些钱包功能。我只有几个问题:
例如,假设我想测试一个 ERC-20 代币 (BAT)。我如何向自己发送测试 BAT 或 AAVE 或任何其他令牌?我只能使用 Rinkeby 和 Ropsten 并且找不到这些水龙头,只有 Kovan。
我可以为所有 ETH 代币重复使用相同的生成 Eth 地址吗?有什么我需要考虑的问题吗?
谢谢
解决方案
我如何向自己发送测试 BAT 或 AAVE 或任何其他令牌?
据我所知,测试网上没有“官方”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);
}
}
我可以为所有 ETH 代币重复使用相同的生成 Eth 地址吗?
地址的代币余额存储在每个代币合约中 - 而不是单独的地址。因此,如果您担心的话,一个地址可以拥有多少令牌没有容量限制。
对于某些人来说,出于隐私原因,为每个令牌使用单独的地址可能很重要。如果您将您拥有的代币分成多个地址,则很难估计您(作为一个人)总共拥有多少。
有些人使用的另一个原因是冗余。如果您无法访问其中一个地址,您仍有多个其他地址处于余额状态。
推荐阅读
- python - 绘制事件:plt.plot vs ax.plot,为什么后者不起作用?
- docker - 将 docker 容器托管到本地网络
- wordpress - 无法在 Wordpress 中更改网站语言
- javascript - 如何阻止我的“轮盘赌风格”号码选择器滞后?
- reactjs - 当我转到“联系人路径”时,我希望 App 中的组件不出现
- python - Django 表单提交重定向到错误的 url
- angular - 尝试在Angular Typescript中填充以特定数字开头的数组
- amazon-web-services - 由 CI/CD 发布时 AWS ECS 计划任务未运行
- python - 为什么 AWS Lambda 会通过 CloudWatch 事件多次运行?
- java - 我应该如何重构现有代码来处理新案例?