// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol";
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
/**
* @title WUZHU_V1
* @dev This is the first version of the Wuzhu (VZU) token contract.
* It is an upgradeable ERC20 token following the UUPS pattern.
*
* Conforms to the specifications in "PROJECT_GENESIS_PLAN.MD":
* - Name: Wuzhu
* - Symbol: VZU
* - Decimals: 18
* - Total Supply: 21,000,000
* - Initial Allocation: 100% minted to the deployer.
* - Upgradeability: UUPS proxy pattern.
* - Ownership: Initially owned by the deployer (Captain's address).
*/
contract WUZHU_V1 is Initializable, ERC20Upgradeable, OwnableUpgradeable, UUPSUpgradeable {
/// @custom:oz-upgrades-unsafe-allow constructor
constructor() {
_disableInitializers();
}
/**
* @notice Initializes the contract after deployment.
* @dev This function can only be called once. It sets the token's name, symbol,
* and mints the total supply to the contract deployer, who also becomes the owner.
*/
function initialize() initializer public {
__ERC20_init("Wuzhu", "VZU");
__Ownable_init(msg.sender);
__UUPSUpgradeable_init();
// Mint the total supply of 21,000,000 tokens to the deployer.
// The number is multiplied by 10**18 to account for the decimal places.
_mint(msg.sender, 21000000 * 10**decimals());
}
/**
* @dev Authorizes an upgrade to a new implementation contract.
* This function is required by the UUPS pattern and restricts upgrade
* authority to the current owner.
*/
function _authorizeUpgrade(address newImplementation)
internal
onlyOwner
override
{}
}
就这么点代码,就是一个币。发币也框框调库。
真是不发不知道,一发吓一跳。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.