2. Triển khai hợp đồng thông minh
Bạn có thể sử dụng Remix Online IDE hoặc Truffle để triển khai hợp đồng thông minh MyERC20
.
2.1 Triển khai hợp đồng thông minh bằng Remix Online IDE
Vui lòng truy cập Klaytn Plugin for Remix và tạo hợp đồng
MyERC20
. Toàn bộ mã nguồn đã được cung cấp tại mục Soạn hợp đồng thông minh ERC-20.Chuẩn bị tài khoản của bạn để triển khai hợp đồng.
Nếu bạn chưa có tài khoản, hãy tạo một tài khoản tại https://baobab.wallet.klaytn.foundation/create hoặc [https://toolkit.klaytn.foundation/tài khoản/tài khoảnKeyLegacy](https://toolkit.klaytn.foundation/tài khoản/tài khoảnKeyLegacy).
Nhận một số KLAY thử nghiệm từ faucet - https://baobab.wallet.klaytn.foundation/faucet
Hãy triển khai
MyERC20.sol
với các tham số triển khai làBAOBABTOKEN
,BAO
và8
.

Sau khi triển khai, bạn có thể gọi hàm balanceOf
với tài khoản của bạn đã được dùng để triển khai hợp đồng. Bạn sẽ thấy có 10000000000000
token có sẵn trong tài khoản của bạn như dưới đây. Vì bạn đã đặt decimal
là 8
khi triển khai hợp đồng ở trên, nó đã tạo ra một số cố định là 100000
token trong hàm khởi tạo, với mỗi token có giá trị thập phân là 10^8
. Phương thức totalSupply
sẽ trả về tổng cung của các token đã tạo, cũng bằng 10000000000000
.

MyERC20
hiện đang hoạt động !
2.2 Triển khai hợp đồng thông minh bằng truffle
Bạn nên cài đặt xong node.js trong môi trường của mình. Hãy xem Hướng dẫn cài đặt Node.js qua trình quản lý gói để cài đặt node.js bằng trình quản lý gói trong các môi trường khác nhau.
$ mkdir klaytn
$ cd klaytn
$ npm init # initialize npm at the erc20token directory
$ npm install [email protected]
$ npm install caver-js@latest # installing caver-js
$ ln -s node_modules/truffle/build/cli.bundled.js truffle
$ export PATH=`pwd`:$PATH
Giờ đây, bạn đã cài đặt truffle và caver-js, hai công cụ cần thiết để triển khai hợp đồng thông minh.
Hãy chuẩn bị truffle
và một hợp đồng thông minh MyERC20.sol
.
$ mkdir myerc20
$ cd myerc20
$ truffle init
Giờ bạn sẽ có các cấu trúc thư mục như sau.
.
├── contracts
│ ├── Migrations.sol
├── migrations
│ └── 1_initial_migration.js
└── truffle-config.js
Giờ hãy soạn MyERC20.sol
và đặt nó vào thư mục contracts
.
Bạn cũng cần chỉnh sửa tập tin 1_initial_migration.js
như sau để triển khai hợp đồng MyERC20
với các tham số ban đầu là BAOBABTOKEN
, BAO
và 8
. Tên của đồng token được đặt là BAOBABTOKEN
và ký hiệu token là BAO
. Token có giá trị thập phân là 10^8
. Lưu ý rằng ví dụ, khi bạn truy vấn totalSupply
của BAOBABTOKEN
, nó sẽ trả về 10^13
, không phải 10^5
, vì Solidity không hỗ trợ số thực dấu phẩy động, số lượng token luôn được biểu diễn dưới dạng số tự nhiên ở đơn vị nhỏ nhất.
const Migrations = artifacts.require("./Migrations.sol");
const MyERC20 = artifacts.require("./MyERC20.sol");
module.exports = function(deployer) {
deployer.deploy(Migrations);
deployer.deploy(MyERC20, 'BAOBABTOKEN', 'BAO', 8);
};
Bạn cũng phải chỉnh sửa tập tin truffle-config.js
như dưới đây để triển khai hợp đồng thông minh lên mạng lưới Klaytn. Bước này giống như bước được mô tả trong Triển khai Hợp đồng thông minh bằng Truffle.
// truffle-config.js
module.exports = {
networks: {
baobab: {
host: '127.0.0.1',
port: 8551,
from: '0xabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd', // nhập địa chỉ hợp đồng của bạn
network_id: '1001', // id mạng Baobab
gas: 20000000, // giới hạn gas của giao dịch
gasPrice: 250000000000, // gasPrice của Baobab là 250 ston
},
},
compilers: {
solc: {
version: "0.5.12" // Chỉ định phiên bản trình biên dịch là 0.5.12
}
}
};
Giờ bạn đã sẵn sàng và có thể triển khai MyERC20.sol
như dưới đây.
$ truffle deploy --network baobab --reset
Compiling ./contracts/MyERC20.sol...
Soạn các tập tin artifact trong thư mục ./build/contracts
Sử dụng mạng lưới 'baobab'.
Running migration: 1_initial_migration.js
Replacing Migrations...
... 0x5a947f076f4570dff8ff18b1ae3557e27dd69c92ce38a3c97fad8f5355914066
Migrations: 0x0d737e9865e5fc4c1ff53744fd2c13c52a44b9bc
Deploying MyERC20...
... 0x1571e80552dab1d67260e8914e06d9b16ccae16fb698c750f6a09aab12517bc1
MyERC20: 0xc4c8257ED9B4eB6422fDe29B1eCe5Ce301e637e1
Lưu quá trình di chuyển thành công lên mạng...
... 0x5b984b3f79c425d80470a96d5badb857fc05e7f31d94423044ae3119c639aa77
Lưu các tập tin artifact...
Nó hiển thị hàm băm giao dịch để triển khai hợp đồng MyERC20
là 0x1571e80552dab1d67260e8914e06d9b16ccae16fb698c750f6a09aab12517bc1
và địa chỉ của MyERC20
là 0xc4c8257ED9B4eB6422fDe29B1eCe5Ce301e637e1
.
Hiện MyERC20
đang hoạt động !
Last updated