Solidity require(msg.value >=...) 不起作用
Solidity require(msg.value >=...) does not work
你好,我想签订一份 NFT 合约。
不幸的是,有些东西无法正常工作。每当我 运行 Mint 函数时,我都会收到消息说我没有足够的以太币。但是我的测试网钱包里有 100 个以太币。
我做错了什么?
// SPDX-License-Identifier: MIT
pragma solidity 0.8.11;
import "@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
contract NFTTest is ERC1155Supply, Ownable {
uint256 public price = 0.005 ether;
string public name = "NFT TEST";
constructor() ERC1155("https://do.main") {}
function setName(string memory _name) public onlyOwner
{
name = _name;
}
function getName() public view returns (string memory)
{
return name;
}
function mint(uint256 amount) external payable {
require(msg.value >= price, "Not enough cash");
_mint(msg.sender, amount, 1, "");
}
}```
如果您使用的是Remix,每次铸造时必须将Wei的值设置为大于0。
你好,我想签订一份 NFT 合约。
不幸的是,有些东西无法正常工作。每当我 运行 Mint 函数时,我都会收到消息说我没有足够的以太币。但是我的测试网钱包里有 100 个以太币。
我做错了什么?
// SPDX-License-Identifier: MIT
pragma solidity 0.8.11;
import "@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
contract NFTTest is ERC1155Supply, Ownable {
uint256 public price = 0.005 ether;
string public name = "NFT TEST";
constructor() ERC1155("https://do.main") {}
function setName(string memory _name) public onlyOwner
{
name = _name;
}
function getName() public view returns (string memory)
{
return name;
}
function mint(uint256 amount) external payable {
require(msg.value >= price, "Not enough cash");
_mint(msg.sender, amount, 1, "");
}
}```
如果您使用的是Remix,每次铸造时必须将Wei的值设置为大于0。