Lisk Smart Contract
Development Tools

Công cụ phát triển

Quy trình phát triển một smart contract cơ bản trên Lisk bao gồm các bước sau:

  1. Viết và biên dịch smart contract
  2. Test smart contract (Viết Unit Test)
  3. Deploy smart contract trên Lisk
  4. Test tương tác thực tế trên Lisk

Công cụ phát triển

Remix (IDE)

https://remix.ethereum.org/#lang=en&optimize=false&runs=200&evmVersion=null&version=soljson-v0.8.26+commit.8a97fa7a.js (opens in a new tab)

Hardhat

https://hardhat.org/ (opens in a new tab)

Foundry

https://getfoundry.sh/ (opens in a new tab)

Thư viện tương tác với smart contract solidity cho Web3 (Solidity) Fullstack Developer 2025

Thư viện Core cho JavaScript/TypeScript

Viem

Viem là thư viện TypeScript nhẹ, type-safe dùng để tương tác với Ethereum hoặc các blockchain EVM khác, được phát triển bởi team đứng sau Wagmi

Ưu điểm:

  • TypeScript-first với type safety mạnh mẽ

  • Bundle size nhỏ hơn đáng kể so với ethers.js và web3.js

  • API hiện đại và dễ sử dụng

  • Hỗ trợ BigInt native thay vì BigNumber libraries

  • Được maintain tích cực và có cộng đồng phát triển mạnh

import { createPublicClient, http } from 'viem'
import { mainnet } from 'viem/chains'
 
const client = createPublicClient({
  chain: mainnet,
  transport: http(),
})
 

Ethers.js

Thư viện Ethers.js là một thư viện JavaScript được sử dụng để tương tác với blockchain Ethereum và các blockchain tương thích với Ethereum

  • API developer-friendly và dễ sử dụng

  • Hỗ trợ TypeScript tốt

  • Cộng đồng lớn và tài liệu phong phú

  • Được sử dụng rộng rãi trong nhiều dự án lớn

import { ethers } from 'ethers';
 
// connect to mainnet via Infura
const provider = new ethers.JsonRpcProvider("https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID");
 

Web3.js

const Web3 = require("web3");
 
// Infura Mainnet URL
const web3 = new Web3("https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID");

NOTE: Ngoài ra còn có nhiều thư viện khác hỗ trợ cho nhiều ngôn ngữ khác nhau như Go, Python, Java, ...

Framework và Hooks cho React Development

Wagmi - React Hooks

Wagmi là thư viện React Hooks được sử dụng phát triển Web3 applications

Tính năng chính:

  • Hơn 20+ React Hooks cho Ethereum interactions

  • Hỗ trợ hơn 50 EVM-compatible blockchains

  • TypeScript support hoàn chỉnh

  • Tích hợp với popular Web3 providers như Alchemy và Infura

Ví dụ sử dụng:

import { useAccount, useBalance, useSendTransaction } from 'wagmi'
 
function MyComponent() {
  const { address, isConnected } = useAccount()
  const { data: balance } = useBalance({ address })
  // ... other hooks
}
 

Web3Modal + Wagmi - Wallet Connection

import { configureChains, createConfig, WagmiConfig } from "wagmi"
 
import { EthereumClient, w3mConnectors, w3mProvider } from "@web3modal/ethereum"
import { Web3Modal } from "@web3modal/react"

Giải thích

w3mConnectors: Là 1 hàm khởi tạo connectors cho Web3Modal, có thể tương tác wallet thông qua WalletConnect, Metamask, ...

const connectors = w3mConnectors({ projectId: 'YOUR_PROJECT_ID', chains });

w3mProvider: Là 1 hàm khởi tạo provider cho Web3Modal, có thể tương tác wallet thông qua WalletConnect, Metamask, ...

const { publicClient } = configureChains(chains, [w3mProvider({ projectId })]);

configureChains: Hàm được sử dụng cho việc tuỳ chỉnh blockchain networks và provider

import { mainnet, sepolia } from 'wagmi/chains';
const { chains, publicClient } = configureChains(
  [mainnet, sepolia],
  [w3mProvider({ projectId: 'YOUR_PROJECT_ID' })]
);

createConfig: Hàm được sử dụng cho việc tạo config object

