記號分類架構的鷹架式 TypeScript 專案
Blockchain App Builder 會從您的權杖規格檔案進行輸入,並產生功能完整的鷹架式鏈碼專案。
專案會自動產生權杖生命週期類別和函數,包括 CRUD 和非 CRUD 方法。系統會自動支援引數驗證、封送處理 (Marshall) / 取消封送處理 (unmarshal) 以及通透保存功能。
如需結構化專案與與變數替代字無關的方法的相關資訊,請參閱鷹架式 TypeScript 鏈碼專案。
Model
每個記號化模型類別都會擴充 Token 類別,然後再擴充 OchainModel 類別。Token 類別是從 ../lib/token 匯入的。「通透持續性功能 (Transparent Persistence Capability)」或簡化的 ORM 會擷取到 OchainModel 類別中。
import * as yup from 'yup';
import { Id, Mandatory, Validate, ReadOnly } from '../lib/decorators';
import { Token } from '../lib/token';
@Id('token_id')
export class Digicur extends Token<Digicur> {
public readonly assetType = 'otoken';
@Mandatory()
@Validate(yup.string().required().matches(/^[A-Za-z0-9][A-Za-z0-9_-]*$/).max(16))
public token_id: string;
@ReadOnly('digicur')
public token_name: string;
@Validate(yup.string().trim().max(256))
public token_desc: string;
@ReadOnly('fungible')
public token_type: string;
@ReadOnly(["divisible","mintable","transferable","burnable","holdable","roles"])
public behaviors: string[];
@ReadOnly({minter_role_name: "minter", burner_role_name: "burner", notary_role_name: "notary"})
public roles: object;
@ReadOnly({max_mint_quantity: 20000})
public mintable: object;
@ReadOnly({decimal: 1})
public divisible: object;
@Validate(yup.number())
public token_to_currency_ratio: number;
@Validate(yup.string())
public currency_representation: string;
}
控制器
main 控制器類別會擴充 OchainController 類別。只有一個主要控制器。
export class DigiCurrCCController extends OchainController{
您可以建立不限數目的類別、函數或檔案,但只能呼叫在 main Controller 類別中定義的方法。其他方法則會隱藏。
您可以使用記號 SDK 方法,為您的商業應用程式撰寫自訂方法。
自動產生的權杖方法
Blockchain App Builder 會自動產生支援權杖和權杖生命週期的方法。您可以使用這些方法來初始化記號、管理角色和帳戶,以及完成其他記號生命週期工作,而無需進行任何其他編碼。控制器方法必須要有 @Validator(...params) 修飾器才能呼叫。
存取控制管理方法
-
addTokenAdmin - 此方法會將使用者新增為鏈碼的
Token Admin。只有鏈碼的Token Admin才能呼叫此方法。 -
removeTokenAdmin - 此方法會移除使用者作為鏈碼的
Token Admin。只有鏈碼的Token Admin才能呼叫此方法。 -
isTokenAdmin - 如果函數的呼叫程式是
Token Admin,則此方法會傳回布林值true,否則會傳回false。Token Admin或Org Admin可以對區塊鏈網路中的任何其他使用者呼叫此功能。其他使用者只能在自己的帳戶上呼叫此方法。 -
getAllTokenAdmins - 此方法會傳回鏈碼為
Token Admin的所有使用者清單。只有鏈碼的Token Admin或任何Org Admin才能呼叫此方法。 -
addOrgAdmin - 此方法會將使用者新增為組織的
Org Admin。只有鏈碼的Token Admin或指定組織的Org Admin才能呼叫此方法。 -
removeOrgAdmin - 此方法會移除使用者作為組織的
Org Admin。只有鏈碼的Token Admin或指定的組織Org Admin才能呼叫此方法。 -
getOrgAdmins - 此方法會傳回屬於組織
Org Admin的所有使用者清單。只有鏈碼的Token Admin或任何組織的Org Admin才能呼叫此方法。
權杖組態管理方法
-
init - 部署或升級鏈碼時,就會呼叫此方法。每個
Token Admin都是由必要adminList參數中的user_id和org_id資訊所識別。user_id是執行處理擁有者或登入執行處理之使用者的使用者名稱或電子郵件 ID。org_id是目前網路組織中使用者的成員服務提供者 (MSP) ID。 -
initialize<Token Name>Token - 此方法會建立記號並初始化記號特性。資產及其特性會儲存在狀態資料庫中。只有鏈碼的
Token Admin才能呼叫此方法。 -
update<Token Name>Token - 此方法會更新記號特性。記號資產建立後,只能更新
token_desc特性和自訂特性。只有鏈碼的Token Admin才能呼叫此方法。 -
getTokenDecimals - 此方法會傳回針對分數記號設定的小數位數。如果未指定記號的
divisible行為,則預設值為 0。只有鏈碼的Token Admin或Org Admin才能呼叫此方法。 -
getTokenById - 如果某個記號物件存在於狀態資料庫中,這個方法會傳回該物件。只有鏈碼的
Token Admin或Org Admin才能呼叫此方法。 -
getTokenHistory - 此方法會傳回所指定記號 ID 的記號歷史記錄。所有使用者都可以呼叫此方法。
-
getAllTokens - 這個方法會傳回狀態資料庫中儲存的所有記號。只有鏈碼的
Token Admin或Org Admin才能呼叫此方法。此方法使用 Berkeley DB SQL RTF 查詢,而且只能在連線至遠端 Oracle Blockchain Platform 網路時呼叫。 -
getTokensByName - 此方法會傳回具有指定名稱的所有記號物件。只有鏈碼的
Token Admin或Org Admin才能呼叫此方法。此方法使用 Berkeley DB SQL RTF 查詢,而且只能在連線至遠端 Oracle Blockchain Platform 網路時呼叫。
帳戶管理方法
-
createAccount - 這個方法會為指定的使用者與記號建立帳號。必須為任何需要記號的使用者建立帳戶。科目可追蹤餘額、保留餘額及交易歷史記錄。帳戶 ID 是一組英數字元,前面加上
oaccount~<token asset name>~,後面接著執行處理擁有者的使用者名稱或電子郵件 ID (user_id) 雜湊,或登入執行處理的使用者 (目前網路組織中使用者的成員服務提供者 ID (org_id)。只有鏈碼的Token Admin或指定的組織Org Admin才能呼叫此方法。 -
associateTokenToAccount - 此方法會將有趣的記號與帳戶建立關聯。只有鏈碼的
Token Admin或相關組織的Org Admin才能呼叫此方法。 -
getAccount - 此方法會傳回指定使用者和記號的帳戶詳細資訊。只有鏈碼的
Token Admin、指定組織的Org Admin或帳戶的AccountOwner才能呼叫此方法。 -
getAccountHistory - 此方法會傳回指定使用者和權杖的帳戶歷史記錄詳細資訊。只有鏈碼的
Token Admin或帳戶的AccountOwner才能呼叫此方法。 -
getAccountOnHoldBalance - 此方法會傳回指定帳戶與變數替代字的目前保留餘額。只有鏈碼的
Token Admin、指定組織的Org Admin或帳戶的AccountOwner才能呼叫此方法。 -
getAllAccounts - 這個方法會傳回所有帳號的清單。只有鏈碼的
Token Admin才能呼叫此方法。此方法使用 Berkeley DB SQL RTF 查詢,而且只能在連線至遠端 Oracle Blockchain Platform 網路時呼叫。 -
getUserByAccountId - 此方法會傳回指定帳戶的使用者詳細資訊 (
org_id和user_id)。鏈碼的任何使用者都可以呼叫這個方法。 -
getAccountBalance - 此方法會傳回指定帳戶與變數替代字的目前餘額。只有鏈碼的
Token Admin、指定組織的Org Admin或帳戶的AccountOwner才能呼叫此方法。 -
getAllOrgAccounts - 此方法會傳回屬於指定組織的所有記號帳戶清單。只有鏈碼的
Token Admin或指定的組織Org Admin才能呼叫此方法。
角色管理方法
-
addRole - 此方法會新增角色至指定的使用者和記號。只有鏈碼的
Token Admin或同時擁有指定角色的指定組織Org Admin才能呼叫此方法。 -
removeRole - 這個方法會從指定的使用者和記號中移除角色。只有鏈碼的
Token Admin或同時擁有指定角色的指定組織Org Admin才能呼叫此方法。 -
getAccountsByRole - 此方法會傳回指定角色和記號的所有帳戶 ID 清單。只有鏈碼的
Token Admin才能呼叫此方法。 -
getAccountsByUser - 此方法會傳回指定組織 ID 與使用者 ID 之所有帳戶 ID 的清單。只有鏈碼的
Token Admin、指定組織的Org Admin或參數中指定的Account Owner才能呼叫此方法。 -
getUsersByRole - 此方法會傳回指定角色和記號之所有使用者的清單。只有鏈碼的
Token Admin才能呼叫此方法。 -
isInRole - 此方法會傳回布林值,指示使用者和記號是否具有指定的角色。只有鏈碼的
Token Admin、帳戶的AccountOwner或指定組織的Org Admin才能呼叫此方法。 -
getOrgAccountsByRole - 此方法會傳回指定組織中具有指定角色之所有帳戶的相關資訊。只有鏈碼的
Token Admin或指定的組織Org Admin才能呼叫此方法。 -
getOrgUsersByRole - 此方法會傳回指定組織中具有指定角色之所有使用者的相關資訊。只有鏈碼的
Token Admin或指定的組織Org Admin才能呼叫此方法。
交易歷史記錄管理的方式
-
getAccountTransactionHistory - 此方法會傳回指定使用者與變數替代字的帳戶交易歷史記錄明細陣列。只有鏈碼的
Token Admin、指定組織的Org Admin或帳戶的AccountOwner才能呼叫此方法。 -
getAccountTransactionHistoryWithFilters - 此方法會傳回指定使用者與變數替代字的帳戶交易歷史記錄明細陣列。只有鏈碼的
Token Admin、指定組織的Org Admin或帳戶的AccountOwner才能呼叫此方法。只有在連線至遠端 Oracle Blockchain Platform 網路時才能呼叫此方法。 -
getSubTransactionById - 此方法會傳回指定使用者與變數替代字的帳戶交易歷史記錄明細陣列。只有鏈碼的
Token Admin或帳戶的AccountOwner才能呼叫此方法。 -
getSubTransactionsByIdWithFilters - 此方法會傳回指定交易的帳戶子交易歷史記錄明細陣列。
-
getTransactionById - 此方法會傳回
Transaction資產的歷史記錄。 -
deleteHistoricalTransactions - 此方法會從狀態資料庫刪除較舊的交易。
權杖行為管理方法 - 可變行為
-
issueTokens - 這個方法會提示該方法的呼叫程式所擁有的記號。來電者必須具有帳戶與次要角色。可提示的記號數目受規格檔案中
mintable行為的max_mint_quantity特性所限制。如果未指定max_mint_quantity特性,則可以提示不限數目的記號。數量必須在規格檔案中divisible行為的decimal參數所指定的小數值內。只有具備 minter 角色之帳戶的AccountOwner才能呼叫此方法。 -
getTotalMintedTokens - 此方法會傳回指定記號的預期記號總數。只有鏈碼的
Token Admin或任何Org Admin才能呼叫此方法。 -
getNetTokens - 此方法會傳回系統中指定記號可用的記號總數。網路記號總計是記號燒錄後剩餘的記號數量。方程式形式:淨記號 = 總鑄幣記號 - 總燃燒記號。如果沒有燒錄記號,則網路記號的數目會等於總鑄幣的記號。只有鏈碼的
Token Admin或任何Org Admin才能呼叫此方法。
權杖行為管理方法 - 可轉移行為
-
transferTokens - 此方法會將記號從呼叫程式轉移至指定的帳戶。方法的呼叫程式必須要有帳戶。數量必須在規格檔案中
divisible行為的decimal參數所指定的小數值內。只有帳戶的AccountOwner才能呼叫此方法。 -
bulkTransferTokens - 此方法用於將記號從呼叫者帳戶大量轉移到
flow物件中指定的帳戶。數量必須位於此方法之規格 file.The 呼叫程式中divisible行為的decimal參數所指定的小數值內,必須已建立帳戶。只有帳戶的AccountOwner才能呼叫此方法。
權杖行為管理方法 - 可保留行為
-
holdTokens - 此方法使用
to_account_id帳戶代表權杖的擁有者建立保留。已指定公證人帳戶,該帳戶負責完成或解除保留。建立保留時,系統會保留付款人的指定變數替代字餘額。保留完成或解除之前,無法移轉保留餘額。此方法的來電者必須已建立帳戶。只有帳戶的AccountOwner才能呼叫此方法。 -
executeHoldTokens - 這個方法會完成記號的保留。權杖擁有者先前持有的權杖數量會移轉給接收者。如果
quantity值小於實際保留值,則剩餘金額會再次提供給權杖的原始擁有者。只有具有指定作業 ID 之notary角色的AccountOwnerID 才能呼叫此方法。只有公證人才能完成保留。 -
releaseHoldTokens - 此方法會解除保留記號。轉帳未完成,所有保留的權杖都會再次提供給原始擁有者使用。具有
notary角色的AccountOwnerID 可在指定的時間限制內呼叫此方法,或由付款人、受款人或公證人在指定的時間限制之後呼叫。 -
getOnHoldIds - 此方法會傳回指定帳戶之所有持有 ID 的清單。此方法可由鏈碼的
Token Admin、指定組織的Org Admin或帳戶的AccountOwner呼叫。 -
getOnHoldDetailsWithOperationId - 此方法會傳回指定作業 ID 與變數替代字的保留異動明細。任何人都可以呼叫此方法。
-
getOnHoldBalanceWithOperationId - 此方法會傳回指定作業 ID 與變數替代字的保留餘額。任何人都可以呼叫此方法。
記號行為管理方法 - 可燃行為
自訂方式
您可以使用記號 SDK 方法,為您的商業應用程式撰寫自訂方法。
為了避免重複花費,請勿合併在狀態資料庫中相同的索引鍵 - 值組上運作的多個非同步函數。請改用 bulkTransferTokens 方法,以一個方法來進行多個傳輸。
下列範例顯示如何在自訂方法中使用記號 SDK 方法。呼叫 buyTicket 方法時,會將 20 個權杖從來電者的帳戶轉移至賣方的帳戶,並傳回轉接的交易訊息。
@Validator(yup.string(), yup.string(), yup.string(), yup.string(), yup.string())
public async buyTicket(token_id: string, seller_org_id: string, seller_user_id: string) {
const token = await this.getTokenObject(token_id);
/**
* The following method this.Ctx.Account.generateAccountId(token_id, seller_org_id, seller_user_id) generates account id of the seller.
*/
const seller_account_id = await this.Ctx.Account.generateAccountId(token_id, seller_org_id, seller_user_id);
/**
* The following method this.Ctx.Token.transfer(seller_account_id, 20, token) transfers the quantity 20 from caller's
* account & to seller's account.
*/
const transaction = await this.Ctx.Token.transfer(seller_account_id, 20, token);
return transaction;
}
如果您在自訂方法中使用多個記號 SDK 方法,請不要使用會影響狀態資料庫中相同索引鍵 - 值組的方法。下列範例顯示進行多重調動的正確方法:
@Validator(yup.string(), yup.string(), yup.string(), yup.string(), yup.string())
public async sendTokens(token_id: string, user1_org_id: string, user1_user_id: string, user2_org_id: string, user2_user_id: string) {
const token = await this.getTokenObject(token_id);
const user1_account_id = await Account.generateAccountId(token_id, user1_org_id, user1_user_id);
const user2_account_id = await Account.generateAccountId(token_id, user2_org_id, user2_user_id);
await token.transfer(user1_account_id, 20);
await token.transfer(user2_account_id, 30);
}
請改用 bulkTransferTokens 方法,從呼叫者的帳戶轉移到多個帳戶,如以下程式碼片段所示。
bulkTransferTokens(token_id: string, flow: object[])
附註:
如果您在可能影響狀態資料庫中相同索引鍵 - 值組的自訂方法中使用多個記號 SDK 方法,請對記號鏈碼啟用 MVCC 最佳化。如需詳細資訊,請參閱 MVCC Optimization 。權杖 SDK 方法
存取控制管理方法
Token Admin、Org Admin 或 AccountOwner 呼叫。您可以使用此功能來確保只由預期的使用者執行作業。任何未授權的存取都會導致錯誤。若要使用存取控制功能,請從 ../lib/auth 模組匯入 Authorization 類別。import { Authorization } from '../lib/auth';-
addAdmin - 此方法會將使用者新增為權杖鏈碼的
Token Admin。 -
removeAdmin - 此方法會移除使用者作為記號鏈碼的
Token Admin。 -
getAllAdmins - 此方法會傳回記號鏈碼
Token Admin的所有使用者清單。 -
checkAuthorization - 使用此方法將存取控制檢查新增至作業。某些記號方法只能由記號的
Token Admin或AccountOwner執行,或由MultipleAccountOwner針對具有多個帳戶的使用者執行。存取控制對應詳述於../lib/constant.ts檔案中。您可以編輯../lib/constant.ts檔案來修改存取控制。若要使用自己的存取控制或停用存取控制,請從自動產生的控制器方法和自訂方法中移除存取控制碼。export const TOKENACCESS = { ADMIN: { isUserTokenAdmin: ["Admin", "OrgAdmin"], addTokenAdmin: ["Admin"], removeTokenAdmin: ["Admin"], getAllAdmins: ["Admin", "OrgAdmin"], addOrgAdmin: ["Admin", "OrgAdminForOrgId"], removeOrgAdmin: ["Admin", "OrgAdminForOrgId"], getOrgAdmins: ["Admin", "OrgAdmin"], }, TOKEN: { save: ["Admin"], getAllTokens: ["Admin", "OrgAdmin"], get: ["Admin", "OrgAdmin"], update: ["Admin"], getDecimals: ["Admin", "OrgAdmin"], getTokensByName: ["Admin", "OrgAdmin"], addRoleMember: ["Admin", "OrgAdminRoleCheck"], removeRoleMember: ["Admin", "OrgAdminRoleCheck"], isInRole: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getTotalMintedTokens: ["Admin", "OrgAdmin"], getNetTokens: ["Admin", "OrgAdmin"], getTokenHistory: ["Admin", "OrgAdmin"], }, ROLE: { getAccountsByRole: ["Admin"], getOrgAccountsByRole: ["Admin", "OrgAdminForOrgId"], getUsersByRole: ["Admin"], getOrgUsersByRole: ["Admin", "OrgAdminForOrgId"], }, TRANSACTION: { deleteTransactions: ["Admin"], },ACCOUNT: { createAccount: ["Admin", "OrgAdminForOrgId"], associateToken: ["Admin", "OrgAdminForAccountId"], getAllAccounts: ["Admin"], getAllOrgAccounts: ["Admin", "OrgAdminForOrgId"], getAccountsByUser: ["Admin", "OrgAdminForOrgId", "MultipleAccountOwner"], getAccount: ["Admin", "OrgAdminForAccountId", "AccountOwner"], history: ["Admin", "AccountOwner"], getAccountTransactionHistory: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getAccountTransactionHistoryWithFilters: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getSubTransactionsById: ["Admin", "TransactionInvoker"], getSubTransactionsByIdWithFilters: ["Admin", "TransactionInvoker"], getAccountBalance: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getAccountOnHoldBalance: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getOnHoldIds: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getConversionHistory: ["Admin", "OrgAdminForAccountId", "AccountOwner"], }, ACCOUNT_STATUS: { get: ["Admin", "OrgAdminForAccountId", "AccountOwner"], history: ["Admin", "OrgAdminForAccountId", "AccountOwner"], activateAccount: ["Admin", "OrgAdminForOrgId"], suspendAccount: ["Admin", "OrgAdminForOrgId"], deleteAccount: ["Admin", "OrgAdminForOrgId"], }, TOKEN_CONVERSION: { initializeExchangePoolUser: ["Admin"], addConversionRate: ["Admin"], updateConversionRate: ["Admin"], getConversionRate: ["Admin", "OrgAdmin", "AnyAccountOwner"], getConversionRateHistory: ["Admin", "OrgAdmin", "AnyAccountOwner"], tokenConversion: ["Admin", "AnyAccountOwner"], getExchangePoolUser: ["Admin"], }, } -
isUserTokenAdmin - 如果函數的呼叫程式是
Token Admin,此方法會傳回布林值true。否則,方法會傳回false。 -
addOrgAdmin - 此方法會將使用者新增為組織的
Org Admin。 -
removeOrgAdmin - 此方法會移除使用者作為組織的
Org Admin。 -
getOrgAdmins - 此方法會傳回屬於組織
Org Admin的所有使用者清單。
權杖組態管理方法
-
getTokenDecimals - 此方法會傳回小數記號可用的小數位數。如果未指定
divisible行為,則預設值為 0。 -
getAllTokens - 此方法會傳回狀態資料庫中儲存的所有記號資產。此方法使用 Berkeley DB SQL RTF 查詢,而且只能在連線至遠端 Oracle Blockchain Platform 網路時呼叫。
-
getTokensByName - 此方法會傳回具有指定名稱的所有記號資產。此方法使用 Berkeley DB SQL RTF 查詢,而且只能在連線至遠端 Oracle Blockchain Platform 網路時呼叫。
-
get - 如果某個記號物件存在於狀態資料庫中,這個方法會傳回該物件。
-
isTokenType - 此方法指出具有指定 ID 的記號資產是否存在。
-
save - 這個方法會建立一個記號,並將它的特性儲存到狀態資料庫中。
-
update - 此方法會更新記號特性。記號資產建立後,您只會更新
token_desc值及其自訂特性。 -
getByRange - 此方法會在內部呼叫結構
getStateByRange方法。即使分類帳傳回任何具有指定 ID 的資產,此方法仍會將資產轉換成呼叫者資產類型。 -
history - 此方法會傳回指定記號的歷史記錄。
帳戶管理方法
-
getCallerAccountId - 此方法會傳回呼叫程式的帳戶 ID。
-
generateAccountId - 此方法會傳回帳戶 ID,這是一組英數字元,前面加上
oaccount~<token asset name>~,後面接著執行處理擁有者的使用者名稱或電子郵件 ID (user_id) 雜湊,或登入執行處理的使用者、目前網路組織中使用者的成員服務提供者 ID (org_id) 以及唯一記號 ID (token_id)。 -
createAccount - 這個方法會為指定的使用者與記號建立帳號。每個在任何時間點都有權杖的使用者都必須有帳戶。帳戶會追蹤使用者的餘額、保留餘額和交易歷史記錄。帳戶 ID 是一組英數字元,前面加上
oaccount~<token asset name>~,後面接著執行處理擁有者的使用者名稱或電子郵件 ID (user_id) 雜湊,或登入執行處理的使用者 (目前網路組織中使用者的成員服務提供者 ID (org_id)。只有鏈碼的Token Admin或指定的組織Org Admin才能呼叫此方法。 -
associateTokenToAccount - 此方法會將有趣的記號與帳戶建立關聯。只有鏈碼的
Token Admin或相關組織的Org Admin才能呼叫此方法。 -
getAccountWithStatus - 此方法會傳回指定帳戶的帳戶詳細資料,包括帳戶狀態。
-
getAccount - 此方法會傳回指定帳戶的帳戶詳細資料。
-
history - 此方法會傳回指定帳戶的帳戶歷史記錄詳細資料陣列。
-
getAccountOnHoldBalance - 此方法會傳回指定帳戶的保留結餘。
-
getAllAccounts - 這個方法會傳回所有帳號的清單。此方法使用 Berkeley DB SQL RTF 查詢,而且只能在連線至遠端 Oracle Blockchain Platform 網路時呼叫。
-
getUserByAccountId - 此方法會傳回指定帳戶的使用者詳細資料。
-
getAccountBalance - 此方法會傳回指定帳戶的帳戶餘額。
-
getAllOrgAccounts - 此方法會傳回屬於指定組織的所有記號帳戶清單。
角色管理方法
-
addRoleMember - 此方法會新增角色至指定的使用者和記號。
-
removeRoleMember - 這個方法會從指定的使用者和記號中移除角色。
-
getAccountsByRole - 此方法會傳回指定角色和記號的所有帳戶清單。
-
getAccountsByUser - 此方法會傳回指定使用者的所有帳戶 ID 清單。
-
getUsersByRole - 此方法會傳回指定角色和記號之所有使用者的清單。
-
isInRole - 此方法指示使用者和記號是否具有指定的角色。
-
roleCheck - 此方法會檢查提供的帳戶 ID 是否為任何角色的成員。
-
getOrgUsersByRole - 此方法會傳回指定組織中具有指定角色之所有使用者的相關資訊。
-
getOrgAccountsByRole - 此方法會傳回指定組織中具有指定角色之所有帳戶的相關資訊。
交易歷史記錄管理的方式
-
getTransactionById - 此方法會傳回
Transaction資產的歷史記錄。 -
deleteHistoricalTransactions - 此方法會傳回指定帳戶的交易記錄詳細資料陣列。
-
getAccountTransactionHistory - 此方法會傳回指定帳戶的交易記錄詳細資料陣列。
-
getAccountTransactionHistoryWithFilters - 此方法會傳回指定帳戶的交易記錄詳細資料陣列。只有在連線至遠端 Oracle Blockchain Platform 網路時才能呼叫此方法。
-
getSubTransactionHistory - 此方法會傳回指定交易之交易歷史記錄詳細資訊的陣列。
-
getSubTransactionHistoryWithFilters - 此方法會傳回指定異動之子異動歷史記錄明細的陣列。
權杖行為管理
../lib/token 模組匯入 Token 類別。
import { Token } from '../lib/token';權杖行為管理方法 - 可變行為
-
mint - 此方法會提示數量的記號,然後由方法的呼叫程式所擁有。來電者必須具有帳戶與次要角色。數量必須在規格檔案中
divisible行為的decimal參數所指定的小數值內。 -
getTotalMintedTokens - 此方法會傳回所提示的記號總數。
-
getNetTokens - 此方法會傳回系統中可用記號的淨數量。網路記號是記號燒錄後剩餘的記號數量。方程式形式:淨記號 = 總鑄幣記號 - 總燃燒記號。如果沒有燒錄記號,則網路記號的數目會等於總鑄幣的記號。
-
getMaxMintQuantity - 此方法會傳回記號的最大可移動數量。如果未指定
max_mint_quantity行為,則預設值為 0,可提示任意數目的記號。
權杖行為管理方法 - 可轉移行為
-
transfer - 此方法會將記號從交易呼叫程式轉移至
to_account_id帳戶。此方法的呼叫者必須具有帳戶,且數量必須在規格檔案中divisible行為的decimal參數所指定的小數值內。 -
bulkTransfer - 此方法用於將記號從呼叫者帳戶大量轉移到
flow物件中指定的帳戶。此方法的來電者必須已建立帳戶。
權杖行為管理方法 - 可保留行為
-
hold - 此方法使用
to_account_id帳戶代表權杖的擁有者建立保留。已指定公證人帳戶,該帳戶負責完成或解除保留。建立保留時,系統會保留付款人的指定變數替代字餘額。保留完成或解除之前,無法移轉保留餘額。此方法的來電者必須已建立帳戶。 -
executeHold - 此方法會完成記號的保留,將先前保留的指定記號數量轉移給接收者。如果
quantity值小於實際保留值,則剩餘金額會再次提供給權杖的原始擁有者。只有具有指定作業 ID 之notary角色的AccountOwnerID 才能呼叫此方法。只有公證人才能完成保留。 -
releaseHold - 此方法會解除保留記號。轉帳未完成,所有保留的權杖都會再次提供給原始擁有者使用。具有
notary角色的AccountOwnerID 可在指定的時間限制內呼叫此方法,或由付款人、受款人或公證人在指定的時間限制之後呼叫。 -
getOnHoldIds - 此方法會傳回指定帳戶之所有持有 ID 的清單。
-
getOnHoldDetailsWithOperationId - 此方法會傳回指定作業 ID 與變數替代字的保留異動明細。
-
getOnHoldBalanceWithOperationId - 此方法會傳回指定作業 ID 與變數替代字的保留餘額。任何人都可以呼叫此方法。
記號行為管理方法 - 可燃行為