Bài học 3

Kiến trúc của hợp đồng tài sản tổng hợp

Khi chúng ta tiếp tục khám phá tài sản tổng hợp, điều cần thiết là phải đi sâu vào cấu trúc của hợp đồng tài sản tổng hợp. Kiến trúc này tạo thành nền tảng cho hoạt động của tài sản tổng hợp. Trong bài học này, chúng ta sẽ kết hợp lý thuyết với thực hành, minh họa kiến trúc bằng các đoạn mã mà bạn có thể thử trên Remix IDE.

Quỹ hợp đồng thông minh

Cốt lõi của mọi tài sản tổng hợp là hợp đồng thông minh. Hãy bắt đầu bằng cách thiết lập hợp đồng thông minh cơ bản trên Remix IDE.

  1. Mở Remix IDE.

  2. Tạo một tệp Solidity mới có tên SyntheticAsset.sol.

  3. Trong SyntheticAsset.sol, dán đoạn mã sau:

Độ rắn 
 // SPDX-Mã định danh giấy phép: MIT 
 độ rắn pragma ^0.8.0; 

 hợp đồng SyntheticAsset {
    // Code will go here
}

Cơ chế theo dõi tài sản

Theo dõi giá của tài sản cơ bản là rất quan trọng. Chúng tôi sẽ sử dụng cơ chế oracle đơn giản hóa cho mục đích này.

Thêm mã sau vào SyntheticAsset.sol:

Solidity 
 uint256 công khai cơ bảnAssetprice; 

 hàm updatePrice(uint256 _price) public {
    underlyingAssetPrice = _price;
}

Quản lý tài sản thế chấp

Hãy giới thiệu một hệ thống quản lý tài sản thế chấp đơn giản trong hợp đồng của chúng ta.

Solidity 
 uint256 tài sản thế chấp công cộng; 

 hàm DepositColonymous(uint256 _amount) public {
    collateral += _amount;
}

hàm pullColonymous(uint256 _amount) public {
    require(collateral >= _amount, "Insufficient collateral");
    collateral -= _amount;
}

Tổng hợp giá

Việc tổng hợp giá đạt được bằng cách đọc giá cập nhật của tài sản cơ bản.

Hàm Solidity 
 getSyntheticAssetprice() trả về chế độ xem công khai (uint256) {
    return underlyingAssetPrice;
}

Giao diện tương tác người dùng

Hãy tạo một giao diện đơn giản để người dùng tương tác.

Solidity 
 hàm mintSyntheticAsset(uint256 _amount) public {
    // Logic for minting synthetic asset
}

hàm RedSyntheticAsset(uint256 _amount) public {
    // Logic for redeeming synthetic asset
}

Quản trị và khả năng nâng cấp (Tùy chọn)

Để đơn giản, chúng tôi sẽ bỏ qua phần này trong mã của mình. Tuy nhiên, trong kịch bản thực tế, việc triển khai quản trị và khả năng nâng cấp là rất quan trọng.

Các biện pháp an ninh

Hãy thêm kiểm tra bảo mật cơ bản vào hợp đồng của chúng tôi.

Solidity 
 modifier onlyOwner() {
    require(msg.sender == owner, "Not the contract owner");
    _;
}

địa chỉ chủ sở hữu công khai; 

 constructor() {
    owner = msg.sender;
}

hàm updatePrice(uint256 _price) public only Chủ sở hữu {
    underlyingAssetPrice = _price;
}

Giờ đây, với các đoạn mã này, bạn có phiên bản đơn giản hóa của hợp đồng tài sản tổng hợp. Hãy thử triển khai hợp đồng này trên Remix IDE, tương tác với nó và quan sát cách các phần khác nhau của kiến trúc kết hợp với nhau.

Mã của bạn sẽ trông như thế này:

Khi bạn tương tác với mã, các khía cạnh lý thuyết được thảo luận trước đó sẽ trở nên rõ ràng hơn. Vẻ đẹp của hợp đồng thông minh và công nghệ chuỗi khối bắt đầu tỏa sáng khi bạn đi sâu vào khía cạnh thực tế của tài sản tổng hợp.

Trong bài học tiếp theo, chúng ta sẽ xây dựng dựa trên nền tảng này và hướng dẫn quy trình triển khai hợp đồng tài sản tổng hợp phức tạp hơn trong Remix IDE. Hành trình làm chủ tài sản tổng hợp ngày càng trở nên thú vị hơn theo từng bước. Giữ nguyên!

Tuyên bố từ chối trách nhiệm
* Đầu tư tiền điện tử liên quan đến rủi ro đáng kể. Hãy tiến hành một cách thận trọng. Khóa học không nhằm mục đích tư vấn đầu tư.
* Khóa học được tạo bởi tác giả đã tham gia Gate Learn. Mọi ý kiến chia sẻ của tác giả không đại diện cho Gate Learn.
Danh mục
Bài học 3

