iT邦幫忙

2022 iThome 鐵人賽

DAY 5
0
Web 3

Smart-Contract Language: Move系列 第 17

Day 17 Advanced Topics: Resource

  • 分享至 

  • xImage
  •  

資源是 Move Whitepaper 中描述的一個概念。最初它是作為自己的類型實現的,但後來,隨著能力的增加,被兩個能力取代:KeyStore

schema

Resource 是一個只有 key 和 store 能力的 struct

module X {
    struct M has key, store {
        field: bool
    }
}

密鑰和儲存能力

在 Move 中,儲存能力有這幾個可以使用 key store 原始類型 ,而其中,key 是一種儲存在頂層的能力,相較 store 則是儲存在 key 下,甚至連原始類型也沒有這種頂層儲存容器。

資源概念

最初資源在 Move 中有自己的類型,但隨著能力的增加,它變成了一個更抽象的概念,可以用 keystore能力來實現。讓我們仍然通過對資源的描述:

  • 資源存儲在帳戶下 - 因此它僅在分配給帳戶時才*存在,*並且只能通過這個賬號訪問。
  • 賬戶只能持有一種資源,且該資源必須具備key能力。
  • 資源不能被複製也不能刪除,但可以儲存。
  • 必須使用資源值。但資源被創建或從帳戶中使用時,他不能被丟棄,且必須被儲存或解構。

本篇介紹了 Resource 概念,下一篇我們將介紹更多範例
讓我們 Move to Day18


上一篇
Day 16 Advanced Topics: Signer
下一篇
Day 18 Advanced Topics: Resource part 2
系列文
Smart-Contract Language: Move30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言