Smart contract - Hello world

2021/10/13 Smartcontract Blockchain Common 1399 words,about 4 minutes

Tóm tắt: Trong bài viết này chúng ta sẽ cùng tìm hiểu về cách để bắt đầu viết một smart contract đơn giản.

1. Smart contract (Hợp đồng thông minh) là gì ?

  • Hợp đồng truyền thống
    • Hợp đồng là một cam kết giữa hai hay nhiều bên (pháp nhân) để làm hoặc không làm một việc nào đó trong khuôn khổ pháp luật.
    • Hợp đồng có thể thể hiện bằng văn bản hay lời nói nếu có người làm chứng, nếu vi phạm hợp đồng hay không theo cam kết thì 2 bên sẽ cùng nhau ra tòa và bên thua sẽ phải chịu mọi phí tổn.
  • Như các bạn có thể thấy hợp đồng truyền thống cần có sự giằng buộc của pháp luật để đảm bảo các bên tham gia sẽ phải tuân thủ các điều khoản của hợp đồng.

  • Khác với hợp đồng tuyền thống hợp đồng thông minh có thể đảm bảo các điều khoản được thực thi một các đúng đắn và tự động mà không có sự can thiệp từ bên ngoài nhờ công nghệ blockchain.

  • Smart contract đơn giản là một chương trình máy tính chạy trên mạng blockchain. Nó là tập hợp của các hàm, các trạng thái của dữ liệu được lưu tại một địa chỉ cụ thể trên mạng blockchain.

2. Tạo một smart contract đơn giản.

  • Môi trường phát triển (IDE): Trong loạt bài viết này mình sẽ sử dụng Remix

Remix IDE

  • Ngôn ngữ lập trình để tạo smart contract được gọi là Solidity

  • Đầu tiên các bạn tạo file contracts/PingPong.sol trên giao diện của Remix

pragma solidity >=0.7.0 <0.9.0;

contract PingPong {
    
    string pong;
    
    constructor(){
        pong = "pong";
    }
    
    function ping() public view returns (string memory){
        return pong;
    }
}

Remix Code

Tiếp theo bạn chuyển sang tab compiler để compiler code

Remix compiler

Tiếp đến chuyển qua tab deploy

Remix deploy

Sau khi deploy thành công bạn có thể test thử bằng cách gọi hàm ping() khi đó sẽ trả về kết quả pong

Remix test

Trong phần tiếp theo mình sẽ giải thích cụ thể các thanh phần trong Remix IDE cũng như các thành phần của một chương trình Solidity

Document Informations

Search

    Table of Contents