Ok trong bài trước tôi đã giới thiệu tổng quan về Aelf blockchain. Tuy nhiên nhiên cộng đồng nhỏ cũng như tài liều không nhất quán outdate là điểm yếu chí mạng khi ngươi mới tiếp cận với Aelf. Trong bài này tôi sẽ chia sẻ những công cụ hya và những nguồn tài nguyên khi tiếp cận Aelf
Tổng quan
Aelf cung cấp SDK với khá nhiều ngôn ngữ, nhưng khong thật sự update thường xuyên. Theo kinh nghiệm của tôi SDK của NodeJs là được cập nhật thường xuyên nhất
Lần gần đây nhất khi làm việc với SDK của Java, nó thực sự là rất rất outdate và khác so với những gì ghi trong document. Thật may là khi tôi chỉ ra vấn đề với helpdesk họ đã giúp tôi udpate
Gần đây Aelf đã cập nhật document của họ, tôi cũng chưa thực sự đọc nó nhiều nhưng ít nhất là nó đẹp, gọn gàng và dễ nhìn hơn:
https://docs.aelf.com/learn/
Để viết và deploy 1 smartcontract tài liệu chính thức của aelf cung cấp cho ta 1 thư viện .Net, bên cạnh đó chúng ta có ít nhất khoảng it nhất là 2 – 3 boilerplate khác để viết và deploy smartcontract. Tôi cảm giác team dev của Aelf làm việc khá loạn và không thống nhất, mỗi người tạo ra 1 boilerplate riêng thậm chí các repository còn không được maintain và udpate tốt.
Giông dài hơi nhiều chúng ta đi vào công cụ đầu tiên
Portkey Wallet
Portkey wallet là hàng đi kèm nằm trong hệ sinh thái của Aelf.
https://doc.portkey.finance/docs/OverviewPortkey/start-here
Theo như giới thiệu trên trang chủ thì, Portkey là ví AA đầu tiên trong hệ sinh thái của aelf.
Một vài điều nổi bật ở Portkey đó là :
- Ví AA (Acount Abstraction)
- Cung cấp trải nghiệm tích hợp web2 vào web3
Người dùng sau đó có thể dùng accopunt đã tạo để thao tác với dApp 1 cách dễ dàng thông qua DID solution
Portkey via their Web2 social info with no private keys or mnemonics require
Account Abstraction (AA)
Trừu tượng hóa Tài khoản (AA) là một bước tiến vượt bậc trong công nghệ blockchain, mang đến sự linh hoạt và khả năng tùy chỉnh chưa từng có cho cách thức hoạt động của ví người dùng. Thay vì bị giới hạn bởi các chức năng cơ bản của một tài khoản blockchain truyền thống, AA cho phép các tài khoản được kiểm soát trực tiếp bởi các hợp đồng thông minh.
Điều này mở ra một loạt các tính năng nâng cao, bao gồm:
- Social recovery: Giúp bạn khôi phục tài khoản dễ dàng với sự hỗ trợ từ những liên hệ đáng tin cậy, ngay cả khi bạn lỡ làm mất khóa cá nhân.
- Multi-signature transactions: Nâng cao tính bảo mật bằng cách yêu cầu nhiều bên phê duyệt trước khi thực hiện giao dịch.
- Gas fee payment in stablecoins: Cho phép thanh toán phí giao dịch bằng các stablecoin, tránh những biến động giá không mong muốn.
- Batched transactions: Tối ưu hóa chi phí bằng cách kết hợp nhiều giao dịch nhỏ thành một giao dịch lớn.
Tóm lại, AA là công nghệ cốt lõi đằng sau Portkey, một ví tiên tiến trên blockchain aelf. Nhờ AA, Portkey không chỉ mang đến trải nghiệm người dùng vượt trội mà còn đảm bảo tính bảo mật và khả năng kiểm soát tài sản tối đa cho người dùng.
DID Solution Portkey
Portkey DID là giải pháp cho phép các dự án Web2 chuyển đổi sang Web3 bằng cách thiết lập danh tính và địa chỉ on-chain cho người dùng. Quá trình này bao gồm xác minh tài khoản Web2 và gán địa chỉ quản lý để kiểm soát khóa cá nhân của ví người dùng. Đây cũng là cơ chế để khôi phục tài khoản thông qua xác minh danh tính phi tập trung.
Ứng dụng
Portkey phù hợp với các yêu cầu:
Games | Integrate a AA wallet at no cost Familiar web2 login for easy user onboarding Effortlessly take your game assets on-chain Fast and cheap in-game transactions Full control and ownership of players in-game assets Access to the user resources within aelf ecosystem |
Swap and DEX Platforms | Easy-to-use wallet simplifying operations Fast, cheap and secure transactions between users Cross-chain interoperability Safety ensured by standardized and audited code practices High-performance network aelf ensures scalability |
NFT Marketplaces | Easy-to-use wallet, tailored to users’ needs Facilitation of non-fungible token trading and presentation Significant reduction in development expenditures |
Other types of Web3 tools and Dapps | Free exploration of any type of BUIDL with Portkey SDK and its functionalities Supported by high performance and low cost layer 1 network, aelf |
Đối với yêu cầu ứng dụng mà tôi đã tham gia. Chúng tôi có 1 thể loại Fantasy game Mobile, yêu cầu là chúng tôi có thể tạo 1 account bằng tài khoản social: facebook, google, apple. Người chơi sau đó có thể trao đổi và mua bán các NFT trong mạng Aelf.
Với yêu cầu đó Portkey hoàn toàn phù hợp vì cung cấp sẵn social login and register, đi kèm với ReactNative SDK.
Tài nguyên liên quan
Aelf cung cấp một bộ các công cụ để tương tác đến chain và native smartcontract thông qua 3 hình thức: SDK theo nhiều ngôn ngữ, Web API (RestFul) và CLI.
Chi tiết về các công cụ: https://docs.aelf.com/tools/
Mainnet và Testnet config của Aelf
Aelf Dashboard
Để theo dõi các transaction cũng như tình trạng của blockchain Aelf cung cấp các trang explore. Bạn đọc có thể theo dõi theo từng môi trường ở bảng bên trên.
Nhận faucet ở testnet
Faucet là một dịch vụ hoặc trang web cung cấp một lượng nhỏ tiền điện tử miễn phí cho người dùng ta có thể dùng lượng tiền này để test ở môi trường Develop trước khi đẩy lên product.
Trên thực tế ở testnet ta có rất nhiều nguồn để nhận faucet, điều này đã được tôi đề cập ở trên rằng dường như team dev cảu Aelf làm việc rất loạn và phân mảnh, Không sao điều đấy càng có lợi cho adress dev. Bạn có thể truy cập các trang sau và nhập address để nhận Faucet:
https://faucet-ui-preview.vercel.app
https://testnet-faucet.aelf.io
Ngoài ra bạn có thể nhận Faucet ngay chính tại wallet trên extention chrome (Chỉ dành cho testnet không áp dụng cho mainnet):
Smartcontract tool
Có 2 cách và công cụ hỗ trợ viết smartcontract dựa trên C#:
- Offical doc .Net Template: https://docs.aelf.com/tools/smart-contract-templates/developing-smart-contracts/
- Boilblate: Cũng được nhắc đến trong document nhưng không phổ biến bằng cách trên
Tổng kết
Trên đây là một số công cụ và một số tools mà tôi phát hiện trong quá trình làm việc với Aelf. Trong bài tiếp theo tôi sẽ hướng dẫn code hoàn chỉnh 1 luồng tạo NFT với SDK NodeJS và Java