Hướng dẫn web3 nodejs
Ethereum cùng với công nghệ Blockchain đang trở thành xu hướng công nghệ trên toàn thế giới. Tuy nhiên với rất nhiều người, kiến thức về lĩnh vực này còn khá là mới mẻ. Dưới góc nhìn là một developer thì Ethereum mang đến rất nhiều khám phá mới mẻ và ứng dụng của nó có tiềm năng phát triển rất lớn trong tương lai. Show Trong bài viết này, tôi xin phép hướng dẫn cách tạo một account và transaction Ethereum trên môi trường Testnet để mọi người có thể
hiểu hơn về quá trình tạo và xử lý một giao dịch như thế nào. Hy vọng sau bài viết này mọi người sẽ hứng thú nghiên cứu và yêu thích Ethereum nhiều hơn. Vậy đầu tiên, chúng ta sẽ đi tìm hiểu các khái niệm cơ bản trong Ethereum: Các khái niệm cơ bản trong EthereumSmart contract (SC) ?Smart contract là một ứng dụng có khả năng tự đưa ra các điều khoản và thực thi thỏa thuận của hệ thống máy tính bằng cách sử dụng công nghệ Blockchain. Các điều
khoản của SC tương đương với một hợp đồng pháp lý và được ghi lại dưới ngôn ngữ của máy tính. Wallet trong Ethereum?Wallet là một loại ví điện tử dùng để lưu trữ các đồng tiền có giá trị tương đương với thực tế. Khái niệm GAS ?Gas là một đơn vị đo lường nhằm tính toán chi phí mà nó sẽ cần để thực hiện các hoạt động nhất định, có thể là một giao dịch đơn giản, hoặc một hợp đồng thông minh, hoặc thậm chí một ICO cũng sẽ tiêu tốn một lượng gas. Như vậy chúng ta đã nắm được các khái niệm cơ bản về Ethereum. Tiếp theo, chúng ta sẽ đi tìm hiểu là
thế nào để tạo một account và một transaction trên môi trường testnet với thư viện web3.js.
Tạo ví MyEtherWallet ?Thiết lập Provider với RopstenChúng ta sẽ có 2 phương thức là HttpProvider và Websocket provider. Chúng ta sẽ bắt đầu với websocket provider:
Tiếp theo, chúng ta sẽ tạo ra 2 ví để có thể thực hiện việc tạo một giao dịch: Tạo ví
Ở bước này, mỗi tài khoản đã sinh ra được một constract tương ứng với một address và privateKey duy nhất. Tiếp theo, chúng ta có thể truy cập vào https://ropsten.etherscan.io và xem thông tin balance ví của mình hoặc truy cập địa chỉ https://ropsten.etherscan.io/address/ Tạo transactionĐể đăng ký một transaction, chúng ta sử dụng hàm signTransaction với một privateKey
Thông số truyền vào
Ví dụ
Bước tiếp theo, chúng ta sẽ phải thực hiện lệnh gửi yêu cầu thực hiện giao dịch đó với hàm sendSignedTransaction
Thông số truyền vào
Các bước thực hiện
Kết quả trả về
Giao dịch đã được khởi tạo thành công. Trường hợp găp lỗi Buffer thì chúng ta sẽ cài dặt thư viện Buffer bằng npm:
Ngoài ra, để kiểm tra trạng thái thực hiện giao dịch của mình bằng cách tìm kiếm giao dịch trên Ropsten testnet thông qua transactionHash trả về tại https://ropsten.etherscan.io.
Như vậy, kêt thúc bài viết này chúng ta sẽ có một cái nhìn cơ bản để có thể hiểu được luồng xử lý giao dịch blockchain và cụ thể hơn là đồng Ether (ETH). Hy vọng các bạn sẽ có hứng thú nghiên cứu và tạo ra những ứng dụng thực tế với công nghệ blockchain. Chúc các bạn thành công! Nguồn tham khảo: |