Chuẩn bị:
Yêu cầu phải có máy hoặc Node chạy Ubuntu ver 20.04 trở lên
Ae chưa có thì có thể đăng kí vào mua VPS rẻ nhất ở trên Contabo: https://my.contabo.com/
Deploy Contract
Thực hiện việc copy và chạy lần lượt các lệnh sau:
sudo apt update
sudo apt install git
git clone https://github.com/scroll-tech/scroll-contract-deploy-demo.git
cd scroll-contract-deploy-demo
curl -L https://foundry.paradigm.xyz | bash
source /root/.bashrc
foundryup
forge build --use 0.8.17
Sau đó chèn dữ liệu của bạn vào mã, đặt số lượng ether - 0,0000001ether, thời gian mở khóa, private key trong ví MetaMask (lưu ý chỉ xài ví testnet).
forge create --rpc-url https://alpha-rpc.scroll.io/l2 \
--value <number of ether to block in contract> \
--constructor-args <unlock time> \
--private-key <your private key> \
--legacy \
contracts/Lock.sol:Lock --use 0.8.17
Nếu chạy đúng thì lệnh sẽ hiện tương tự như sau:
Deployer: 0x4397FaBAE1318AB76ecb204a17f1dE9E9F888b11
Deployed to: 0xE70cc2EE909f3C17A712721D688973DABD36eBC4
Copy contracts address (địa chỉ deployed to) và paste vào trong block sau: https://blockscout.scroll.io/
Nếu tạo đúng thì sẽ hiển thị giá trị balance ETH và địa chỉ contracts
Deploy Token
Thực hiện lần lượt các lệnh dưới:
cd $HOME
sudo apt update
sudo apt install git
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
mkdir DeployToken
cd DeployToken
sudo npm init Press Enter until the next step.
sudo npm install --save-dev hardhat
sudo npx hardhat Press Enter until the very end.
npm install --save-dev "@nomicfoundation/hardhat-toolbox@^2.0.0"
npm i @openzeppelin/contracts
cd contracts
nano <Your Token Name>.sol * Come up with a name for the token. Example:
# nano NFDGG.sol An empty file should open (if it does not open automatically, press ENTER)
Tiếp theo, sao chép và dán toàn bộ khối mã vào tệp của bạn, thay đổi dữ liệu thành dữ liệu của riêng bạn. Nhấn CTRL+X để lưu tệp sau khi dán, sau đó nhấn Y+ENTER:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract NFDGG is ERC20 {
constructor() ERC20("Your Token Name", "Token Name Abbreviated") {
_mint(msg.sender, 1000000000 10 * decimals());
}
}
Tiếp theo sao chép toàn bộ khối bên dưới, dán vào terminal, nhấn ENTER, một tệp trống sẽ mở ra:
cd $HOME/DeployToken/scripts
rm -rf deploy.js
nano deploy.js * Press ENTER
Tiếp theo, sao chép và dán toàn bộ khối mã "Enter Your Token Name" vào tệp của bạn. Lưu tệp sau khi bạn dán nó bằng CTRL+X, sau đó nhấn Y+ENTER:
const { ethers } = require("hardhat");
async function main() {
const token = await ethers.getContractFactory("Your Token Name");
const deployedToken = await token.deploy();await deployedToken.deployed();
console.log(`The smart contract was deployed at: ${deployedToken.address} on Scroll L2!`);
}main().catch((error) => {
console.error(error);
process.exitCode = 1;
});
Tiếp theo, nhập từng lệnh riêng biệt (bạn sẽ tìm thấy Khóa riêng trong ví của mình):
npm i dotenv
cd $HOME/DeployToken
nano .env
PRIVATE_KEY="YOUR PRIVATE KEY" * Save with ctrl+x, then y+Enter.
rm -rf hardhat.config.js
nano hardhat.config.js
Sau đó dán tất cả khối mã vào tệp, không thay đổi bất cứ điều gì và lưu nó bằng cách nhấn ctrl+x, sau đó y+enter:
require("@nomicfoundation/hardhat-toolbox");
require("dotenv").config({ path: ".env" });
const PRIVATE_KEY = process.env.PRIVATE_KEY;
/** @type import('hardhat/config').HardhatUserConfig
module.exports = {
solidity: "0.8.17",
networks: {
scrollL2: {
url: https://alpha-rpc.scroll.io/l2
,
accounts: [PRIVATE_KEY]
}
}
};
Tiếp theo, nhập lệnh bên dưới:
npx hardhat run scripts/deploy.js --network scrollL2
Nếu lệnh ok, bạn sẽ nhận được bản text sau cùng với hợp đồng được triển khai:
The smart contract was deployed at: 0x8a7B961ae27ecE78483E4D3b74cEB9D1909f98eb on Scroll L2!
Guide được thực hiện by team NFD
- Loading comments...