Eswlnk Blog Eswlnk Blog
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈
  • 注册
  • 登录
首页 › Cracked Platform › 「资源分享」Bithu – NFT 铸币/智能合约收集(React JS+Solidity)附安装教程

「资源分享」Bithu – NFT 铸币/智能合约收集(React JS+Solidity)附安装教程

Eswlnk的头像
Eswlnk
2022-10-13 21:59:50
「资源分享」Bithu - NFT 铸币/智能合约收集(React JS+Solidity)附安装教程-Eswlnk Blog
智能摘要 AI
本文介绍了Bithu——一个用于NFT铸造和收藏的React JS登录页面模板,结合Solidity智能合约,适用于MetaMask钱包。Bithu模板具备现代设计风格,提供完整的NFT投资组合页面所需的功能模块。安装教程包括解压缩文件、运行`yarn`或`npm install`等步骤,并提供了详细的文件结构说明。此外,还详细讲解了如何在Remix IDE中部署ERC-721智能合约,以及如何将合约ABI文件导入项目。最后,用户可通过命令`npm run build`生成静态文件,并在托管平台上发布。
「资源分享」Bithu - NFT 铸币/智能合约收集(React JS+Solidity)附安装教程-Eswlnk Blog

源码介绍

Bithu– NFT Minting/Collection React. JS登陆页面模板+ Mint Solidity是 Metamask Metamask的 Metamask, NFT收藏,路线图,团队成员,常见问题部分。Bithu是 NFT网站的完整模板.Bithu模板具有现代设计风格,色彩丰富。它满足了所有 NFT投资组合登录页面所需要的所有需求,这些页面包含在模板包中。它包含了必要的组成部分和要素。

Bithu是由 ReactJS和 Next JS组成的,它构建于 Crypto NFT登录。

源码预览

「资源分享」Bithu - NFT 铸币/智能合约收集(React JS+Solidity)附安装教程-Eswlnk Blog
「资源分享」Bithu - NFT 铸币/智能合约收集(React JS+Solidity)附安装教程-Eswlnk Blog
「资源分享」Bithu - NFT 铸币/智能合约收集(React JS+Solidity)附安装教程-Eswlnk Blog
「资源分享」Bithu - NFT 铸币/智能合约收集(React JS+Solidity)附安装教程-Eswlnk Blog

安装教程

首先需要解压文件你会发现一个文件夹,包含Bithu-react版本。

  1. 转到 bithu-react 文件夹
  2. 运行yarn(如果你在你的电脑上全局安装了纱线,或者你可以通过安装它)npm install --global yarn
  3. 对 bithu-react 运行 npm install --no-audit (to avoid audit because react new scripts has some bugs that has no fix for now you can ) 检查
  4. 运行npm audit --production 检查生产没有vernerablities。
  5. npm run start在下一次着陆时运行如果本地机器上没有安装node.js,请考虑从node js官网下载: Node.js

/app

/app app文件夹包含应用程序的根目录。我们也在这里做了应用路由。

/assets

/assets 在assets文件夹中,您将找到数据、图像和样式文件夹。在数据文件夹中,您将找到此模板中使用的所有数据。您还将找到图像文件夹,其中所有图像都基于特定页面保存。在主题文件夹中,您将找到此模板中的所有主题使用。

/common

/common文件夹是最重要的使用,你会发现一些常见的组件

如何铸币

