Remix中的以太坊令牌地址



我正在学习一个接受用户代币的众筹智能合约教程。

我开发了一个简单的ERC20代币,然后部署众筹智能合约,将ERC20代币的地址作为用户接受的代币。

我想在以太网上使用相同的智能合约。换句话说,我希望人们用以太币来资助智能合约(使用ganache和remix,我的10个用户每人有100个以太币(。因此,我需要部署提供以太坊令牌地址的智能合约。以太的地址是什么?

我正在web3提供商下与remix和ganache合作。

任何EVM网络的本地令牌(在您的情况下是以太币(都没有任何地址。

在Solidity中,您可以:

  • 使用payable函数修饰符接受ETH
  • 验证用户发送的存储在msg.value全局属性中的金额。该变量是只读的,发件人选择他们发送的金额,而您的合同只能对此进行验证
  • 使用address payable(address的扩展(类型的本地.transfer()函数发送ETH。不要与ERC20自定义transfer()函数混淆——这是两个独立的函数,尽管它们有相同的名称
pragma solidity ^0.8;
contract MyContract {
address owner = address(0x123);
// `payable` modifier allows the function to accept ETH
function foo() external payable {
// validate that the received amount is 1e18 wei (1 ETH)
require(msg.value == 1e18);
// typecast `address` variable (name `owner`)
// to `address payable` and effectively redirect the received value
// with the native `transfer()` function of the `address payable` type
payable(owner).transfer(msg.value);
}
}

如果您需要使用批准和其他ERC-20功能,许多合同都使用WETH(包装以太币(代币,该代币使用的代币组应该与ETH保持相同的WETH价格,而不是使用常规的ETH。其生产地址取决于其部署的网络。例如:

  • 以太坊:0xc02aaa39b223fe8d0e5c4f27ead9083c756cc2
  • 多边形:0x7ceb23fd6bc0add59e62ac25578270cff1b9f619

相关内容

  • 没有找到相关文章

最新更新