レッスン3

Hiểu hợp đồng FA1.2

Chào mừng bạn đến với bài học thứ ba của khóa học token hóa của chúng tôi. Sau khi triển khai hợp đồng mã thông báo đầy đủ, hãy chia nhỏ mã hợp đồng và hiểu các yếu tố khác nhau. Bài học này nhằm mục đích giúp bạn hiểu sâu sắc về cách xây dựng hợp đồng mã thông báo FA1.2.

1. Hợp đồng quản trị

Lớp hợp đồng Admin trong hợp đồng mã thông báo của chúng tôi chịu trách nhiệm xác định các đặc quyền quản trị. Nó bao gồm một điểm vào duy nhất: setAdministrator. Điểm vào này cho phép quản trị viên hiện tại chỉ định quản trị viên mới.

Lớp Python 
 Quản trị viên(sp.Contract): 
 def __init__(self, quản trị viên): 
 self.init(administrator=administrator)

    @sp.entrypointdef setAdministrator(self, params): 
 sp.verify(sp.sender == self.data.administrator)
        self.data.administrator = thông số

Hàm setAdministrator xác minh rằng chỉ quản trị viên hiện tại mới có thể thực thi chức năng này. Nếu xác minh không thành công, hoạt động sẽ bị từ chối. Nếu vượt qua, chức năng sẽ tiến hành chỉ định quản trị viên mới.

2. Tạm dừng hợp đồng

Lớp hợp đồng Pause cung cấp cơ chế để tạm dừng và hủy tạm dừng các hoạt động hợp đồng. Nó bao gồm một điểm vào setPause có thể thay đổi trạng thái tạm dừng của hợp đồng.

Lớp Python 
 Tạm dừng(sp.Contract): 
 def __init__(self): 
 self.init(paused=False)

    @sp.entrypointdef setPause(self, params): 
 sp.verify(sp.sender == self.data.administrator)
        self.data.paused = thông số

Hàm setPause trước tiên kiểm tra xem thao tác đó có được quản trị viên thực hiện hay không. Nếu kiểm tra thành công, nó sẽ cập nhật trạng thái tạm dừng của hợp đồng.

3. Hợp đồng đúc tiền

Lớp hợp đồng Mint cho phép tăng nguồn cung cấp mã thông báo. Nó đi kèm với một điểm vào mint giúp tăng tổng nguồn cung và cập nhật số dư của một địa chỉ cụ thể.

Python 
 lớp Mint(sp.Contract): 
 @sp.entrypointdef mint(self, params): 
 sp.verify(sp.sender == self.data.administrator)
        self.data.total_supply += params.value 
 self.data.balances[params.address].balance += params.value

Hàm mint trước tiên xác minh rằng người gửi là quản trị viên. Sau đó, nó làm tăng tổng nguồn cung và số dư của địa chỉ được chỉ định.

4. Hợp đồng đốt

Lớp hợp đồng Burn dùng để giảm nguồn cung cấp token. Nó có điểm vào lệnh burn làm giảm tổng nguồn cung và số dư của một địa chỉ cụ thể.

Python 
 lớp Burn(sp.Contract): 
 @sp.entrypointdef burn(self, params): 
 sp.verify(sp.sender == self.data.administrator)
        self.data.total_supply -= params.value 
 self.data.balances[params.address].balance -= params.value

Chức năng burn hoạt động tương tự như chức năng mint nhưng thay vào đó làm giảm tổng nguồn cung và số dư của địa chỉ được chỉ định.

Với đoạn code sau Admin burn Bob token

Python 
 sc.h2("Quản trị viên đốt mã thông báo Bob") 
 c1.burn(address=bob.address, value=1).run(sender=admin)

5. Hợp đồng thay đổi siêu dữ liệu

Lớp hợp đồng ChangeMetadata dùng để cập nhật siêu dữ liệu của hợp đồng. Nó bao gồm hàm update_metadata cập nhật cặp khóa-giá trị trong siêu dữ liệu.

Lớp Python 
 ChangeMetadata(sp.Contract): 
 @sp.entrypointdef update_metadata(self, key, value): 
 sp.verify(sp.sender == self.data.administrator)
        self.data.metadata[key] = giá trị

Hàm update_metadata , tương tự như các hàm trước đó, xác minh rằng người gửi là quản trị viên. Sau đó, nó cập nhật cặp khóa-giá trị được chỉ định trong siêu dữ liệu.

Trong bài học tiếp theo, chúng ta sẽ đi sâu vào hợp đồng cuối cùng bao gồm tất cả các chức năng này, Fa1_2TestFull. Chúng ta sẽ tìm hiểu về cách hợp đồng này kế thừa từ tất cả các lớp mà chúng ta đã thảo luận hôm nay và cách tất cả chúng đóng góp vào chức năng của mã thông báo. Giữ nguyên!

免責事項
* 暗号資産投資には重大なリスクが伴います。注意して進めてください。このコースは投資アドバイスを目的としたものではありません。
※ このコースはGate Learnに参加しているメンバーが作成したものです。作成者が共有した意見はGate Learnを代表するものではありません。
カタログ
レッスン3

