Solidity

我剛剛創建了一份合約,但仍然存在的問題是,我如何將代幣的總供應量放入合約中?Hrd_,操作_______epelin_H一種rdH一種噸,這p和n和和pp和l一世nHardhat, Openzeppelin

  • April 20, 2022

我剛剛能夠將合約部署到測試網中,但正如事先註意到的那樣,沒有部署 Nikola 的總代幣。有人可以建議我應該如何使用令牌重新部署它,因為這是我的程式碼:

我不希望創建 nft 或任何形式,我的目標是令牌。像coinbase這樣的金融加密貨幣項目的一部分正在建設中。因此,我得到的任何建議都會獎勵那些在我作為區塊鏈開發人員的第一年支持我的人。

// contracts/MyNFT.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

contract Nikola is ERC721 {
   constructor() ERC721("Nikola", "NKLO") {
   }
}

在此處輸入圖像描述 在此處輸入圖像描述

訪問https://docs.openzeppelin.com/contracts/4.x/wizard 並填寫 Premint 部分,這將為您提供開始供應的程式碼。

您需要在部署到某個地址時鑄造一些代幣,最好是契約的部署者,因為您需要修改您的建構子使其看起來像這樣並添加一個鑄造功能,以便在需要時可以鑄造更多的代幣

address immutable public owner;

constructor(uint256 amount) ERC721("Nikola", "NKLO") {
 owner = msg.sender;
 _mint(msg.sender, amount);
}

function mint(address receiver, uint256 amount) external {
 require(msg.sender == owner, "Owner restricted function");  
 _mint(receiver, amount);
}

你也確定在這裡使用 ERC721 嗎?我的意思是,如果你打算創建一個可公開分發的代幣,你應該使用 ERC20。

引用自:https://ethereum.stackexchange.com/questions/115172