Kiến trúc của hợp đồng tài sản tổng hợp

Khi chúng ta tiếp tục khám phá tài sản tổng hợp, điều cần thiết là phải đi sâu vào cấu trúc của hợp đồng tài sản tổng hợp. Kiến trúc này tạo thành nền tảng cho hoạt động của tài sản tổng hợp. Trong bài học này, chúng ta sẽ kết hợp lý thuyết với thực hành, minh họa kiến trúc bằng các đoạn mã mà bạn có thể thử trên Remix IDE.

Quỹ hợp đồng thông minh

Cốt lõi của mọi tài sản tổng hợp là hợp đồng thông minh. Hãy bắt đầu bằng cách thiết lập hợp đồng thông minh cơ bản trên Remix IDE.

  1. Mở Remix IDE.

  2. Tạo một tệp Solidity mới có tên SyntheticAsset.sol.

  3. Trong SyntheticAsset.sol, dán đoạn mã sau:

Độ rắn 
 // SPDX-Mã định danh giấy phép: MIT 
 độ rắn pragma ^0.8.0; 

 hợp đồng SyntheticAsset {
    // Code will go here
}

Cơ chế theo dõi tài sản

Theo dõi giá của tài sản cơ bản là rất quan trọng. Chúng tôi sẽ sử dụng cơ chế oracle đơn giản hóa cho mục đích này.

Thêm mã sau vào SyntheticAsset.sol:

Solidity 
 uint256 công khai cơ bảnAssetprice; 

 hàm updatePrice(uint256 _price) public {
    underlyingAssetPrice = _price;
}

Quản lý tài sản thế chấp

Hãy giới thiệu một hệ thống quản lý tài sản thế chấp đơn giản trong hợp đồng của chúng ta.

Solidity 
 uint256 tài sản thế chấp công cộng; 

 hàm DepositColonymous(uint256 _amount) public {
    collateral += _amount;
}

hàm pullColonymous(uint256 _amount) public {
    require(collateral >= _amount, "Insufficient collateral");
    collateral -= _amount;
}

Tổng hợp giá

Việc tổng hợp giá đạt được bằng cách đọc giá cập nhật của tài sản cơ bản.

Hàm Solidity 
 getSyntheticAssetprice() trả về chế độ xem công khai (uint256) {
    return underlyingAssetPrice;
}

Giao diện tương tác người dùng

Hãy tạo một giao diện đơn giản để người dùng tương tác.

Solidity 
 hàm mintSyntheticAsset(uint256 _amount) public {
    // Logic for minting synthetic asset
}

hàm RedSyntheticAsset(uint256 _amount) public {
    // Logic for redeeming synthetic asset
}

Quản trị và khả năng nâng cấp (Tùy chọn)

Để đơn giản, chúng tôi sẽ bỏ qua phần này trong mã của mình. Tuy nhiên, trong kịch bản thực tế, việc triển khai quản trị và khả năng nâng cấp là rất quan trọng.

Các biện pháp an ninh

Hãy thêm kiểm tra bảo mật cơ bản vào hợp đồng của chúng tôi.

Solidity 
 modifier onlyOwner() {
    require(msg.sender == owner, "Not the contract owner");
    _;
}

địa chỉ chủ sở hữu công khai; 

 constructor() {
    owner = msg.sender;
}

hàm updatePrice(uint256 _price) public only Chủ sở hữu {
    underlyingAssetPrice = _price;
}

Giờ đây, với các đoạn mã này, bạn có phiên bản đơn giản hóa của hợp đồng tài sản tổng hợp. Hãy thử triển khai hợp đồng này trên Remix IDE, tương tác với nó và quan sát cách các phần khác nhau của kiến trúc kết hợp với nhau.

Mã của bạn sẽ trông như thế này:

Khi bạn tương tác với mã, các khía cạnh lý thuyết được thảo luận trước đó sẽ trở nên rõ ràng hơn. Vẻ đẹp của hợp đồng thông minh và công nghệ chuỗi khối bắt đầu tỏa sáng khi bạn đi sâu vào khía cạnh thực tế của tài sản tổng hợp.

Trong bài học tiếp theo, chúng ta sẽ xây dựng dựa trên nền tảng này và hướng dẫn quy trình triển khai hợp đồng tài sản tổng hợp phức tạp hơn trong Remix IDE. Hành trình làm chủ tài sản tổng hợp ngày càng trở nên thú vị hơn theo từng bước. Giữ nguyên!

Tuyên bố từ chối trách nhiệm
* Đầu tư tiền điện tử liên quan đến rủi ro đáng kể. Hãy tiến hành một cách thận trọng. Khóa học không nhằm mục đích tư vấn đầu tư.
* Khóa học được tạo bởi tác giả đã tham gia Gate Learn. Mọi ý kiến chia sẻ của tác giả không đại diện cho Gate Learn.