Leçon 5

Triển khai và tương tác với Contract

Chào mừng bạn đến với Bài học 5 của khóa học về token hóa trên Tezos của chúng tôi! Bây giờ chúng tôi đã thiết kế, viết và thử nghiệm FA1.2 của mình hợp đồng mã thông báo, đã đến lúc triển khai nó lên mạng Tezos và tương tác với nó. Trong bài học này, chúng tôi sẽ hướng dẫn bạn quy trình triển khai hợp đồng trên mạng thử nghiệm Tezos và chỉ cho bạn cách tương tác với nó bằng giao diện trực tuyến của SmartPy.

Triển khai hợp đồng

  1. Trước tiên, hãy quay lại IDE trực tuyến SmartPy nơi chúng tôi có hợp đồng. Bạn sẽ thấy nút 'Biên dịch' ở đầu trang. Nhấp vào nút này để biên dịch hợp đồng sang Michelson, ngôn ngữ cấp thấp mà chuỗi khối Tezos hiểu được.

  2. Sau khi biên dịch, nút 'Triển khai Hợp đồng Michelson' sẽ xuất hiện ở cuối trang. Bấm vào đây để bắt đầu quá trình triển khai.

  3. Bạn sẽ được đưa đến trang triển khai, nơi bạn có thể chọn mạng để triển khai hợp đồng. Đối với hướng dẫn này, hãy chọn 'Testnet'. Bạn nên luôn kiểm tra các hợp đồng của mình trên mạng thử nghiệm trước khi triển khai chúng trên mạng chính.

  4. Bạn sẽ cần một ví Tezos để thanh toán cho việc triển khai. Nếu bạn không có ví testnet, có một số vòi trực tuyến có sẵn để bạn có thể lấy XTZ testnet cho mục đích này. (truy cập tại đây)

  5. Có rất ít ví mở rộng trình duyệt được hỗ trợ

  6. Sau khi tạo ví Tezos, bạn có thể yêu cầu mã thông báo vòi testnet tại đây kết nối ví của bạn qua trình duyệt.

  7. Khi bạn đã chọn mạng testnet, hãy nhập địa chỉ Tezos testnet và khóa riêng của bạn. Hãy đảm bảo giữ khóa riêng của bạn an toàn và bảo mật! Nhấp vào nút 'Triển khai' để triển khai hợp đồng.

  8. Một hộp thoại sẽ xuất hiện với thông tin về thao tác. Nếu mọi thứ đều chính xác, hãy xác nhận thao tác. Hợp đồng sẽ được triển khai trên mạng thử nghiệm Tezos. Quá trình này có thể mất một vài phút.

  9. Sau khi hợp đồng được triển khai thành công, bạn sẽ nhận được địa chỉ hợp đồng. Lưu địa chỉ này vì bạn sẽ cần nó để tương tác với hợp đồng của mình.

Tương tác với Hợp đồng

  1. Giờ đây, hợp đồng đã được triển khai, bạn có thể tương tác với nó bằng tính năng 'Tương tác hợp đồng' trong SmartPy IDE.

  2. Điều hướng đến trang 'Tương tác hợp đồng' và nhập địa chỉ hợp đồng đã triển khai của bạn.

  3. Giao diện sẽ hiển thị các điểm vào của hợp đồng mà bạn có thể sử dụng để tương tác với hợp đồng.

  4. Để gọi một điểm nhập hợp đồng, hãy nhấp vào tên của nó, điền các tham số cần thiết và nhấp vào 'Thực thi'.

  5. Ví dụ: để đúc mã thông báo mới, hãy chọn điểm nhập 'Đúc', nhập địa chỉ người nhận và số lượng mã thông báo để đúc và nhấp vào 'Thực thi'.

  6. Nếu thao tác thành công, mã thông báo sẽ được đúc và thêm vào số dư của người nhận. Bạn có thể xác minh điều này bằng cách truy vấn số dư địa chỉ của người nhận.
    Hãy nhớ rằng việc tương tác với hợp đồng trên blockchain liên quan đến việc trả phí gas, vì vậy hãy đảm bảo bạn có đủ số dư trong ví của mình.

Tùy chỉnh mã thông báo của bạn

Trong hợp đồng mẫu của chúng tôi, tên mã thông báo được xác định khi chúng tôi bắt đầu kịch bản thử nghiệm trong hàm test() . Nó được bao gồm như một phần của bản đồ token_metadata :

