2019年12月,Alchemy完成1500万美元A轮融资,方为Pantera Capital,斯坦福大学,Coinbase,三星等。
2021 年 4 月,Alchemy 以 5.05 亿参投组合、K 5 美元完成8000 万B 轮融资,并加入领英,DFJ 成长全球、Chainsmokers(家族鬼)、演员贾里德莱托和格雷泽。
2021 年 10 月,Alchemy 以 35 亿美元的估值完成2.5 美元的 C 轮融资,由 6z 领的。
2022年2月,Alchemy以102亿美元估值完成2亿美元,光速与银奖。
是一个强大的背景、炼金术、没有安排这样的事情、做的项目不刷,比去刷土狗吗?
并且,Alchemy 计划将新的资金推广网络采用,这方面的一些活动现在包括大学,在 3 月 3 日的网络活动中,每周 10 天在网上发布一个极少的信息。任务难度大,对方直接放弃,这样的项目有选择的小空投,绝对是大毛。
官方教程的教程有49分钟的教程,我给大家的教程教程有一个简单的操作教程。
没有今天第二周的记得照着这个先做一下。
1.Polygonscan.com到下面就可以看到滚动到底部页面。
获取简单,直接导航到以下非常简单的测试之一:
将钱包地址复制到文本骚扰,然后点击**“Send Me MATIC”**:
1.Win+R,在跳出按键输入cmd。
2.进入游戏,输入mkdir 再输入一个新文件夹,输入cd ChainBd按回输入该文件夹。
3.输入npm install -g yarn 安装yarn。
4.再输入yarn add hardhat 安装hardhat。
5.输入px hardhat init,连按三下回车就知道了。
6.输入yarn add @openzeppelin/contracts 安装OpenZeppelin智能合约库。
7.输入yarn add @nomiclabs/hardhat-etherscan ,按回车。
1.打开Vscode,点击file,再点击open folder。(不要管右侧代码,那是上一个项目的哈哈)
2.找到刚才创建的文件夹,点击选择文件夹。
3.打开后是这个样子的。
4.右键点击,然后delete lock.sol和deploy.js这两个文件。
5.点击hardhat.config.js,将下面代码粘贴进去!如图所示!
require("dotenv").config();
require("@nomiclabs/hardhat-waffle");
require("@nomiclabs/hardhat-etherscan");
module.exports = {
solidity: "0.8.10",
networks: {
mumbai: {
url: process.env.TESTNET_RPC,
accounts: [process.env.PRIVATE_KEY]
},
},
etherscan: {
apiKey: process.env.POLYGONSCAN_API_KEY
}
};
在 contracts 文件夹中,创建一个新文件并将其命名为“ChainBattles.sol” ,然后将以下代码粘贴进去(注意,这个粘贴我的,官方的有错误!!),如图所示,记得保存,记得保存!
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
import "@openzeppelin/contracts/utils/Strings.sol";
import "@openzeppelin/contracts/utils/Base64.sol";
contract ChainBattles is ERC721URIStorage {
using Strings for uint256;
using Counters for Counters.Counter;
Counters.Counter private _tokenIds;
mapping(uint256 => uint256) public tokenIdToLevels;
constructor() ERC721 ("Chain Battles", "CBTLS"){
}
function generateCharacter(uint256 tokenId) public returns(string memory){
bytes memory svg = abi.encodePacked(
'<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet" viewBox="0 0 350 350">',
'<style>.base { fill: white; font-family: serif; font-size: 14px; }</style>',
'<rect width="100%" height="100%" fill="black" />',
'<text x="50%" y="40%" class="base" dominant-baseline="middle" text-anchor="middle">',"Warrior",'</text>',
'<text x="50%" y="50%" class="base" dominant-baseline="middle" text-anchor="middle">', "Levels: ",getLevels(tokenId),'</text>',
'</svg>'
);
return string(
abi.encodePacked(
"data:image/svg+xml;base64,",
Base64.encode(svg)
)
);
}
function getLevels(uint256 tokenId) public view returns (string memory) {
uint256 levels = tokenIdToLevels[tokenId];
return levels.toString();
}
function getTokenURI(uint256 tokenId) public returns (string memory){
bytes memory dataURI = abi.encodePacked(
'{',
'"name": "Chain Battles #', tokenId.toString(), '",',
'"description": "Battles on chain",',
'"image": "', generateCharacter(tokenId), '"',
'}'
);
return string(
abi.encodePacked(
"data:application/json;base64,",
Base64.encode(dataURI)
)
);
}
function mint() public {
_tokenIds.increment();
uint256 newItemId = _tokenIds.current();
_safeMint(msg.sender, newItemId);
tokenIdToLevels[newItemId] = 0;
_setTokenURI(newItemId, getTokenURI(newItemId));
}
function train(uint256 tokenId)public{
require(_exists(tokenId));
require(ownerOf(tokenId)==msg.sender,"You must own this token to train it");
uint256 currentLevel=tokenIdToLevels[tokenId];
tokenIdToLevels[tokenId]=currentLevel+1;
_setTokenURI(tokenId,getTokenURI(tokenId));
}
}
1.在控制台输入echo test>.env 创建一个.env文件。
2.回到vscode,在env文件中粘贴以下代码,如图所示!
TESTNET_RPC=""
PRIVATE_KEY=""
POLYGONSCAN_API_KEY=""
3.进入 alchemy.com 并创建一个新的 Polygon Mumbai 应用程序。
点击create app。
如下图输入,再点击create app。
4.点击刚才创建的app的view key。复制HTTPS的链接,粘贴到vscode中env文件的第一行,如图所示。
5.打开 Metamask 钱包,点击三点菜单 > 账户详情 > 并将您的私钥复制粘贴为“ PRIVATE_KEY ”值,如图所示。
6.最后,进入polygonscan.com, 并点击右上角创建一个新帐户。
进入API-KEY,点击ADD,添加完毕后将红框内字符串复制,粘贴到env文件第三行,如图所示。保存!!!
1.在script问价夹下创建deploy.js文件,并粘贴以下代码,如图所示,记得保存。
const main = async () => {
try {
const nftContractFactory = await hre.ethers.getContractFactory(
"ChainBattles"
);
const nftContract = await nftContractFactory.deploy();
await nftContract.deployed();
console.log("Contract deployed to:", nftContract.address);
process.exit(0);
} catch (error) {
console.log(error);
process.exit(1);
}
};
main();
1.在车内输入npm install dotenv,点击回车安装。
2.在问题输入/npm install @nomiclab-waffle,点击回车安装。
3.在输入输出,按回车,如图所示。
4.在地址输入10.js脚本/dpx hardhat run-network mumbai,秒155秒,在终端中看到智能合约。
1. 复制的智能合约地址,mumbai.poly.com,** 复制合约,会发现合约代码在点击部署的。
2.回到原因,输入验证网络妈妈+你的合同地址,如图所示。地址已经验证,所以出现以下错误)
1.现在智能合约通过验证,mumbai.polygonscan.com 将在其附近显示一个小勾。
2.点击连接web3,链接小狐狸。
3.点击写连接,然后点击一个辣椒下的写,在小狐狸第四中确认。
1.智能合约地址,将其在网上,复制。
1.回到mumbai.polygonscan.com,个个写连接,然后第8列火车,在其中输入1点击写,看到点击小狐狸确认。
2.再回到近期的并有发现,可以显示。
提交链接。
全部完成,坐方领取,领取等!