ERC-1155 權杖化流程

部署 ERC-1155 權杖專案之後,權杖管理員和權杖擁有者會遵循建立權杖和完成生命週期作業的一般流程。

當您部署記號專案時,傳送至初始化方法之清單中的使用者會成為鏈碼的記號管理員。部署之後,建立記號和完成生命週期作業的一般流程會遵循下列步驟:

記號管理員作業:

  • 為任何會擁有記號或完成記號相關作業的使用者建立使用者帳戶。
  • 為每個使用者帳戶建立記號帳戶。使用者可以有多個有趣的記號帳戶,但只有一個非可行的記號 (NFT) 帳戶。記號管理員可以使用 createAccount 方法同時建立使用者和記號帳戶,而不是個別建立。
  • 視需要建立有趣的記號。當您起始有趣的記號時,可以指派關聯的描述資料和行為給記號。
  • 對於有趣的記號,請將使用者有趣的記號帳戶與特定有趣的記號建立關聯。
  • 視需要將 minter 與 burner 角色加入使用者的 Token 帳號。

記號擁有者作業:

  • 具有特定記號之 minter 角色的使用者可以建立 (mint) NFT 或有趣的記號。
  • 使用者可以在帳戶之間移轉變數替代字,並檢查帳戶餘額。
  • 具有特定記號之燃燒器角色的使用者可以銷毀 (燒毀) NFT 或有趣的記號。

保存庫管理程式作業:

  • 具有 Vault 角色的使用者可以鎖定 NFT。鎖定的 NFT 無法燒錄或傳輸給其他使用者。

下圖顯示 ERC-1155 代碼化案例的整體處理流程。
ERC-1155 代碼化案例的處理流程

下表摘要了鷹架 ERC-1155 記號專案時自動產生的方法。

方法類別 自動產生方法 (TypeScript) 自動產生方式 (執行) 呼叫者 描述
管理員管理 init Init 管理員 起始權杖鏈碼
isTokenAdmin IsTokenAdmin 管理員 如果來電者是管理員,則傳回 True
addTokenAdmin AddTokenAdmin 管理員 新增管理員
removeTokenAdmin RemoveTokenAdmin 管理員 移除管理員
getAllTokenAdmins GetAllTokenAdmins 管理員 傳回所有管理員
帳戶管理 createAccount CreateAccount 管理員 建立使用者帳戶和權杖帳戶
createUserAccount CreateUserAccount 管理員 建立使用者帳戶
createTokenAccount CreateTokenAccount 管理員 建立記號帳戶
associateFungibleTokenAccount AssociateFungibleTokenAccount 管理員 將有趣的記號帳戶與有趣的記號建立關聯
getAccountHistory GetAccountHistory 管理 / 帳戶擁有者 傳回權杖帳戶的歷史記錄
getAccountTransactionHistory GetAccountTransactionHistory 管理 / 帳戶擁有者 傳回科目的交易歷史記錄
getAccount GetAccount 管理 / 帳戶擁有者 傳回權杖帳戶的詳細資訊
getAllAccounts GetAllAccounts 管理員 傳回所有使用者帳戶的詳細資訊
getAccountDetailsByUser GetAccountDetailsByUser 管理 / 帳戶擁有者 傳回使用者帳戶與所有相關聯變數替代字的明細
getUserByAccountId GetUserByAccountId 任何使用者 傳回帳戶 ID 的使用者明細
角色管理 addRole AddRole 管理員 新增角色至使用者和權杖
isInRole IsInRole 管理 / 帳戶擁有者 傳回使用者是否具有權杖的指定角色
removeRole RemoveRole 管理員 移除使用者和權杖的角色
getAccountsByRole GetAccountsByRole 管理員 傳回指定角色和記號的帳戶 ID
getUsersByRole GetUsersByRole 管理員 傳回指定角色和記號的使用者清單
Mintable 行為 mintBatch MintBatch 具有 minter 角色的使用者 薄荷多重記號
可轉讓行為 batchTransferFrom BatchTransferFrom 任何使用者 在使用者之間傳輸權杖
safeBatchTransferFrom SafeBatchTransferFrom 任何使用者 在方法呼叫程式與其他使用者之間傳輸記號
balanceOfBatch BalanceOfBatch 管理 / 帳戶擁有者 傳回多個使用者與變數替代字的變數替代字科目餘額
exchangeToken ExchangeToken 帳戶擁有者 在記號帳戶之間交換記號
可燃行為 burnBatch BurnBatch 具有燒錄機角色的使用者 燒錄記號
權杖管理 create<Token Name>Token Create<Token Name>Token 管理 (有趣的記號) / 具有 minter 角色的使用者 (NFT) 建立權杖
update<Token Name>Token Update<Token Name>Token 管理 (可行的記號) / 記號擁有者 (NFT) 更新記號
getTokenHistory GetTokenHistory 任何使用者 傳回記號的歷史記錄
getTransactionById GetTransactionById 任何使用者 傳回指定交易的明細
deleteHistoricalTransactions DeleteHistoricalTransactions 管理員 刪除指定時間之前的交易
getAllTokens GetAllTokens 管理員 傳回所有權杖資產
getTokenById GetTokenById 管理 / 權杖擁有者 傳回記號
getAllTokensByUser GetAllTokensByUser 管理 / 帳戶擁有者 傳回指定使用者擁有的所有記號
ownerOf OwnerOf 任何使用者 傳回指定權杖之擁有者的使用者詳細資訊
URI URI 任何使用者 傳回指定記號的 URI
name Name 任何使用者 傳回指定記號的名稱
totalSupply TotalSupply 管理員 傳回指定記號的提示記號數目
totalNetSupply TotalNetSupply 管理員 傳回指定記號的提示記號數目減去燒錄的記號數目
getTokensByName getTokensByName 管理員 傳回指定權杖名稱的所有權杖資產
getTokenDecimal getTokenDecimal 管理員 傳回指定記號的小數位數