ERC-1155 權杖化流程

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

建置記號專案時,傳遞至初始化方法的清單中的使用者會成為鏈碼的記號管理員。部署後,建立權杖和完成生命週期作業的一般流程如下:

權杖管理員作業:

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

權杖擁有者作業:

  • 具有特定權杖之次要角色的使用者可以建立 (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 管理員 傳回指定角色和記號的使用者清單
可變行為 mintBatch MintBatch 具有次要角色的使用者 Mints 多重記號
可轉讓行為 batchTransferFrom BatchTransferFrom 任何使用者 使用者之間的移轉權杖
safeBatchTransferFrom SafeBatchTransferFrom 任何使用者 在方法呼叫程式與其他使用者之間傳輸記號
balanceOfBatch BalanceOfBatch 管理 / 帳戶擁有者 傳回多個使用者與權杖的權杖帳戶餘額
exchangeToken ExchangeToken 帳戶擁有者 權杖帳戶之間的權杖交換
可燒錄行為 burnBatch BurnBatch 具有燒錄角色的使用者 燃燒記號
單詞管理 create<Token Name>Token Create<Token Name>Token 管理員 (可套用的權杖) / 具備次要角色的使用者 (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 管理員 傳回指定記號的小數位數