變數替代字分類架構的鷹架式 Go 專案
Blockchain App Builder 會從您的權杖規格檔案進行輸入,並產生功能完整的鷹架式鏈碼專案。
專案會自動產生權杖生命週期類別和函數,包括 CRUD 和非 CRUD 方法。自動支援引數、封送處理 (Marshalling/unmarshalling) 及透明保存功能。
如需鷹架式專案和方法與記號無關的資訊,請參閱 Scaffolded Go Chaincode Project 。
Model
「通透持續性功能」或簡化的 ORM 會擷取在 OchainModel
類別中。
package src
type Digicur struct {
AssetType string `json:"AssetType" final:"otoken"`
Token_id string `json:"Token_id" id:"true" mandatory:"true" validate:"regexp=^[A-Za-z0-9][A-Za-z0-9_-]*$,max=16"`
Token_name string `json:"Token_name" final:"digicur"`
Token_desc string `json:"Token_desc" validate:"max=256"`
Token_type string `json:"Token_type" final:"fungible" validate:"regexp=^fungible$"`
Behavior []string `json:"Behavior" final:"[\"divisible\",\"mintable\",\"transferable\",\"burnable\",\"holdable\",\"roles\"]"`
Roles map[string]interface{} `json:"Roles" final:"{\"minter_role_name\":\"minter\",\"burner_role_name\":\"burner\",\"notary_role_name\":\"notary\"}"`
Mintable map[string]interface{} `json:"Mintable" final:"{\"Max_mint_quantity\":20000}"`
Divisible map[string]interface{} `json:"Divisible" final:"{\"Decimal\":1}"`
Token_to_currency_ratio int `json:"Token_to_currency_ratio" validate:"int"`
Currency_representation string `json:"Currency_representation" validate:"string"`
Metadata interface{} `json:"Metadata,omitempty"`
}
控制器
只有一個主要控制器。
type Controller struct {
Ctx trxcontext.TrxContext
}
您可以建立任意數量的類別、函數或檔案,但只有在主要控制器類別中定義的方法才能進行呼叫。其他方法為隱藏。
您可以使用記號 SDK 方法,為您的商業應用程式撰寫自訂方法。
如果您在自訂方法中使用多個記號 SDK 方法,請勿使用會影響狀態資料庫中相同索引鍵 - 值組的方法。
請改用 BulkTransferTokens
方法,從來電者的帳戶轉移至多個帳戶,如下列程式碼片段所示。
BulkTransferTokens(token_id string, flow: []map[string]interface{})
附註:
如果您在可能影響狀態資料庫中相同索引鍵 - 值組的自訂方法中使用多個權杖 SDK 方法,請啟用權杖鏈碼的 MVCC 最佳化。如需詳細資訊,請參閱 MVCC Optimization 。自動產生的權杖方法
Blockchain App Builder 會自動產生支援權杖和權杖生命週期的方法。您可以使用這些方法來初始化記號、管理角色和帳戶,以及完成其他記號生命週期工作,而無需進行任何其他編碼。控制器方法必須是公用才能呼叫。公用方法名稱開頭為大寫字元。開頭為小寫字元的方法名稱是私密的。
存取控制管理的方法
-
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
才能呼叫此方法。 -
GetTokensByName
- 此方法會傳回具有指定名稱的所有記號物件。只有鏈碼的
Token Admin
或Org Admin
才能呼叫此方法。此方法使用 Berkeley DB SQL Rich Query,而且只有在連線至遠端 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 Rich Query,而且只有在連線至遠端 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
或參數中指定的Account Owner
才能呼叫此方法。 -
IsInRole
- 此方法會傳回布林值,指示使用者和記號是否具有指定的角色。只有鏈碼的
Token Admin
、指定組織的Org Admin
或帳戶的AccountOwner
才能呼叫此方法。 -
GetOrgUsersByRole
- 此方法會傳回指定組織中具有指定角色之所有使用者的相關資訊。只有鏈碼的
Token Admin
或指定組織的Org Admin
才能呼叫此方法。 -
GetOrgAccountsByRole
- 此方法會傳回指定組織中具有指定角色之所有帳戶的相關資訊。只有鏈碼的
Token Admin
或指定組織的Org Admin
才能呼叫此方法。
交易歷史記錄管理的方法
-
GetAccountTransactionHistory
- 此方法會傳回指定使用者和記號的帳戶交易歷史記錄明細陣列。只有鏈碼的
Token Admin
、指定組織的Org Admin
或帳戶的AccountOwner
才能呼叫此方法。 -
GetAccountTransactionHistoryWithFilters
- 此方法會傳回指定使用者和記號的帳戶交易歷史記錄明細陣列。只有鏈碼的
Token Admin
、指定組織的Org Admin
或帳戶的AccountOwner
才能呼叫此方法。此方法只能在連線至遠端 Oracle Blockchain Platform 網路時呼叫。 -
GetSubTransactionsById
- 此方法會傳回指定交易的子交易歷史記錄明細陣列。
-
GetSubTransactionsByIdWithFilters
- 此方法會傳回指定交易的子交易歷史記錄明細陣列。
-
GetTransactionById
- 此方法會傳回
Transaction
資產的歷史記錄。 -
DeleteHistoricalTransactions
- 此方法會從狀態資料庫中刪除較舊的交易。
記號行為管理的方法 - 易懂的行為
-
IssueTokens
- 這個方法會提示記號,然後由方法的呼叫程式所擁有。呼叫者必須具有客戶與 minter 角色。可提示的記號數目受規格檔案中
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
值小於實際保留值,則剩餘金額會再提供給記號的原始擁有者使用。只有具備notary
角色的AccountOwner
ID 才能呼叫此方法。保留只能由公證人完成。 -
ReleaseHoldTokens
- 此方法會解除保留記號。移轉未完成,所有保留的變數替代字都可再供原始擁有者使用。
Account Owner
ID 可在指定的時間限制內以notary
角色呼叫此方法,或在指定的時間限制之後由付款人、受款人或公證人呼叫此方法。 -
GetOnHoldIds
- 此方法會傳回指定帳戶之所有持有 ID 的清單。鏈碼的
Token Admin
、指定組織的Org Admin
或帳戶的Account Owner
可以呼叫此方法。 -
GetOnHoldDetailsWithOperationId
- 此方法會傳回指定作業 ID 和記號的保留交易詳細資訊。任何人都可以呼叫這個方法。
-
GetOnHoldBalanceWithOperationId
- 此方法會傳回指定作業 ID 和記號的保留餘額。任何人都可以呼叫這個方法。
權杖行為管理方法 - 可燒錄行為
自訂方法
您可以使用記號 SDK 方法,為您的商業應用程式撰寫自訂方法。
使用記號 SDK 方法時,請務必追蹤傳回值。此外,為避免雙倍支出,請勿結合在狀態資料庫中相同索引鍵 - 值組上運作的多個非同步函數。請改用 BulkTransferTokens
方法,以一種方法進行多重傳輸。
下列範例顯示如何在自訂方法中使用 token SDK 方法。呼叫 BuyTicket
方法時,會將 20 個記號從來電者的帳戶轉移至賣方帳戶,並傳回轉帳的交易訊息。
func (t *Controller) BuyTicket(TokenId string, SellerOrgId string, SellerUserId string) (interface{}, error){
token, err := t.Ctx.Token.Get(TokenId)
if err != nil {
return nil, err
}
/**
* The following method t.Ctx.Account.GenerateAccountId(TokenId, SellerOrgId, SellerUserId) generates account id of the seller
*/
sellerAccountId, err := t.Ctx.Account.GenerateAccountId(TokenId, SellerOrgId, SellerUserId)
if err != nil {
return nil, err
}
/**
* The following method t.Ctx.Token.Transfer(sellerAccountId, 20, token) transfers the quantity 20 from caller's
* account & to seller's account.
*/
transaction, err := t.Ctx.Token.Transfer(sellerAccountId, 20, token)
if err != nil {
return nil, err
}
return transaction, nil
}
權杖 SDK 方法
存取控制管理的方法
Token Admin
、Org Admin
或 AccountOwner
呼叫。您可以使用此功能來確保只有預期的使用者才執行作業。任何未授權的存取都會導致錯誤。若要使用存取控制功能,請從 ../lib/auth
模組匯入 Authorization
類別。import { Authorization } from '../lib/auth';
-
AddAdmin
- 此方法會將使用者新增為記號鏈碼的
Token Admin
。 -
RemoveAdmin
- 此方法會將使用者移除為記號鏈碼的
Token Admin
。 -
GetAllAdmins
- 此方法會傳回屬於記號鏈碼之
Token Admin
的所有使用者清單。 -
GetAllAdminUsers
- 此方法會傳回屬於記號鏈碼之
Token Admin
的所有使用者清單。 -
CheckAuthorization
- 使用此方法將存取控制新增至您的鏈碼。許多自動產生的記號方法都使用存取控制。
oChainUtil.go
檔案說明 SDK 接收器與具有存取控制方法之間的對應。若要使用自己的存取控制或停用存取控制,請從自動產生的控制器方法和自訂方法中移除存取控制程式碼。var t TokenAccess var r RoleAccess var a AccountAccess var as AccountStatusAccess var h HoldAccess var ad AdminAccess var trx TransactionAccess var tc TokenConversionAccess var auth AuthAccess auth.IsTokenAdmin = []string{"Admin", "MultipleAccountOwner"} trx.DeleteHistoricalTransactions = []string{"Admin"} ad.AddAdmin = []string{"Admin"} ad.RemoveAdmin = []string{"Admin"} ad.GetAllAdmins = []string{"Admin", "OrgAdmin"} ad.AddOrgAdmin = []string{"Admin", "OrgAdminOrgIdCheck"} ad.RemoveOrgAdmin = []string{"Admin", "OrgAdminOrgIdCheck"} ad.GetOrgAdmins = []string{"Admin", "OrgAdmin"} ad.IsTokenAdmin = []string{"Admin", "MultipleAccountOwner", "OrgAdmin"} t.Save = []string{"Admin"} t.GetAllTokens = []string{"Admin", "OrgAdmin"} t.Update = []string{"Admin"} t.GetTokenDecimals = []string{"Admin", "OrgAdmin"} t.GetTokensByName = []string{"Admin", "OrgAdmin"} t.AddRoleMember = []string{"Admin", "OrgAdminRoleCheck"} t.RemoveRoleMember = []string{"Admin", "OrgAdminRoleCheck"} t.IsInRole = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} t.GetTotalMintedTokens = []string{"Admin", "OrgAdmin"} t.GetNetTokens = []string{"Admin", "OrgAdmin"} t.Get = []string{"Admin", "OrgAdmin"} t.GetTokenHistory = []string{"Admin", "OrgAdmin"} a.CreateAccount = []string{"Admin", "OrgAdminOrgIdCheck"} a.AssociateToken = []string{"Admin", "OrgAdminAccountIdCheck"} a.GetAllAccounts = []string{"Admin"} a.GetAllOrgAccounts = []string{"Admin", "OrgAdminOrgIdCheck"} a.GetAccount = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.History = []string{"Admin", "AccountOwner"} a.GetAccountTransactionHistory = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetAccountTransactionHistoryWithFilters = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetSubTransactionsById = []string{"Admin", "TransactionInvoker"} a.GetSubTransactionsByIdWithFilters = []string{"Admin", "TransactionInvoker"} a.GetAccountBalance = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetAccountOnHoldBalance = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetOnHoldIds = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetAccountsByUser = []string{"Admin", "OrgAdminOrgIdCheck", "MultipleAccountOwner"} as.Get = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} as.ActivateAccount = []string{"Admin", "OrgAdminOrgIdCheck"} as.SuspendAccount = []string{"Admin", "OrgAdminOrgIdCheck"} as.DeleteAccount = []string{"Admin", "OrgAdminOrgIdCheck"} r.GetAccountsByRole = []string{"Admin"} r.GetUsersByRole = []string{"Admin"} r.GetOrgAccountsByRole = []string{"Admin", "OrgAdminOrgIdCheck"} r.GetOrgUsersByRole = []string{"Admin", "OrgAdminOrgIdCheck"} tc.InitializeExchangePoolUser = []string{"Admin"} tc.AddConversionRate = []string{"Admin"} tc.UpdateConversionRate = []string{"Admin"} tc.GetConversionRate = []string{"Admin", "OrgAdmin", "AnyAccountOwner"} tc.GetConversionRateHistory = []string{"Admin", "OrgAdmin", "AnyAccountOwner"} tc.TokenConversion = []string{"Admin", "AnyAccountOwner"} tc.GetExchangePoolUser = []string{"Admin"}
-
IsUserTokenAdmin
- 如果函數的呼叫程式是
Token Admin
,此方法會傳回布林值true
。否則,該方法會傳回false
。 -
AddOrgAdmin
- 此方法會將使用者新增為組織的
Org Admin
。 -
RemoveOrgAdmin
- 此方法會將使用者移除為組織的
Org Admin
。 -
GetOrgAdmins
- 此方法會傳回組織
Org Admin
的所有使用者清單。
權杖組態管理方法
-
GetTokenDecimals
- 此方法會傳回分數記號可用的小數位數。如果未指定
divisible
行為,則預設值為 0。 -
GetAllTokens
- 此方法會傳回儲存在狀態資料庫中的所有記號資產。此方法使用 Berkeley DB SQL Rich Query,而且只有在連線至遠端 Oracle Blockchain Platform 網路時才能呼叫。
-
GetTokensByName
- 此方法會傳回指定名稱的所有權杖資產。此方法使用 Berkeley DB SQL Rich Query,而且只有在連線至遠端 Oracle Blockchain Platform 網路時才能呼叫。
-
Get
- 此方法會傳回狀態資料庫中存在的記號物件。只有記號鏈碼的
Token Admin
才能呼叫此方法。 -
IsTokenType
- 此方法會測試指定的記號 ID 是否有記號資產。
-
Save
- 此方法會建立記號並將其特性儲存在狀態資料庫中。
-
Update
- 此方法會更新記號特性。建立記號資產之後,您只能更新
token_desc
值及其自訂特性。 -
GetByRange
- 此方法會在內部呼叫結構
getStateByRange
方法。即使從分類帳傳回任何具有指定 ID 的資產,此方法會將資產轉換為來電者資產類型。 -
History
- 此方法會傳回指定記號 ID 的記號歷史記錄。
帳戶管理方法
-
GenerateAccountId
- 此方法會傳回帳戶 ID,此 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
呼叫。 -
AssociateToken
- 此方法會將有趣的記號與帳戶建立關聯。此方法只能由鏈碼的
Token Admin
呼叫。 -
GetAccountWithStatus
- 此方法會傳回指定帳戶的帳戶詳細資訊,包括帳戶狀態。
-
GetAccount
- 此方法會傳回指定帳戶的帳戶詳細資訊。
-
GetAccountHistory
- 此方法會傳回指定帳戶之帳戶歷史記錄明細的陣列。
-
GetAccountOnHoldBalance
- 此方法會傳回指定科目的保留餘額。
-
GetAllAccounts
- 此方法會傳回所有帳戶的清單。此方法使用 Berkeley DB SQL Rich Query,而且只有在連線至遠端 Oracle Blockchain Platform 網路時才能呼叫。
-
GetUserByAccountId
- 此方法會傳回指定帳戶的使用者詳細資訊。
-
GetAccountBalance
- 此方法會傳回指定帳戶的帳戶餘額。
-
GetAllOrgAccounts
- 此方法會傳回屬於指定組織的所有記號帳戶清單。
角色管理方法
-
AddRoleMember
- 此方法會將角色新增至指定的使用者和記號。
-
RemoveRoleMember
- 此方法會從指定的使用者和記號移除角色。
-
GetAccountsByRole
- 此方法會傳回指定角色和記號的所有帳戶清單。
-
GetUsersByRole
- 此方法會傳回指定角色和記號的所有使用者清單。
-
IsInRole
- 此方法指示使用者和記號是否具有指定的角色。
-
RoleCheck
- 此方法會檢查提供的帳戶 ID 是否為任何角色的成員。
-
GetOrgUsersByRole
- 此方法會傳回指定組織中具有指定角色之所有使用者的相關資訊。
-
GetOrgAccountsByRole
- 此方法會傳回指定組織中具有指定角色之所有帳戶的相關資訊。
交易歷史記錄管理的方法
-
GetAccountTransactionHistory
- 此方法會傳回指定帳戶之交易歷史記錄明細的陣列。
-
GetAccountTransactionHistoryWithFilters
- 此方法會傳回指定交易之交易歷史記錄詳細資訊的陣列。此方法只能在連線至遠端 Oracle Blockchain Platform 網路時呼叫。
-
GetSubTransactionsById
- 此方法會傳回指定交易之交易歷史記錄詳細資訊的陣列。
-
GetSubTransactionsByIdWithFilters
- 此方法會傳回指定交易之交易歷史記錄詳細資訊的陣列。
-
GetTransactionById
- 此方法會傳回
Transaction
資產的歷史記錄。 -
DeleteHistoricalTransactions
- 此方法會從狀態資料庫中刪除較舊的交易。
記號行為管理的方法 - 易懂的行為
-
Mint
- 這個方法會提示記號,然後由方法的呼叫程式所擁有。呼叫者必須具有客戶與 minter 角色。可提示的記號數目受規格檔案中
mintable
行為的max_mint_quantity
特性所限制。如果未指定max_mint_quantity
特性,則可以不限數目的記號。數量必須在規格檔案中divisible
行為的decimal
參數所指定的小數值內。只有具備 minter 角色之帳戶的AccountOwner
才能呼叫此方法。 -
GetTotalMintedTokens
- 此方法會傳回提示的記號總數。
-
GetNetTokens
- 此方法會傳回系統中指定記號可用的記號淨數量。網路記號是記號燒錄之後剩餘的記號量。在方程式格式中:網記號 = 薄荷總記號 - 燒錄的總記號。如果沒有記號被燒錄,則淨記號數等於提示的記號總數。
-
GetMaxMintQuantity
- 此方法會傳回記號的最大可移動數量。如果未指定
max_mint_quantity
行為,則預設值為 0,允許任意數目的記號被提示。
權杖行為管理方法 - 可傳輸行為
-
Transfer
- 此方法會將記號從呼叫程式轉移至指定的帳戶。方法的呼叫程式必須有一個帳戶。數量必須在規格檔案中
divisible
行為的decimal
參數所指定的小數值內。只有帳戶的AccountOwner
才能呼叫此方法。 -
BulkTransfer
- 此方法用於將記號從呼叫程式帳戶大量移轉至
flow
物件中指定的帳戶。這個方法的呼叫程式必須已經建立一個帳戶。
權杖行為管理方法 - 可保留行為
-
Hold
- 此方法會代表具有
to_account_id
帳戶之記號的擁有者建立保留。指定公證人帳戶,該帳戶負責完成或解除保留。建立保留時,會保留付款人的指定變數替代字餘額。在保留完成或解除前,無法移轉保留餘額。這個方法的呼叫程式必須已經建立一個帳戶。 -
ExecuteHold
- 此方法會完成記號的保留,將先前保留的指定記號數量移轉給接收者。如果
quantity
值小於實際保留值,則剩餘金額會再提供給記號的原始擁有者使用。只有具備notary
角色的AccountOwner
ID 才能呼叫此方法。 -
ReleaseHold
- 此方法會解除保留記號。移轉未完成,所有保留的變數替代字都可再供原始擁有者使用。
Account Owner
ID 可在指定的時間限制內以notary
角色呼叫此方法,或在指定的時間限制之後由付款人、受款人或公證人呼叫此方法。 -
GetOnHoldIds
- 此方法會傳回指定之使用者和記號的所有保留 ID 清單。
-
GetOnHoldDetailsWithOperationID
- 此方法會傳回指定作業 ID 和記號的保留交易詳細資訊。
-
GetOnHoldBalanceWithOperationID
- 此方法會傳回指定作業 ID 和記號的保留餘額。
權杖行為管理方法 - 可燒錄行為