在用这个包铸造你的 NFT 之前,你需要集成你的ERC-721智能合约。或者您可以在remix IDE中复制粘贴以下代码以在区块链上创建和部署智能合约(请记住,这是为了测试 Rinkbey、Rophsten 等测试网络的目的。对于主区块链,您需要更仔细地编写智能合约以节省一些 GAS 费用)。

	// SPDX-License-Identifier: GPL-3.0

	pragma solidity ^0.8.0;

	import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol";
	import "@openzeppelin/contracts/access/Ownable.sol";
	import "@openzeppelin/contracts/utils/Counters.sol";

	contract BithuContract is ERC721Enumerable, Ownable {
		using Strings for uint256;

		using Counters for Counters.Counter;

		Counters.Counter private _tokenIds;

		string public baseURI;
		string public baseExtension = ".json";
		uint256 public cost = 0.03 ether;
		uint256 public maxSupply = 1000;
		uint256 public maxMintAmount = 5;
		bool public paused = false;
		mapping(address => bool) public whitelisted;

		constructor(
			string memory _name,
			string memory _symbol,
			string memory _initBaseURI
		) ERC721(_name, _symbol) {
			setBaseURI(_initBaseURI);
			mint(msg.sender, 1);
		}

		// internal
		function _baseURI() internal view virtual override returns (string memory) {
			return baseURI;
		}

		// public
		function mint(address _to, uint256 _mintAmount) public payable {
			uint256 supply = totalSupply();
			require(!paused);
			require(_mintAmount > 0);
			require(_mintAmount <= maxMintAmount);
			require(supply + _mintAmount <= maxSupply);

			if (msg.sender != owner()) {
				if(whitelisted[msg.sender] != true) {
				require(msg.value >= cost * _mintAmount);
				}
			}

			for (uint256 i = 1; i <= _mintAmount; i++) {
			_safeMint(_to, supply + i);
			_tokenIds.increment();
			}
		}


		function count() public view returns (uint256){
			return _tokenIds.current();
		}

		function walletOfOwner(address _owner)
			public
			view
			returns (uint256[] memory)
		{
			uint256 ownerTokenCount = balanceOf(_owner);
			uint256[] memory tokenIds = new uint256[](ownerTokenCount);
			for (uint256 i; i < ownerTokenCount; i++) {
			tokenIds[i] = tokenOfOwnerByIndex(_owner, i);
			}
			return tokenIds;
		}

		function tokenURI(uint256 tokenId)
			public
			view
			virtual
			override
			returns (string memory)
		{
			require(
			_exists(tokenId),
			"ERC721Metadata: URI query for nonexistent token"
			);

			string memory currentBaseURI = _baseURI();
			return bytes(currentBaseURI).length > 0
				? string(abi.encodePacked(currentBaseURI, tokenId.toString(), baseExtension))
				: "";
		}

		//only owner
		function setCost(uint256 _newCost) public onlyOwner() {
			cost = _newCost;
		}

		function setmaxMintAmount(uint256 _newmaxMintAmount) public onlyOwner() {
			maxMintAmount = _newmaxMintAmount;
		}

		function setBaseURI(string memory _newBaseURI) public onlyOwner {
			baseURI = _newBaseURI;
		}

		function setBaseExtension(string memory _newBaseExtension) public onlyOwner {
			baseExtension = _newBaseExtension;
		}

		function pause(bool _state) public onlyOwner {
			paused = _state;
		}

		function whitelistUser(address _user) public onlyOwner {
			whitelisted[_user] = true;
		}

		function removeWhitelistUser(address _user) public onlyOwner {
			whitelisted[_user] = false;
		}

		function withdraw() public payable onlyOwner {
			require(payable(msg.sender).send(address(this).balance));
		}
	}

现在转到remix IDE 并使用您的任何名称创建一个文件。记住文件扩展名应该是 .sol现在将代码粘贴到您创建的文件中。然后,如果您愿意,可以更改合同名称。

「资源分享」Bithu - NFT 铸币/智能合约收集(React JS+Solidity)附安装教程-Eswlnk Blog

编译文件。

「资源分享」Bithu - NFT 铸币/智能合约收集(React JS+Solidity)附安装教程-Eswlnk Blog

如果没有错误,则编译完成。

「资源分享」Bithu - NFT 铸币/智能合约收集(React JS+Solidity)附安装教程-Eswlnk Blog

现在从下拉列表中选择部署和注入 web3。

「资源分享」Bithu - NFT 铸币/智能合约收集(React JS+Solidity)附安装教程-Eswlnk Blog

