Hướng dẫn build smart contract
Show Harmony được giới thiệu là một nển tảng blockchain nhanh và bảo mật cho các ứng dụng phân tán. Mainnet của họ có 1000 nodes được chia thành 4 shards và với khả năng đóng blocks trong 8s. Nền tảng blockchain này giống Ethereum đến lạ kỳ, có chăng cái khác hiện tại của nó là đang sử dụng một cơ chế đồng thuận khác đó là Effective Proof-of-Stake (EPoS), theo như nhà phát triển thì đây là một loại cải tiến của PoS. Trong rất nhiều sự tương đồng với Ethereum thì một trong số đó là đều có smart contract, cũng sử dụng solidity để viết contract và deploy cũng có thể dùng những công cụ phát triển của Ethereum. Để chứng minh cho điều này mình xin viết bài này hướng dẫn các bạn deploy một smart contract lên mạng Harmony Yêu cầu cài đặtCũng có thể sử dụng Truffle để code và deploy smart contract nên ở đâu chúng ta cần install Truffle
Khởi tạo project
Installing Harmony CoreĐể deploy ta cần install Harmony @harmony-js/core
Install thư viện bổ xungNếu contract phát triển trên chuẩn ERC-20 hoặc ERC-721 thì bạn cần install thêm các thư viện của open zeppelin libraries.
Tạo một file package.jsonCần tạo một file package.json như sau để tải các thư viện:
Sau đó chạy command: Configure truffle để sử dụng được HarmonyĐể build được contract trên Harmony ta cần sử đổi file truffle-config.js, để setup network thành Harmony network.
Trong này sẽ có một số chỗ sử dụng đến các biến môi trường nên ta cũng cần setup file .env như sau:
Viết smart contractChúng ta sẽ viết 2 file triển khai trên Harmony HRC20 như dưới đây:
Add file migrationcuối cùng là file migration để deploy contract:
Cấu trúc thư mục sẽ như sau: Compile và deploy contractsSử dụng các câu lệnh sau để compile và deploy:
Kết quả sẽ như sau
Kiểm tra totalSupplyChúng ta sẽ thử trên 2 môi trường là: môi trường test và môi trường gọi từ client
Block exporersCũng giống như Ethereum thì Harmony cũng có trang để để block exporers: Mainnet và Testnet
Kết luậnNhư vậy là chúng ta đã deploy thành công một smart contract lên mạng Harmony blockchain. Chắc hẳn mọi người bây giờ đang có chút ngờ ngợ, ớ không biết có deploy lên đúng mạng không nhỉ mà cứ như là lên Ethereum thế. Không bạn deploy lên đúng mạng rồi đấy chẳng qua là nó giống Ethereum quá thôi mà. Cảm ơn các bạn đã đón đọc rất vui và hẹn gặp lại cách bạn trong các bài viết tiêp theo. Nguồn: https://docs.harmony.one/home/developers/smart-contracts |