Hiểu hợp đồng FA1.2

Chào mừng bạn đến với bài học thứ ba của khóa học token hóa của chúng tôi. Sau khi triển khai hợp đồng mã thông báo đầy đủ, hãy chia nhỏ mã hợp đồng và hiểu các yếu tố khác nhau. Bài học này nhằm mục đích giúp bạn hiểu sâu sắc về cách xây dựng hợp đồng mã thông báo FA1.2.

1. Hợp đồng quản trị

Lớp hợp đồng Admin trong hợp đồng mã thông báo của chúng tôi chịu trách nhiệm xác định các đặc quyền quản trị. Nó bao gồm một điểm vào duy nhất: setAdministrator. Điểm vào này cho phép quản trị viên hiện tại chỉ định quản trị viên mới.

Lớp Python 
 Quản trị viên(sp.Contract): 
 def __init__(self, quản trị viên): 
 self.init(administrator=administrator)

    @sp.entrypointdef setAdministrator(self, params): 
 sp.verify(sp.sender == self.data.administrator)
        self.data.administrator = thông số

Hàm setAdministrator xác minh rằng chỉ quản trị viên hiện tại mới có thể thực thi chức năng này. Nếu xác minh không thành công, hoạt động sẽ bị từ chối. Nếu vượt qua, chức năng sẽ tiến hành chỉ định quản trị viên mới.

2. Tạm dừng hợp đồng

Lớp hợp đồng Pause cung cấp cơ chế để tạm dừng và hủy tạm dừng các hoạt động hợp đồng. Nó bao gồm một điểm vào setPause có thể thay đổi trạng thái tạm dừng của hợp đồng.

Lớp Python 
 Tạm dừng(sp.Contract): 
 def __init__(self): 
 self.init(paused=False)

    @sp.entrypointdef setPause(self, params): 
 sp.verify(sp.sender == self.data.administrator)
        self.data.paused = thông số

Hàm setPause trước tiên kiểm tra xem thao tác đó có được quản trị viên thực hiện hay không. Nếu kiểm tra thành công, nó sẽ cập nhật trạng thái tạm dừng của hợp đồng.

3. Hợp đồng đúc tiền

Lớp hợp đồng Mint cho phép tăng nguồn cung cấp mã thông báo. Nó đi kèm với một điểm vào mint giúp tăng tổng nguồn cung và cập nhật số dư của một địa chỉ cụ thể.

Python 
 lớp Mint(sp.Contract): 
 @sp.entrypointdef mint(self, params): 
 sp.verify(sp.sender == self.data.administrator)
        self.data.total_supply += params.value 
 self.data.balances[params.address].balance += params.value

Hàm mint trước tiên xác minh rằng người gửi là quản trị viên. Sau đó, nó làm tăng tổng nguồn cung và số dư của địa chỉ được chỉ định.

4. Hợp đồng đốt

Lớp hợp đồng Burn dùng để giảm nguồn cung cấp token. Nó có điểm vào lệnh burn làm giảm tổng nguồn cung và số dư của một địa chỉ cụ thể.

Python 
 lớp Burn(sp.Contract): 
 @sp.entrypointdef burn(self, params): 
 sp.verify(sp.sender == self.data.administrator)
        self.data.total_supply -= params.value 
 self.data.balances[params.address].balance -= params.value

Chức năng burn hoạt động tương tự như chức năng mint nhưng thay vào đó làm giảm tổng nguồn cung và số dư của địa chỉ được chỉ định.

Với đoạn code sau Admin burn Bob token

Python 
 sc.h2("Quản trị viên đốt mã thông báo Bob") 
 c1.burn(address=bob.address, value=1).run(sender=admin)

5. Hợp đồng thay đổi siêu dữ liệu

Lớp hợp đồng ChangeMetadata dùng để cập nhật siêu dữ liệu của hợp đồng. Nó bao gồm hàm update_metadata cập nhật cặp khóa-giá trị trong siêu dữ liệu.

Lớp Python 
 ChangeMetadata(sp.Contract): 
 @sp.entrypointdef update_metadata(self, key, value): 
 sp.verify(sp.sender == self.data.administrator)
        self.data.metadata[key] = giá trị

Hàm update_metadata , tương tự như các hàm trước đó, xác minh rằng người gửi là quản trị viên. Sau đó, nó cập nhật cặp khóa-giá trị được chỉ định trong siêu dữ liệu.

Trong bài học tiếp theo, chúng ta sẽ đi sâu vào hợp đồng cuối cùng bao gồm tất cả các chức năng này, Fa1_2TestFull. Chúng ta sẽ tìm hiểu về cách hợp đồng này kế thừa từ tất cả các lớp mà chúng ta đã thảo luận hôm nay và cách tất cả chúng đóng góp vào chức năng của mã thông báo. Giữ nguyên!

免責事項
* 暗号資産投資には重大なリスクが伴います。注意して進めてください。このコースは投資アドバイスを目的としたものではありません。
※ このコースはGate Learnに参加しているメンバーが作成したものです。作成者が共有した意見はGate Learnを代表するものではありません。