トークン・タクソノミ・フレームワーク用のスキャフォールド済Goプロジェクト
ブロックチェーン・アプリケーション・ビルダーは、トークン仕様ファイルから入力を受け取り、完全に機能するスキャフォールド済チェーンコード・プロジェクトを生成します。
プロジェクトは、CRUDおよび非CRUDメソッドを含むトークン・ライフサイクル・クラスおよび関数を自動的に生成します。引数の検証、マーシャリング/アンマーシャリングおよび透過的永続性機能はすべて自動的にサポートされます。
トークンに直接関連しない、スキャフォールドされたプロジェクトおよびメソッドの詳細は、「スキャフォールド済Goチェーンコード・プロジェクト」を参照してください。
モデル
透過的永続性機能(または簡略化された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"`
}
コントローラ
メインコントローラは1つのみです。
type Controller struct {
Ctx trxcontext.TrxContext
}
クラス、関数またはファイルはいくつでも作成できますが、メイン・コントローラ・クラスで定義されたメソッドのみが呼出し可能です。その他のメソッドは非表示です。
トークンSDKメソッドを使用して、ビジネス・アプリケーションのカスタム・メソッドを記述できます。
カスタム・メソッドで複数のトークンSDKメソッドを使用する場合は、状態データベースの同じキーと値のペアに影響するメソッドを使用しないでください。
かわりに、次のコード・スニペットに示すように、BulkTransferTokensメソッドを使用して、コール元アカウントから複数の勘定科目に転送します。
BulkTransferTokens(token_id string, flow: []map[string]interface{})
ノート:
状態データベースの同じキーと値のペアに影響を与える可能性がある複数のトークンSDKメソッドをカスタム・メソッドで使用する場合は、トークン・チェーンコードのMVCC最適化を有効にします。詳細は、「MVCCの最適化」を参照してください。自動生成されたトークン・メソッド
ブロックチェーン・アプリケーション・ビルダーは、トークンおよびトークン・ライフサイクルをサポートするメソッドを自動的に生成します。これらのメソッドを使用して、トークンの初期化、ロールとアカウントの管理、およびその他のトークン・ライフサイクル・タスクを追加コーディングなしで行えます。コントローラ・メソッドを呼び出し可能にするには、パブリックである必要があります。パブリック・メソッド名は大文字で始まります。小文字で始まるメソッド名はプライベートです。
アクセス制御管理のメソッド
-
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のみがコールできます。
-
AddTokenAdmin - このメソッドは、ユーザーをチェーンコードの
Token Adminとして追加します。このメソッドは、チェーンコードのToken Adminのみがコールできます。 -
RemoveTokenAdmin - このメソッドは、チェーンコードの
Token Adminであるユーザーを削除します。このメソッドは、チェーンコードのToken Adminのみがコールできます。 -
IsTokenAdmin - このメソッドは、関数のコール元が
Token Adminの場合はブール値trueを返して、それ以外の場合はfalseを返します。このファンクションをコールできるのは、Token Admin、Token Auditor、Org AdminまたはOrg Auditorのみです。 -
GetAllTokenAdmins - このメソッドは、チェーンコードの
Token Adminであるすべてのユーザーのリストを返します。このメソッドは、Token AdminまたはToken Auditorのみがコールできます。 -
AddOrgAdmin - このメソッドは、ユーザーを組織の
Org Adminとして追加します。このメソッドは、チェーンコードのToken Adminまたは指定された組織のOrg Adminのみがコールできます。 -
RemoveOrgAdmin - このメソッドは、組織の
Org Adminであるユーザーを削除します。このメソッドは、チェーンコードのToken Adminまたは指定された組織のOrg Adminのみがコールできます。 -
GetOrgAdmins - このメソッドは、組織の
Org Adminであるすべてのユーザーのリストを返します。このメソッドは、Token Admin、Token Auditor、Org AdminまたはOrg Auditorのみがコールできます。 -
AddTokenAuditor - このメソッドは、ユーザーをチェーンコードの
Token Auditorとして追加します。このメソッドは、チェーンコードのToken Adminのみがコールできます。 -
RemoveTokenAuditor - このメソッドは、チェーンコードの
Token Auditorであるユーザーを削除します。このメソッドは、チェーンコードのToken Adminのみがコールできます。 -
GetTokenAuditors - このメソッドは、チェーンコードのすべての
Token Auditorsを返します。このメソッドは、チェーンコードのToken AdminまたはToken Auditorのみがコールできます。 -
AddOrgAuditor - このメソッドは、チェーンコードの
Org Auditorとしてユーザーを追加します。このメソッドは、チェーンコードのToken AdminまたはOrg Adminのみがコールできます。 -
RemoveOrgAuditor - このメソッドは、チェーンコードの
Org Auditorとしてユーザーを削除します。このメソッドは、チェーンコードのToken AdminまたはOrg Adminのみがコールできます。 -
GetOrgAuditors - このメソッドは、チェーンコードのすべての
Org Auditorsを返します。このメソッドは、Token Admin、Token Auditor、Org AdminまたはOrg Auditorのみがコールできます。
トークン構成管理のメソッド
-
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リッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。
-
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、Token Auditor、Org AdminまたはOrg Auditorのみがコールできます。 -
GetTokenById - このメソッドは、状態データベースに存在する場合、トークン・オブジェクトを返します。このメソッドは、
Token Admin、Token Auditor、Org AdminまたはOrg Auditorのみがコールできます。 -
GetTokenHistory - このメソッドは、指定されたトークンIDのトークン履歴を返します。このメソッドは、
Token Admin、Token Auditor、Org AdminまたはOrg Auditorのみがコールできます。 -
GetAllTokens - このメソッドは、状態データベースに格納されているすべてのトークンを返します。このメソッドは、
Token Admin、Token Auditor、Org AdminまたはOrg Auditorのみがコールできます。 -
GetTokensByName - このメソッドは、指定された名前のすべてのトークン・オブジェクトを返します。このメソッドは、
Token Admin、Token Auditor、Org AdminまたはOrg Auditorのみがコールできます。このメソッドでは、Berkeley DB SQLリッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。
アカウント管理のメソッド
-
CreateAccount - このメソッドは、指定されたユーザーおよびトークンのアカウントを作成します。任意の時点でトークンを持つすべてのユーザーに対してアカウントを作成する必要があります。アカウントは、残高、保留残高およびトランザクション履歴を追跡します。アカウントIDは英数字のセットです。アカウント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リッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。 -
GetUserByAccountId - このメソッドは、指定されたアカウントのユーザー詳細(
org_idおよびuser_id)を返します。このメソッドは、チェーンコードの任意のユーザーがコールできます。 -
GetAccountBalance - このメソッドは、指定されたアカウントおよびトークンの現在の残高を返します。このメソッドは、チェーンコードの
Token Admin、指定された組織のOrg AdminまたはアカウントのAccountOwnerのみがコールできます。 -
GetAllOrgAccounts - このメソッドは、指定された組織に属するすべてのトークン・アカウントのリストを返します。このメソッドは、チェーンコードの
Token Adminまたは指定された組織のOrg Adminのみがコールできます。
-
CreateAccount - このメソッドは、指定されたユーザーおよびトークンのアカウントを作成します。任意の時点でトークンを持つすべてのユーザーに対してアカウントを作成する必要があります。アカウントは、残高、保留残高およびトランザクション履歴を追跡します。アカウントIDは英数字のセットです。アカウントIDは、
oaccount~<token asset name>~が先頭付き、インスタンス所有者およびインスタンスにログインしているユーザーのユーザー名または電子メールID (user_id)と現在のネットワーク組織内のユーザーの会員サービス・プロバイダID (org_id)のハッシュが続きます。このメソッドは、チェーンコードのToken Adminまたは指定された組織のOrg Adminのみがコールできます。 -
AssociateTokenToAccount - このメソッドは、代替可能トークンをアカウントに関連付けます。このメソッドは、チェーンコードの
Token Adminまたは関連する組織のOrg Adminのみがコールできます。 -
GetAccount - このメソッドは、指定されたユーザーおよびトークンのアカウント詳細を返します。このメソッドは、
Token AdminまたはToken Auditor、指定された組織のOrg AdminまたはOrg Auditor、またはアカウントのAccountOwnerのみがコールできます。 -
GetAccountHistory - このメソッドは、指定されたユーザーおよびトークンのアカウント履歴の詳細を返します。このメソッドは、チェーンコードの
Token AdminまたはアカウントのAccountOwnerのみがコールできます。 -
GetAccountOnHoldBalance - このメソッドは、指定されたアカウントおよびトークンの現在の保留残高を返します。このメソッドは、
Token AdminまたはToken Auditor、指定された組織のOrg AdminまたはOrg Auditor、または指定されたアカウント所有者によってのみコールできます。 -
GetAllAccounts - このメソッドは、すべてのアカウントのリストを返します。このメソッドは、チェーンコードの
Token AdminまたはToken Auditorのみがコールできます。このメソッドでは、Berkeley DB SQLリッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。 -
GetUserByAccountId - このメソッドは、指定されたアカウントのユーザー詳細(
org_idおよびuser_id)を返します。このメソッドは、Token AdminまたはToken Auditor、あるいは指定された組織のOrg AdminまたはOrg Auditorによってのみコールできます。 -
GetAccountBalance - このメソッドは、指定されたアカウントおよびトークンの現在の残高を返します。このメソッドは、
Token AdminまたはToken Auditor、指定された組織のOrg AdminまたはOrg Auditor、または指定されたアカウント所有者によってのみコールできます。 -
GetAllOrgAccounts - このメソッドは、指定された組織に属するすべてのトークン・アカウントのリストを返します。このメソッドは、
Token AdminまたはToken Auditor、あるいは指定された組織のOrg AdminまたはOrg Auditorによってのみコールできます。
ロール管理のメソッド
-
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のみがコールできます。 -
GetOrgAccountsByRole - このメソッドは、指定された組織内の指定されたロールを持つすべてのアカウントに関する情報を返します。このメソッドは、チェーンコードの
Token Adminまたは指定された組織のOrg Adminのみがコールできます。 -
GetOrgUsersByRole - このメソッドは、指定された組織内の指定されたロールを持つすべてのユーザーに関する情報を返します。このメソッドは、チェーンコードの
Token Adminまたは指定された組織のOrg Adminのみがコールできます。
-
AddRole - このメソッドは、指定されたユーザーおよびトークンにロールを追加します。このメソッドは、チェーンコードの
Token Adminまたは指定されたロールも持つ指定された組織のOrg Adminのみがコールできます。 -
RemoveRole - このメソッドは、指定されたユーザーおよびトークンからロールを削除します。このメソッドは、チェーンコードの
Token Adminまたは指定されたロールも持つ指定された組織のOrg Adminのみがコールできます。 -
GetAccountsByRole - このメソッドは、指定されたロールおよびトークンのすべてのアカウントIDのリストを返します。このメソッドは、
Token AdminまたはToken Auditorのみがコールできます。 -
GetAccountsByUser - このメソッドは、指定された組織IDとユーザーIDのすべてのアカウントIDのリストを返します。このメソッドは、指定された組織の
Token Admin、Token Auditor、Org AdminまたはOrg Auditor、またはパラメータで指定されたAccount Ownerのみがコールできます。 -
GetUsersByRole - このメソッドは、指定されたロールおよびトークンのすべてのユーザーのリストを返します。このメソッドは、
Token AdminまたはToken Auditorのみがコールできます。 -
IsInRole - このメソッドは、ユーザーとトークンに指定したロールがあるかどうかを示すブール値を返します。このメソッドは、
Token AdminまたはToken Auditor、指定された組織のOrg AdminまたはOrg Auditor、または指定されたアカウント所有者によってのみコールできます。 -
GetOrgAccountsByRole - このメソッドは、指定された組織内の指定されたロールを持つすべてのアカウントに関する情報を返します。このメソッドは、
Token Admin、Token Auditor、Org AdminまたはOrg Auditorのみがコールできます。 -
GetOrgUsersByRole - このメソッドは、指定された組織内の指定されたロールを持つすべてのユーザーに関する情報を返します。このメソッドは、
Token AdminまたはToken Auditor、あるいは指定された組織のOrg AdminまたはOrg Auditorによってのみコールできます。
トランザクション履歴管理のメソッド
-
GetAccountTransactionHistory - このメソッドは、指定されたユーザーおよびトークンのアカウント・トランザクション履歴詳細の配列を返します。このメソッドは、チェーンコードの
Token Admin、指定された組織のOrg AdminまたはアカウントのAccountOwnerのみがコールできます。 -
GetAccountTransactionHistoryWithFilters - このメソッドは、指定されたユーザーおよびトークンのアカウント・トランザクション履歴詳細の配列を返します。このメソッドは、チェーンコードの
Token Admin、指定された組織のOrg AdminまたはアカウントのAccountOwnerのみがコールできます。このメソッドは、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。 -
GetSubTransactionsById - このメソッドは、指定されたトランザクションのサブトランザクション履歴詳細の配列を返します。
-
GetSubTransactionsByIdWithFilters - このメソッドは、指定されたトランザクションのサブトランザクション履歴詳細の配列を返します。
-
GetTransactionById - このメソッドは、
Transactionアセットの履歴を返します。 -
DeleteHistoricalTransactions - このメソッドは、状態データベースから古いトランザクションを削除します。
-
GetAccountTransactionHistoryWithFiltersFromRichHistDB func (t *Controller) GetAccountTransactionHistoryWithFiltersFromRichHistDB(token_id string, org_id string, user_id string, custom_endPoint string, bearer_token string, filters ...account.AccountHistoryFilters) (interface{}, error) { account_id, err := t.Ctx.Account.GenerateAccountId(token_id, org_id, user_id) if err != nil { return nil, err } auth, err := t.Ctx.Auth.CheckAuthorization("Account.GetAccountTransactionHistoryWithFilters", "TOKEN", map[string]string{"account_id": account_id}) if err != nil && !auth { return nil, fmt.Errorf("error in authorizing the caller %s", err.Error()) } // sample format of filter: []string{"3", "", "2022-01-16T15:16:36+00:00", "2022-01-17T15:16:36+00:00"} transactionArray, err := t.Ctx.Account.GetAccountTransactionHistoryWithFiltersFromRichHistDB(account_id, org_id, user_id, custom_endPoint, bearer_token, filters...) return transactionArray, err }-
GetAccountTransactionHistory - このメソッドは、指定されたユーザーおよびトークンのアカウント・トランザクション履歴詳細の配列を返します。このメソッドは、指定された組織の
Token AdminまたはToken Auditor、Org AdminまたはOrg Auditor、または指定されたアカウント所有者によってのみコールできます。 -
GetAccountTransactionHistoryWithFilters - このメソッドは、指定されたユーザーおよびトークンのアカウント・トランザクション履歴詳細のフィルタされた配列を返します。このメソッドは、指定された組織の
Token AdminまたはToken Auditor、Org AdminまたはOrg Auditor、または指定されたアカウント所有者によってのみコールできます。 -
GetSubTransactionsById - このメソッドは、指定されたトランザクションのサブトランザクション履歴詳細の配列を返します。このメソッドは、トランザクションをコールした
Token Admin、Token AuditorまたはAccountOwnerによってのみコールできます。 -
GetSubTransactionsByIdWithFilters - このメソッドは、指定されたトランザクションのサブトランザクション履歴詳細の配列を返します。
-
GetTransactionById - このメソッドは、
Transactionアセットの履歴を返します。このメソッドは、指定された組織のToken AdminまたはToken Auditor、Org AdminまたはOrg Auditor、またはトランザクション参加者(送信者、受信者、公証人)によってのみコールできます。 -
DeleteHistoricalTransactions - このメソッドは、状態データベースから古いトランザクションを削除します。
トークン動作管理のメソッド- ミント可能動作
-
IssueTokens - このメソッドはトークンをミントし、その後、メソッドのコール元がそれらのトークンを所有します。コール元には、アカウントとミンターのロールが必要です。ミント可能なトークンの数は、仕様ファイルの
mintable動作のmax_mint_quantityプロパティによって制限されます。max_mint_quantityプロパティを指定しない場合、無制限の数のトークンをミントできます。数量は、仕様ファイルのdivisible動作のdecimalパラメータで指定された10進数値内にする必要があります。このメソッドは、ミンター・ロールを持つアカウントのAccountOwnerのみがコールできます。 -
GetTotalMintedTokens - このメソッドは、指定されたトークンのミントされたトークンの合計数を返します。このメソッドは、チェーンコードの
Token AdminまたはOrg Adminのみがコールできます。 -
GetNetTokens - このメソッドは、指定されたトークンに対してシステムで使用可能なトークンの合計正味数を返します。正味トークン合計は、トークンのバーン後に残っているトークンの量です。等式では、正味トークン = ミントされたトークンの合計 - バーンされたトークンの合計です。トークンがバーンされていない場合、正味トークン数は、ミントされたトークンの合計と等しくなります。このメソッドは、チェーンコードの
Token AdminまたはOrg Adminのみがコールできます。
-
RequestMint - このメソッドは、指定された量のトークンを作成するために、ミニター公証書にリクエストを送信するためにミニターから呼び出すことができます。
-
ApproveMint - このメソッドは、ミント・リクエストを承認するためにミニター公証人によってコールできます。
-
RejectMint - このメソッドは、ミント・リクエストを拒否するためにミニター公証人によってコールできます。
-
IssueTokens - このメソッドはトークンをミントし、その後、メソッドのコール元がそれらのトークンを所有します。
-
GetTotalMintedTokens - このメソッドは、指定されたトークンのミントされたトークンの合計数を返します。このメソッドは、
Token Admin、Token Auditor、Org AdminまたはOrg Auditorのみがコールできます。 -
GetNetTokens - このメソッドは、指定されたトークンに対してシステムで使用可能なトークンの合計正味数を返します。正味トークン合計は、トークンのバーン後に残っているトークンの量です。等式では、正味トークン = ミントされたトークンの合計 - バーンされたトークンの合計です。トークンがバーンされていない場合、正味トークン数は、ミントされたトークンの合計と等しくなります。このメソッドは、
Token Admin、Token Auditor、Org AdminまたはOrg Auditorのみがコールできます。
トークン動作管理のメソッド- 転送可能動作
-
TransferTokens - このメソッドは、トークンをコール元から指定されたアカウントに転送します。メソッドのコール元にはアカウントが必要です。数量は、仕様ファイルの
divisible動作のdecimalパラメータで指定された10進数値内にする必要があります。このメソッドは、アカウントのAccountOwnerのみがコールできます。 -
BulkTransferTokens - このメソッドは、トークンを呼出し元アカウントから
flowオブジェクトで指定されたアカウントに一括で転送します。The quantities must be within the decimal values specified by thedecimalparameter of thedivisiblebehavior in the specification file.The caller of this method must have an account already created.このメソッドは、アカウントのAccountOwnerのみがコールできます。
-
TransferTokens - このメソッドは、トークンをコール元から指定されたアカウントに転送します。
-
BulkTransferTokens - このメソッドは、トークンを呼出し元アカウントから
flowオブジェクトで指定されたアカウントに一括で転送します。The quantities must be within the decimal values specified by thedecimalparameter of thedivisiblebehavior in the specification file.The caller of this method must have an account already created.このメソッドは、アカウントのAccountOwnerのみがコールできます。
トークン動作管理メソッド- 保留可能動作
-
HoldTokens - このメソッドは、
to_account_idアカウントを持つトークンの所有者のかわりに保留を作成します。保留の完了または解除を担当する公証人アカウントが指定されます。保留が作成されると、支払者から指定されたトークン残高が保留になります。保留残高は、保留が完了または解除されるまで転送できません。このメソッドのコール元には、すでにアカウントが作成されている必要があります。このメソッドは、アカウントのAccountOwnerのみがコールできます。 -
ExecuteHoldTokens - このメソッドはトークンの保留を完了します。トークン所有者が以前に保留にした数量のトークンが受信者に転送されます。
quantity値が実際の保留値より小さい場合、残りはトークンの元の所有者が再度使用できます。このメソッドは、notaryロールを持つAccountOwnerIDのみがコールできます。保留は公証人のみが完了できます。 -
ReleaseHoldTokens - このメソッドは、トークンの保留を解除します。転送は行われず、すべての保留トークンは元の所有者が再度使用できます。このメソッドは、指定された期限内は
notaryロールを持つAccount OwnerIDが、指定された期限後は支払者、受取人または公証人がコールできます。 -
GetOnHoldIds - このメソッドは、指定されたアカウントのすべての保留IDのリストを返します。このメソッドは、チェーンコードの
Token Admin、指定された組織のOrg AdminまたはアカウントのAccount Ownerがコールできます。 -
GetOnHoldDetailsWithOperationId - このメソッドは、指定された操作IDおよびトークンの保留トランザクション詳細を返します。このメソッドは、だれでも呼び出すことができます。
-
GetOnHoldBalanceWithOperationId - このメソッドは、指定された操作IDおよびトークンの保留残高を返します。このメソッドは、だれでも呼び出すことができます。
-
HoldTokens - このメソッドは、
to_account_idアカウントを持つトークンの所有者のかわりに保留を作成します。 -
ExecuteHoldTokens - このメソッドはトークンの保留を完了します。トークン所有者が以前に保留にした数量のトークンが受信者に転送されます。
quantity値が実際の保留値より小さい場合、残りはトークンの元の所有者が再度使用できます。このメソッドは、notaryロールを持つAccountOwnerIDのみがコールできます。保留は公証人のみが完了できます。 -
ReleaseHoldTokens - このメソッドは、トークンの保留を解除します。転送は行われず、すべての保留トークンは元の所有者が再度使用できます。このメソッドは、指定された期限内は
notaryロールを持つAccount OwnerIDが、指定された期限後は支払者、受取人または公証人がコールできます。 -
GetOnHoldIds - このメソッドは、指定されたアカウントのすべての保留IDのリストを返します。このメソッドは、
Token AdminまたはToken Auditor、指定された組織のOrg AdminまたはOrg Auditorまたは指定されたアカウント所有者がコールできます。 -
GetOnHoldDetailsWithOperationId - このメソッドは、指定された操作IDおよびトークンの保留トランザクション詳細を返します。このメソッドは、
Token Admin、Token Auditorまたはトランザクション参加者(送信者、受信者、公証人)のみがコールできます。 -
GetOnHoldBalanceWithOperationId - このメソッドは、指定された操作IDおよびトークンの保留残高を返します。このメソッドは、
Token Admin、Token Auditorまたはトランザクション参加者(送信者、受信者、公証人)のみがコールできます。
トークン動作管理のメソッド- バーン可能動作
-
RequestBurn - このメソッドは、バーナーからコールして、指定した量のトークンを破棄するリクエストをバーナー公証書に送信できます。このトークンは、使用可能な残高以下である必要があります。バーン・リクエストが開始されると、指定された金額が使用可能な残高から即座に差し引かれ、
onhold_burn_balanceフィールドに追加されます。リクエストが承認されると、トークンは書き込まれます。リクエストが拒否された場合、トークンはonhold_burn_balanceフィールドから使用可能な残高に返されます。 -
ApproveBurn - このメソッドは、書き込み要求を承認するためにバーナー公証書によって呼び出すことができます。
-
RejectBurn - このメソッドは、書き込み要求を拒否するためにバーナー公証書によって呼び出すことができます。
-
GetAccountOnHoldBurnBalance - このメソッドは、指定されたユーザーの保留バーン・バランスを返します。このメソッドは、
Token Admin、Token Auditor、Org Admin、Org Auditorまたはアカウント所有者によってのみコールできます。 -
BurnTokens - このメソッドは、トランザクション・コール元のアカウントからトークンを非アクティブ化またはバーンします。
カスタム・メソッド
トークンSDKメソッドを使用して、ビジネス・アプリケーションのカスタム・メソッドを記述できます。
トークンSDKメソッドを使用する場合は、必ず戻り値を追跡してください。また、二重支出を回避するために、状態データベース内の同じキーと値のペアに作用する複数の非同期関数を組み合せないでください。かわりに、BulkTransferTokensメソッドを使用して、1つのメソッドで複数の転送を行います。
次の例は、カスタム・メソッドでトークン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であるユーザーを削除します。 -
IsUserTokenAdmin - このメソッドは、関数のコール元が
Token Adminの場合、ブール値trueを返します。それ以外の場合、このメソッドはfalseを返します。 -
GetAllAdmins - このメソッドは、トークン・チェーンコードの
Token Adminであるすべてのユーザーのリストを返します。 -
GetAllAdminUsers - このメソッドは、トークン・チェーンコードの
Token Adminであるすべてのユーザーのリストを返します。 -
CheckAuthorization - このメソッドを使用して、チェーンコードにアクセス制御を追加します。自動生成されたトークン・メソッドの多くはアクセス制御を使用します。SDKレシーバとアクセス制御があるメソッドの間のマッピングは、
oChainUtil.goファイルに記述されています。独自のアクセス制御を使用したり、アクセス制御を無効にするには、自動生成されたコントローラ・メソッドおよびカスタム・メソッドからアクセス制御コードを削除します。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"} -
AddOrgAdmin - このメソッドは、ユーザーを組織の
Org Adminとして追加します。 -
RemoveOrgAdmin - このメソッドは、組織の
Org Adminであるユーザーを削除します。 -
GetOrgAdmins - このメソッドは、組織の
Org Adminであるすべてのユーザーのリストを返します。
-
AddAdmin - このメソッドは、トークン・チェーンコードの
Token Adminとしてユーザーを追加します。 -
RemoveAdmin - このメソッドは、トークン・チェーンコードの
Token Adminであるユーザーを削除します。 -
IsUserTokenAdmin - このメソッドは、関数のコール元が
Token Adminの場合、ブール値trueを返します。それ以外の場合、このメソッドはfalseを返します。 -
GetAllAdmins - このメソッドは、トークン・チェーンコードの
Token Adminであるすべてのユーザーのリストを返します。 -
GetAllAdminUsers - このメソッドは、トークン・チェーンコードの
Token Adminであるすべてのユーザーのリストを返します。 -
CheckAuthorization - このメソッドを使用して、チェーンコードにアクセス制御を追加します。自動生成されたトークン・メソッドの多くはアクセス制御を使用します。SDKレシーバとアクセス制御があるメソッドの間のマッピングは、
oChainUtil.goファイルに記述されています。独自のアクセス制御を使用したり、アクセス制御を無効にするには、自動生成されたコントローラ・メソッドおよびカスタム・メソッドからアクセス制御コードを削除します。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"} -
AddOrgAdmin - このメソッドは、ユーザーを組織の
Org Adminとして追加します。 -
RemoveOrgAdmin - このメソッドは、組織の
Org Adminであるユーザーを削除します。 -
GetOrgAdmins - このメソッドは、組織の
Org Adminであるすべてのユーザーのリストを返します。 -
AddTokenAuditor - このメソッドは、ユーザーをチェーンコードの
Token Auditorとして追加します。 -
RemoveTokenAuditor - このメソッドは、チェーンコードの
Token Auditorであるユーザーを削除します。 -
GetTokenAuditors - このメソッドは、チェーンコードのすべての
Token Auditorsを返します。 -
AddOrgAuditor - このメソッドは、チェーンコードの
Org Auditorとしてユーザーを追加します。 -
RemoveOrgAuditor - このメソッドは、チェーンコードの
Org Auditorとしてユーザーを削除します。 -
GetOrgAuditors - このメソッドは、チェーンコードのすべての
Org Auditorsを返します。
トークン構成管理のメソッド
-
Save - このメソッドはトークンを作成し、そのプロパティを状態データベースに保存します。
-
Update - このメソッドは、トークン・プロパティを更新します。トークン・アセットの作成後は、
token_desc値とそのカスタム・プロパティのみを更新できます。 -
GetTokenDecimals - このメソッドは、フラクショナル・トークンで使用可能な小数点以下の桁数を返します。
divisible動作が指定されていない場合、デフォルト値は0です。 -
Get - このメソッドは、状態データベースに存在する場合、トークン・オブジェクトを返します。このメソッドは、トークン・チェーンコードの
Token Adminのみがコールできます。 -
History - このメソッドは、指定されたトークンIDのトークン履歴を返します。
-
GetAllTokens - このメソッドは、状態データベースに保存されているすべてのトークン・アセットを返します。このメソッドでは、Berkeley DB SQLリッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。
-
GetTokensByName - このメソッドは、指定された名前のすべてのトークン・アセットを返します。このメソッドでは、Berkeley DB SQLリッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。
-
IsTokenType - このメソッドは、指定されたトークンIDのトークン・アセットが存在するかどうかをテストします。
-
GetByRange - このメソッドは、fabricの
getStateByRangeメソッドを内部的にコールします。指定されたIDを持つアセットが台帳から返されても、このメソッドはアセットをコール元のアセット・タイプにキャストします。
アカウント管理のメソッド
-
GenerateAccountId - このメソッドは、アカウントIDを返します。アカウントIDは英数字のセットです。アカウントIDは、
oaccount~<token asset name>~が先頭に付き、インスタンス所有者およびインスタンスにログインしているユーザーのユーザー名または電子メールID (user_id)、現在のネットワーク組織内のユーザーの会員サービス・プロバイダID (org_id)および一意のトークンID (token_id)のハッシュが続きます。 -
CreateAccount - このメソッドは、指定されたユーザーおよびトークンのアカウントを作成します。いずれかの時点でトークンを保有するすべてのユーザーはアカウントを持っている必要があります。アカウントは、ユーザーの残高、保留残高およびトランザクション履歴を追跡します。アカウントIDは英数字のセットです。アカウントIDは、
oaccount~<token asset name>~が先頭付き、インスタンス所有者およびインスタンスにログインしているユーザーのユーザー名または電子メールID (user_id)と現在のネットワーク組織内のユーザーの会員サービス・プロバイダID (org_id)のハッシュが続きます。このメソッドは、チェーンコードのToken Adminのみがコールできます。 -
AssociateToken - このメソッドは、代替可能トークンをアカウントに関連付けます。このメソッドは、チェーンコードの
Token Adminのみがコールできます。 -
GetAccountWithStatus - このメソッドは、指定されたアカウントのアカウントの詳細(アカウント・ステータスを含む)を返します。
-
GetAccount - このメソッドは、指定されたアカウントのアカウントの詳細を返します。
-
GetAccountHistory - このメソッドは、指定されたアカウントのアカウント履歴詳細の配列を返します。
-
GetAccountOnHoldBalance - このメソッドは、指定されたアカウントの保留残高を返します。
-
GetAllAccounts - このメソッドは、すべてのアカウントのリストを返します。このメソッドでは、Berkeley DB SQLリッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。
-
GetUserByAccountId - このメソッドは、指定されたアカウントのユーザー詳細を返します。
-
GetAccountBalance - このメソッドは、指定されたアカウントのアカウント残高を返します。
-
GetAllOrgAccounts - このメソッドは、指定された組織に属するすべてのトークン・アカウントのリストを返します。
ロール管理のメソッド
-
AddRoleMember - このメソッドは、指定されたユーザーおよびトークンにロールを追加します。
-
RemoveRoleMember - このメソッドは、指定されたユーザーおよびトークンからロールを削除します。
-
GetAccountsByRole - このメソッドは、指定されたロールおよびトークンのすべてのアカウントのリストを返します。
-
GetUsersByRole - このメソッドは、指定されたロールおよびトークンのすべてのユーザーのリストを返します。
-
IsInRole - このメソッドは、ユーザーおよびトークンに指定されたロールがあるかどうかを示します。
-
GetOrgAccountsByRole - このメソッドは、指定された組織内の指定されたロールを持つすべてのアカウントに関する情報を返します。
-
GetOrgUsersByRole - このメソッドは、指定された組織内の指定されたロールを持つすべてのユーザーに関する情報を返します。
-
RoleCheck - このメソッドは、指定されたアカウントIDがいずれかのロールのメンバーかどうかをチェックします。
トランザクション履歴管理のメソッド
-
GetAccountTransactionHistory - このメソッドは、指定されたアカウントのトランザクション履歴詳細の配列を返します。
-
GetAccountTransactionHistoryWithFilters - このメソッドは、指定されたトランザクションのトランザクション履歴詳細の配列を返します。このメソッドは、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。
-
GetSubTransactionsById - このメソッドは、指定されたトランザクションのトランザクション履歴詳細の配列を返します。
-
GetSubTransactionsByIdWithFilters - このメソッドは、指定されたトランザクションのトランザクション履歴詳細の配列を返します。
-
GetTransactionById - このメソッドは、
Transactionアセットの履歴を返します。 -
DeleteHistoricalTransactions - このメソッドは、状態データベースから古いトランザクションを削除します。
トークン動作管理のメソッド- ミント可能動作
-
Mint - このメソッドはトークンをミントし、その後、メソッドのコール元がそれらのトークンを所有します。コール元には、アカウントとミンターのロールが必要です。ミント可能なトークンの数は、仕様ファイルの
mintable動作のmax_mint_quantityプロパティによって制限されます。max_mint_quantityプロパティを指定しない場合、無制限の数のトークンをミントできます。数量は、仕様ファイルのdivisible動作のdecimalパラメータで指定された10進数値内にする必要があります。このメソッドは、ミンター・ロールを持つアカウントのAccountOwnerのみがコールできます。 -
GetTotalMintedTokens - このメソッドは、ミントされたトークンの合計数を返します。
-
GetNetTokens - このメソッドは、指定されたトークンに対してシステムで使用可能なトークンの正味数量を返します。正味トークンは、トークンのバーン後に残存するトークンの数量です。等式では、正味トークン = ミントされたトークンの合計 - バーンされたトークンの合計です。トークンがバーンされていない場合、正味トークン数は、ミントされたトークンの合計と等しくなります。
-
GetMaxMintQuantity - このメソッドは、トークンの最大ミント可能量を返します。
max_mint_quantity動作が指定されていない場合、デフォルト値は0で、任意の数のトークンをミントできます。
トークン動作管理のメソッド- 転送可能動作
-
Transfer - このメソッドは、トークンをコール元から指定されたアカウントに転送します。メソッドのコール元にはアカウントが必要です。数量は、仕様ファイルの
divisible動作のdecimalパラメータで指定された10進数値内にする必要があります。このメソッドは、アカウントのAccountOwnerのみがコールできます。 -
BulkTransfer - このメソッドは、トークンを呼出し元アカウントから
flowオブジェクトで指定されたアカウントに一括で転送します。このメソッドのコール元には、すでにアカウントが作成されている必要があります。
トークン動作管理メソッド- 保留可能動作
-
Hold - このメソッドは、
to_account_idアカウントを持つトークンの所有者のかわりに保留を作成します。保留の完了または解除を担当する公証人アカウントが指定されます。保留が作成されると、支払者から指定されたトークン残高が保留になります。保留残高は、保留が完了または解除されるまで転送できません。このメソッドのコール元には、すでにアカウントが作成されている必要があります。 -
ExecuteHold - このメソッドはトークンの保留を完了し、以前に保留にされていたトークンの指定数量を受信者に転送します。
quantity値が実際の保留値より小さい場合、残りはトークンの元の所有者が再度使用できます。このメソッドは、notaryロールを持つAccountOwnerIDのみがコールできます。 -
ReleaseHold - このメソッドは、トークンの保留を解除します。転送は行われず、すべての保留トークンは元の所有者が再度使用できます。このメソッドは、指定された期限内は
notaryロールを持つAccount OwnerIDが、指定された期限後は支払者、受取人または公証人がコールできます。 -
GetOnHoldIds - このメソッドは、指定されたユーザーおよびトークンのすべての保留IDのリストを返します。
-
GetOnHoldDetailsWithOperationID - このメソッドは、指定された操作IDおよびトークンの保留トランザクション詳細を返します。
-
GetOnHoldBalanceWithOperationID - このメソッドは、指定された操作IDおよびトークンの保留残高を返します。
トークン動作管理のメソッド- バーン可能動作