Python 
 token_metadata = {
    "decimals": sp.utils.bytes_of_string("18"),  # Mandatory by the spec
    "name": sp.utils.bytes_of_string("My Great Token"),  # Recommended
    "symbol": sp.utils.bytes_of_string("MGT"),  # Recommended
    # Extra fields
    "icon": sp.utils.bytes_of_string(
        "https://smartpy.io/static/img/logo-only.svg"
    ),
}

Ở đây, “My Great Token” là tên ban đầu của token. Để đặt tên khác cho mã thông báo của bạn, bạn chỉ cần thay thế tên này bằng tên bạn muốn. Ví dụ: nếu chúng tôi muốn đặt tên mã thông báo của mình là “GateLearn”, chúng tôi sẽ sửa đổi mã như sau:

Python 
 token_metadata = {
    "decimals": sp.utils.bytes_of_string("18"),  # Mandatory by the spec
    "name": sp.utils.bytes_of_string("GateLearn"),  # Recommended
    "symbol": sp.utils.bytes_of_string("GL"),  # Recommended
    # Extra fields
    "icon": sp.utils.bytes_of_string(
        "https://smartpy.io/static/img/logo-only.svg"
    ),
}

Bằng cách này, hợp đồng của chúng tôi giờ đây sẽ tạo ra các mã thông báo có tên “GateLearn”. Tên này sẽ được biểu thị dưới dạng chuỗi byte trong hợp đồng và sẽ được hiển thị trong các ứng dụng tương tác với hợp đồng của chúng tôi và hỗ trợ tiêu chuẩn FA1.2. Điều quan trọng cần lưu ý là tên của mã thông báo, cùng với các chi tiết khác có trong bản đồ token_metadata , được đặt khi triển khai hợp đồng. Sau khi hợp đồng được triển khai, bạn không thể thay đổi hợp đồng trừ khi bạn đã triển khai các chức năng trong hợp đồng của mình để cho phép những sửa đổi đó.

Clause de non-responsabilité
* Les investissements en cryptomonnaies comportent des risques importants. Veuillez faire preuve de prudence. Le cours n'est pas destiné à fournir des conseils en investissement.
* Ce cours a été créé par l'auteur qui a rejoint Gate Learn. Toute opinion partagée par l'auteur ne représente pas Gate Learn.
Catalogue
Leçon 5

Triển khai và tương tác với Contract

Chào mừng bạn đến với Bài học 5 của khóa học về token hóa trên Tezos của chúng tôi! Bây giờ chúng tôi đã thiết kế, viết và thử nghiệm FA1.2 của mình hợp đồng mã thông báo, đã đến lúc triển khai nó lên mạng Tezos và tương tác với nó. Trong bài học này, chúng tôi sẽ hướng dẫn bạn quy trình triển khai hợp đồng trên mạng thử nghiệm Tezos và chỉ cho bạn cách tương tác với nó bằng giao diện trực tuyến của SmartPy.

Triển khai hợp đồng

  1. Trước tiên, hãy quay lại IDE trực tuyến SmartPy nơi chúng tôi có hợp đồng. Bạn sẽ thấy nút 'Biên dịch' ở đầu trang. Nhấp vào nút này để biên dịch hợp đồng sang Michelson, ngôn ngữ cấp thấp mà chuỗi khối Tezos hiểu được.

  2. Sau khi biên dịch, nút 'Triển khai Hợp đồng Michelson' sẽ xuất hiện ở cuối trang. Bấm vào đây để bắt đầu quá trình triển khai.

  3. Bạn sẽ được đưa đến trang triển khai, nơi bạn có thể chọn mạng để triển khai hợp đồng. Đối với hướng dẫn này, hãy chọn 'Testnet'. Bạn nên luôn kiểm tra các hợp đồng của mình trên mạng thử nghiệm trước khi triển khai chúng trên mạng chính.

  4. Bạn sẽ cần một ví Tezos để thanh toán cho việc triển khai. Nếu bạn không có ví testnet, có một số vòi trực tuyến có sẵn để bạn có thể lấy XTZ testnet cho mục đích này. (truy cập tại đây)

  5. Có rất ít ví mở rộng trình duyệt được hỗ trợ

  6. Sau khi tạo ví Tezos, bạn có thể yêu cầu mã thông báo vòi testnet tại đây kết nối ví của bạn qua trình duyệt.

  7. Khi bạn đã chọn mạng testnet, hãy nhập địa chỉ Tezos testnet và khóa riêng của bạn. Hãy đảm bảo giữ khóa riêng của bạn an toàn và bảo mật! Nhấp vào nút 'Triển khai' để triển khai hợp đồng.

  8. Một hộp thoại sẽ xuất hiện với thông tin về thao tác. Nếu mọi thứ đều chính xác, hãy xác nhận thao tác. Hợp đồng sẽ được triển khai trên mạng thử nghiệm Tezos. Quá trình này có thể mất một vài phút.

  9. Sau khi hợp đồng được triển khai thành công, bạn sẽ nhận được địa chỉ hợp đồng. Lưu địa chỉ này vì bạn sẽ cần nó để tương tác với hợp đồng của mình.