const config = createConfig({
  autoConnect: true,
  connectors: w3mConnectors({ projectId, chains }),
  publicClient,
});

WagmiConfig: Một component React từ Wagmi dùng để wrap các component con và cung cấp config cho Wagmi

<WagmiConfig config={config}>
  <App />
</WagmiConfig>

EthereumClient: Là class tích hợp Web3Modal với Wagmi để quản lý việc kết nối ví và tương tác với Ethereum provider

const ethereumClient = new EthereumClient(config, chains);

Web3Modal: Là 1 React component dùng để render modal UI cho người dùng để chọn và kết nối ví

<Web3Modal projectId="YOUR_PROJECT_ID" ethereumClient={ethereumClient} />

SDKs

ThirdWeb SDK

  1. SDK Web (React / Next.js)
  • Gồm các component UI và hook cho connect wallet, lấy address, balance, gửi transaction, ...

  • Hỗ trợ kết nối ví, giao dịch, và tương tác smart contract dễ dàng.

  • Type-safe, auto-generated TypeScript APIs.

  1. SDK Backend (Node.js)
  • Hỗ trợ Backend Wallets -> quản lý ví server an toàn không cần private key.

  • Tích hợp với thư viện như Ethers, Viem.

  1. SDK Unity (Game)
  • Hỗ trợ đa nền tảng EVM blockchain trong game Unity.

  • Kết nối ví, tương tác smart contract, IPFS, và Account Abstraction.

  1. Smart contract template
  • NFT AirDrop

  • Token AirDrop

  • Marketplace

  • DAO

  1. Hệ thống ví (Wallets)
  • External Wallets: MetaMask, Coinbase,...

  • In-App Wallets: Đăng nhập bằng email/số điện thoại/social.

  • Smart Wallets (ERC-4337): Gasless, multisig, AA-based.

  • Vault: Quản lý key trên server (TEE-based, không lộ private key).

  1. Hỗ trợ đa nền tảng và đa chuỗi
  • SDK cho Web (React), Backend (Node), Mobile (React Native), Unity.

  • Triển khai contract trên các chain EVM (Ethereum, Polygon, Base, v.v.) thông qua Dashboard hoặc CLI

Alchemy SDK

  1. Tương thích Ethers.js (Core)
  • Dễ dàng thay ethers.Provider bằng alchemy.core.

  • Hỗ trợ đầy đủ JSON-RPC: getBlockNumber(), getBalance(),...

  1. Enhanced APIs (API nâng cao)
  • NFT API: Truy vấn toàn bộ NFT của một địa chỉ, hỗ trợ nhiều chain.

  • Token API: Lấy số dư ERC-20 và metadata chỉ với một hàm gọi.

  • Transfers API: Lấy lịch sử chuyển token .

  • Trace & Debug API: Truy vết giao dịch, debug smart contract.

  1. WebSocket & Real-time Event
  • Lắng nghe sự kiện theo thời gian thực (pending tx, mined, NFT mint).

  • Hỗ trợ WebSocket và Notify webhook.

  1. Hỗ trợ đa chuỗi (Multi-chain)
  • Chuyển đổi linh hoạt giữa nhiều mạng: Ethereum, Polygon, Base, zkSync, v.v.
  1. Cải thiện trải nghiệm và hiệu năng
  • Tự động retry, type-safety.
  • Truy vấn dữ liệu onchain nhanh hơn
Tính năngThirdwebAlchemy
SDK frontend/backend
Các template smart contract
RPC & IPFS tích hợp
Giao diện UI/component sẵn sàng
GiáTừ $5/thángTheo usage

Thư viện Smart Contract Development

OpenZeppelin

  • Cung cấp các contract tiêu chuẩn và các hàm hỗ trợ cho việc phát triển smart contract
  • Audit và test được thực hiện bởi các chuyên gia
  • Có thể tích hợp với các framework phát triển smart contract như Hardhat, Foundry, ...

Best stack Web3 Fullstack Developer 2025

  • Frontend: React + Next.js + TypeScript

  • Web3 Library: Viem, Ethers.js

  • React Hooks: Wagmi

  • Wallet Connection: Web3Modal

  • Smart Contract Development Framework: Foundry, Hardhat

  • Contract Library: OpenZeppelin

  • SDK Platform: ThirdWeb hoặc Alchemy