最后给出你的集合名称、符号和元数据 URI。如何为您的 NTF检查创建元数据。

「资源分享」Bithu - NFT 铸币/智能合约收集(React JS+Solidity)附安装教程-Eswlnk Blog

成功部署合约后,您可以返回编译器并复制合约 ABI 文件。

「资源分享」Bithu - NFT 铸币/智能合约收集(React JS+Solidity)附安装教程-Eswlnk Blog

通过在 src -> contracts 中创建一个文件(文件格式应为 .json)将其粘贴到项目文件夹。

「资源分享」Bithu - NFT 铸币/智能合约收集(React JS+Solidity)附安装教程-Eswlnk Blog

现在将其导入 web3mint.js 文件并复制您的合约地址替换它。

复制合约地址

「资源分享」Bithu - NFT 铸币/智能合约收集(React JS+Solidity)附安装教程-Eswlnk Blog

在这里更换

「资源分享」Bithu - NFT 铸币/智能合约收集(React JS+Solidity)附安装教程-Eswlnk Blog

部署

运行命令npm run build

构建过程完成后。你会发现一个名为的新文件夹/build

您可以在任何托管平台上托管该文件夹,例如:netlify、Gihub Pages 等。

文件下载

Bithu – 使用智能合约(React JS + Solidity)的 NFT 铸造/收集

关注公众号「Hacker之家」不迷路,交流群聊「689155556 」

获取提取码
本站默认网盘访问密码:1166
本站默认网盘访问密码:1166
react合约智能合约软件
1
0
Eswlnk的头像
Eswlnk
一个有点倒霉的研究牲站长
赞赏
「资源分享」Permalink Manager Pro | WordPress 永久链接管理插件
上一篇
「资源分享」用于 SMS、WhatsApp 和使用 Android 设备作为 SMS 网关 (SaaS) 的终极消息传递平台
下一篇

评论 (0)

请登录以参与评论
现在登录
    发表评论

猜你喜欢

  • 「亲测有效」Google Gemini 学生优惠:解决身份验证和支付卡验证
  • 「玩物志趣」Fiddler Everywhere禁止自动更新以及无限试用
  • 「日志记录」Centos 系统升级OpenSSH 9.8p1版本
  • 「资源分享」MailPoet Premium | 为基于 WordPress 的网站提供更好的电子邮件
  • 「资源分享」EVENTON | WordPress 虚拟活动日历插件
Eswlnk的头像

Eswlnk

一个有点倒霉的研究牲站长
1108
文章
319
评论
679
获赞

随便看看

「WordPress主题」Asap 主题 | 最佳 SEO 主题
2024-08-08 19:00:48
Wappler Beta 5.0 本地Crack(破解)版本
2023-05-03 23:21:47
WordPress 安全插件推荐|Wordfence Security Premium
2022-07-29 21:09:28

文章目录

专题展示

WordPress53

工程实践37

热门标签

360 AI API CDN java linux Nginx PDF PHP python SEO Windows WordPress 云服务器 云服务器知识 代码 免费 安全 安卓 工具 开发日志 微信 微软 手机 插件 攻防 攻防对抗 教程 日志 渗透分析 源码 漏洞 电脑 破解 系统 编程 网站优化 网络 网络安全 脚本 苹果 谷歌 软件 运维 逆向
  • 首页
  • 知识库
  • 地图
Copyright © 2023-2025 Eswlnk Blog. Designed by XiaoWu.
本站CDN由 壹盾安全 提供高防CDN安全防护服务
蜀ICP备20002650号-10
页面生成用时 1.254 秒   |  SQL查询 46 次
本站勉强运行:
友情链接: Eswlnk Blog 网站渗透 倦意博客 特资啦!个人资源分享站 祭夜博客 iBAAO壹宝头条
  • WordPress142
  • 网络安全64
  • 漏洞52
  • 软件52
  • 安全48
现在登录
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