Tương tác với Hợp đồng

  1. Giờ đây, hợp đồng đã được triển khai, bạn có thể tương tác với nó bằng tính năng 'Tương tác hợp đồng' trong SmartPy IDE.

  2. Điều hướng đến trang 'Tương tác hợp đồng' và nhập địa chỉ hợp đồng đã triển khai của bạn.

  3. Giao diện sẽ hiển thị các điểm vào của hợp đồng mà bạn có thể sử dụng để tương tác với hợp đồng.

  4. Để gọi một điểm nhập hợp đồng, hãy nhấp vào tên của nó, điền các tham số cần thiết và nhấp vào 'Thực thi'.

  5. Ví dụ: để đúc mã thông báo mới, hãy chọn điểm nhập 'Đúc', nhập địa chỉ người nhận và số lượng mã thông báo để đúc và nhấp vào 'Thực thi'.

  6. Nếu thao tác thành công, mã thông báo sẽ được đúc và thêm vào số dư của người nhận. Bạn có thể xác minh điều này bằng cách truy vấn số dư địa chỉ của người nhận.
    Hãy nhớ rằng việc tương tác với hợp đồng trên blockchain liên quan đến việc trả phí gas, vì vậy hãy đảm bảo bạn có đủ số dư trong ví của mình.

Tùy chỉnh mã thông báo của bạn

Trong hợp đồng mẫu của chúng tôi, tên mã thông báo được xác định khi chúng tôi bắt đầu kịch bản thử nghiệm trong hàm test() . Nó được bao gồm như một phần của bản đồ token_metadata :

Python 
 token_metadata = {
    "decimals": sp.utils.bytes_of_string("18"),  # Mandatory by the spec
    "name": sp.utils.bytes_of_string("My Great Token"),  # Recommended
    "symbol": sp.utils.bytes_of_string("MGT"),  # Recommended
    # Extra fields
    "icon": sp.utils.bytes_of_string(
        "https://smartpy.io/static/img/logo-only.svg"
    ),
}

Ở đây, “My Great Token” là tên ban đầu của token. Để đặt tên khác cho mã thông báo của bạn, bạn chỉ cần thay thế tên này bằng tên bạn muốn. Ví dụ: nếu chúng tôi muốn đặt tên mã thông báo của mình là “GateLearn”, chúng tôi sẽ sửa đổi mã như sau:

Python 
 token_metadata = {
    "decimals": sp.utils.bytes_of_string("18"),  # Mandatory by the spec
    "name": sp.utils.bytes_of_string("GateLearn"),  # Recommended
    "symbol": sp.utils.bytes_of_string("GL"),  # Recommended
    # Extra fields
    "icon": sp.utils.bytes_of_string(
        "https://smartpy.io/static/img/logo-only.svg"
    ),
}

Bằng cách này, hợp đồng của chúng tôi giờ đây sẽ tạo ra các mã thông báo có tên “GateLearn”. Tên này sẽ được biểu thị dưới dạng chuỗi byte trong hợp đồng và sẽ được hiển thị trong các ứng dụng tương tác với hợp đồng của chúng tôi và hỗ trợ tiêu chuẩn FA1.2. Điều quan trọng cần lưu ý là tên của mã thông báo, cùng với các chi tiết khác có trong bản đồ token_metadata , được đặt khi triển khai hợp đồng. Sau khi hợp đồng được triển khai, bạn không thể thay đổi hợp đồng trừ khi bạn đã triển khai các chức năng trong hợp đồng của mình để cho phép những sửa đổi đó.

Clause de non-responsabilité
* Les investissements en cryptomonnaies comportent des risques importants. Veuillez faire preuve de prudence. Le cours n'est pas destiné à fournir des conseils en investissement.
* Ce cours a été créé par l'auteur qui a rejoint Gate Learn. Toute opinion partagée par l'auteur ne représente pas Gate Learn.