Deploy Token và Contract trên Srcoll Alpha

Creat by SnowFlower9x

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/

  1. 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

  1. 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...
highlight
Collect this post to permanently own it.
FFCRYPTO COMMUNITY logo
Subscribe to FFCRYPTO COMMUNITY and never miss a post.
  • Loading comments...